在OEL6或者RHEL6中, 和之前的5版本都有所变化。
步骤三:确认哪些块设备需要udev绑定
主要的变化是:
1. scsi_id的命令语法发生了变化,scsi_id -g -u -s这样的命令不再有效。
2. udevtest命令已经没有了,整合到了udevadm中。
根据网上提供的方法实现了在Linux 6上使用UDEV。
步骤一:首先确认是 Linux 6.0以上版本
[root@oel6 ~]# cat /etc/issue
Oracle Linux Server release 6.3
Kernel \r on an \m
步骤二:添加记录到/etc/scsi_id.config
[root@oel6 ~]#
[root@oel6 ~]# echo "options=--whitelisted --replace-whitespace" >> /etc/scsi_id.config
[root@oel6 ~]#
[root@oel6 ~]#
步骤三:确认哪些块设备需要udev绑定
[root@oel6 ~]# cd /dev/
[root@oel6 dev]#
[root@oel6 dev]# ls -l sd*
brw-rw----. 1 root disk 8, 0 Aug 18 23:15 sda
brw-rw----. 1 root disk 8, 1 Aug 18 23:15 sda1
brw-rw----. 1 root disk 8, 2 Aug 18 23:15 sda2
brw-rw----. 1 root disk 8, 16 Aug 18 23:15 sdb
brw-rw----. 1 root disk 8, 32 Aug 18 23:15 sdc
brw-rw----. 1 root disk 8, 48 Aug 18 23:15 sdd
[root@oel6 dev]#
步骤四:运行脚本
[root@oel6 ~]# for i in b c d e f ;
> do
> echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
> done
[root@oel6 ~]#
[root@oel6 ~]#
上面的语句纯文本格式
for i in b c d e f ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done
步骤五:重启和验证
[root@oel6 ~]# /sbin/start_udev
Starting udev: [ OK ]
[root@oel6 ~]#
[root@oel6 ~]#
[root@oel6 ~]# cd /dev/
[root@oel6 dev]#
[root@oel6 dev]#
[root@oel6 dev]# ls -al asm-disk*
brw-rw----. 1 grid asmadmin 8, 16 Aug 18 23:41 asm-diskb
brw-rw----. 1 grid asmadmin 8, 32 Aug 18 23:41 asm-diskc
brw-rw----. 1 grid asmadmin 8, 48 Aug 18 23:41 asm-diskd
[root@oel6 dev]#
[root@oel6 dev]#
在这步大家要注意啊,要有的 grid用户和相应的asmadmin群组,要不然启动后还是root用户的
如果大家还在使用OS5的版本,可以使用下面的脚本
for i in b c d e f g h i j k ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""
done