利用UDEV服务解决RAC ASM存储设备名

2025-12-16ASM / Linux/AIX / Oracle / RAC

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中,这一切都有所变化。

主要的变化是:

  1. scsi_id的命令语法发生了变化,scsi_id -g -u -s这样的命令不再有效。
  1. udevtest命令已经没有了,整合到了udevadm中。

How to use udev for Oracle ASM in Oracle Linux 6

下面我提供改良后的脚本,可以在redhat/Oracle Linux 6上生成正确的udev rule 规则文件:

实际运行示例: