使用UDEV在Linux7操作系统下为磁盘配置名称

适用于

Linux操作系统 – Oracle Linux 7.0版本及更新
Linux x86-64

目标

如何使用udev在Oracle Linux 7平台设置自定义的设备名称。

解决方案

为/dev/sdb设置自定义的设备名(/dev/asmdisk01p1),配置udev规则如下:

  1. 找出设备的UUID

    1
    2
    /usr/lib/udev/scsi_id -g -u /dev/sdb
    1IET_00020002

    保存该UUID,这个ID稍后将会用到。

  2. 创建新的udev规划
    在以下合适的位置创建新的udev规划文件:

    1
    vi /etc/udev/rules.d/99-my-asmdevices.rules

    在99-mydevices.rules文件里添加以下内容:

    1
    KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="1IET_00020002", RUN+="/bin/sh -c 'mknod /dev/asmdisk01p1 b $major $minor; chown grid:dba /dev/asmdisk01p1; chmod 0660 /dev/asmdisk01p1'"

    保存规则文件。

  3. 测试新建的udev规则
    运行以下命令或重启系统,验证新的udev规则

a) 检查新的设备名称:

1
2
/sbin/udevadm trigger --type=devices --action=change
/bin/ls /dev/asmdisk01p1

b) 运行以下命令,重新载入udev规则:

1
/sbin/udevadm control --reload

c) 运行以下命令,来为udev规则排错:

1
/sbin/udevadm test /sys/block/sdb

注意:当设备文件不再需要时,要记得手动移除。

1
/bin/rm /dev/asmdisk01p1

参考文献

NOTE:603868.1 - How to Dynamically Add and Remove SCSI Devices on Linux
NOTE:1521757.1 - How to set udev rule for setting the disk permission on ASM disks when using multipath on OL 6.x
NOTE:730996.1 - How to Create UDEV Rules for Network Cards on OEL5/RHEL5