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
以上脚本在Linux 5上是通用的, 但是有同学反映在redhat/Oracle Linux 6以上版本中该脚本失效了。
这是因为:
在OEL6或者RHEL6中,这一切都有所变化。
主要的变化是:
- scsi_id的命令语法发生了变化,scsi_id -g -u -s这样的命令不再有效。
- udevtest命令已经没有了,整合到了udevadm中。
How to use udev for Oracle ASM in Oracle Linux 6
下面我提供改良后的脚本,可以在redhat/Oracle Linux 6上生成正确的udev rule 规则文件:
实际运行示例: