1. 生成规则文件
touch /etc/udev/rules.d/99-oracle-asmdevices.rules
或者
touch /usr/lib/udev/rules.d/99-oracle-asmdevices.rules
2. 生成规则
没有对sdb进行分区,执行如下shell脚本,
for i in b ;
do
echo “KERNEL==/”sd*/”, SUBSYSTEM==/”block/”, PROGRAM==/”/usr/lib/udev/scsi_id –whitelisted –replace-whitespace –device=/dev//$name/”, RESULT==/”`/usr/lib/udev/scsi_id –whitelisted –replace-whitespace –device=/dev/sd$i`/”, SYMLINK+=/”asm-disk$i/”, OWNER=/”grid/”, GROUP=/”asmadmin/”, MODE=/”0660/””
done
对sdb 进行了分区,执行如下shell脚本,
for i in b1 b2
do
echo “KERNEL==/”sd$i/”, SUBSYSTEM==/”block/”, PROGRAM==/”/usr/lib/udev/scsi_id –whitelisted –replace-whitespace –device=/dev//$parent/”, RESULT==/”`/usr/lib/udev/scsi_id –whitelisted –replace-whitespace –device=/dev/sd${i:0:1}`/”, SYMLINK+=/”asm-disk$i/”, OWNER=/”grid/”, GROUP=/”asmadmin/”, MODE=/”0660/””
done;
注意未分区用 $name
分区用 $parent
3. 将结果复制到 99-oracle-asmdevices.rules
将第二步的输出粘贴入 99-oracle-asmdevices.rules 这个文件
KERNEL==”sd*”, SUBSYSTEM==”block”, PROGRAM==”/usr/lib/udev/scsi_id –whitelisted –replace-whitespace –device=/dev/$name”, RESULT==”36000c2948ef9d9e4a7937bfc65888bc8″, NAME=”asm-diskb”, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″
Load updated block device partition tables.
# /sbin/partprobe /dev/sdb
备注:
获取RESULT
在 Linux 7下,可以使用如下命令:
# /usr/lib/udev/scsi_id -g -u /dev/sdb
在 Linux 6下,可以使用如下命令:
# /sbin/scsi_id -g -u /dev/sdb
在 Linux 5下,可以使用如下命令:
# /sbin/scsi_id -g -u -s /block/sdb/sdb
4. 用udevadm进行测试,注意udevadm命令不接受/dev/sdc这样的挂载设备名,必须是使用/sys/block/sdb这样的原始设备名。
udevadm test /sys/block/sdb
udevadm info –query=all –path=/sys/block/sdb
udevadm info –query=all –name=asm-diskb
5. 启动udev
/usr/sbin/udevadm control –reload-rules
systemctl status systemd-udevd.service
systemctl enable systemd-udevd.service
6. 检查设备是否正确绑定
# ls -l /dev/asm* /dev/sdb
lrwxrwxrwx 1 root root 3 Nov 29 18:17 /dev/asm-diskb -> sdb
brw-rw—- 1 grid asmadmin 8, 16 Nov 29 18:17 /dev/sdb
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/1774.html