在RedHat 7中,很多命令发生了改变,其中使用udev对磁盘绑定的命令也发生了变更,不再使用start_udev,而是改为了udevadm。而且scsi_id命令所在的包也由udev变成了systemd里直接包含。本篇就结合rhel6和rhel7说下两者的不同。
一、编辑/etc/scsi_id.config文件
如果想要配置,具体配置如下:
# rhel6下
[root@RAC01 ~]# vi /etc/scsi_id.config
options=--whitelisted --replace-whitespace
# rhel7下
[root@raca1 ~]# cat /etc/scsi_id.config
options=-g
二、查看磁盘的uuid
rhel6和rhel7下会有不同,具体操作如下:
# rhel6
[root@RAC01 ~]# scsi_id --whitelisted --replace-whitespace --device=/dev/sdb
360000970000498700082533030374536
# rhel7
[root@raca1 ~]# /usr/lib/udev/scsi_id -g -u -d /dev/sda2
3600508b1001c07f01a760347579105b5
rhel6下本地盘会识别不出来,rhel7下分区也可以识别出来。
三、配置 rule文件
# rhel6下
[root@RAC01 ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360000970000498700082533030374536",NAME="asm-disk1",OWNER="grid",GROUP="dba",MODE="0660"
# rhel7下
[root@raca1 ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="3600508b1001c07f01a760347579105b5", SYMLINK+="asm-ocrdisk1", OWNER="grid", GROUP="dba", MODE="0660"
四、触发测试
# rhel6
[root@rac01 ~]# start_udev
Starting udev: [ OK ]
# rhel7
[root@raca1 ~] /sbin/partprobe /dev/sdb2
[root@raca1 ~] /sbin/udevadm test /block/sdb/sdb2
两者之间都使用如下命令触发
/sbin/udevadm control --reload-rules
也可以逐个块触发:
udevadm trigger --subsystem-match=block --sysname-match=$i --verbose
配置完成后,可以使用命了ls -l /etc/asm*进行查看生成的别名文件。