本文共 4174 字,大约阅读时间需要 13 分钟。
环境是RHEL5,该脚本会自动生成udev rule规则文件:
for i in b c d e f g h i j k ;doecho "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
以上脚本在Linux 5上都是通用的, 但是有人反映在redhat/Oracle Linux 6以上版本中该脚本失效了。
这是因为:
在OEL6或者RHEL6中,这一切都有所变化。
主要的变化是:
1. scsi_id的命令语法发生了变化,scsi_id -g -u -s这样的命令不再有效。2. udevtest命令已经没有了,整合到了udevadm中。
下面我提供改良后的脚本,可以在redhat/Oracle Linux 6上生成正确的udev rule 规则文件:
1.#首先确认是 Linux 6.0以上版本[root@vrh6 dev]# cat /etc/issue Oracle Linux Server release 6.2Kernel \r on an \m2.#添加记录到/etc/scsi_id.configecho "options=--whitelisted --replace-whitespace" >> /etc/scsi_id.config3. #确认哪些块设备需要udev绑定[root@vrh6 dev]# ls -l sd*brw-rw----. 1 root disk 8, 0 Jun 30 09:29 sdabrw-rw----. 1 root disk 8, 1 Jun 30 09:29 sda1brw-rw----. 1 root disk 8, 2 Jun 30 09:29 sda2brw-rw----. 1 root disk 8, 16 Jun 30 09:29 sdbbrw-rw----. 1 root disk 8, 32 Jun 30 09:29 sdcbrw-rw----. 1 root disk 8, 48 Jun 30 09:29 sddbrw-rw----. 1 root disk 8, 64 Jun 30 09:29 sdebrw-rw----. 1 root disk 8, 80 Jun 30 09:29 sdf例如在本实例中 sdb-> sdf的块设备需要绑定4. 将 b->f的编号放入for 循环中,例如:# AUTO UDEV RULE BY Maclean Liu 2012/06/30for i in b c d e f ;doecho "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\"" done就会生成sdb->sdf 设备绑定的RULE,在将这些RULE写入到/etc/udev/rules.d/99-oracle-asmdevices.rules中也可以直接利用以下脚本 ,写出RULE到99-oracle-asmdevices.rules# AUTO UDEV RULE BY Maclean Liu 2012/06/30for i in b c d e f ;doecho "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.rulesdone5. 之后运行用root运行/sbin/start_udev 即可
实际运行示例:
[root@vrh6 dev]# echo "options=--whitelisted --replace-whitespace" >> /etc/scsi_id.config[root@vrh6 dev]# 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@vrh6 dev]# [root@vrh6 dev]# cat /etc/udev/rules.d/99-oracle-asmdevices.rulesKERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB09cadb31-cfbea255", NAME="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB5f097069-59efb82f", NAME="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB4e1a81c0-20478bc4", NAME="asm-diskd", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBdcce9285-b13c5a27", NAME="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB82effe1a-dbca7dff", NAME="asm-diskf", OWNER="grid", GROUP="asmadmin", MODE="0660"[root@vrh6 dev]# [root@vrh6 dev]# /sbin/start_udevStarting udev: [ OK ][root@vrh6 dev]# ls -l asm*brw-rw----. 1 grid asmadmin 8, 16 Jun 30 09:34 asm-diskbbrw-rw----. 1 grid asmadmin 8, 32 Jun 30 09:34 asm-diskcbrw-rw----. 1 grid asmadmin 8, 48 Jun 30 09:34 asm-diskdbrw-rw----. 1 grid asmadmin 8, 64 Jun 30 09:34 asm-diskebrw-rw----. 1 grid asmadmin 8, 80 Jun 30 09:34 asm-diskf
转自:诗檀软件
转载地址:http://kpwmx.baihongyu.com/