如何在 CentOS/RHEL 7 中使用 udev 设置自定义设备名称

客户端可能要求自定义设备名称,例如 /dev/asmdisk01,用于名称为 /dev/sdb 的实际设备。
按照本文中概述的步骤使用 udev 设置自定义设备名称。

要为 /dev/sdb 创建客户名称 (/dev/asmdisk01p1),请设置 udev 规则如下:

1.查找设备的UUID

首先,使用 scsi_id 命令找到设备的 UUID,如下所示。

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

保存此 UUID,因为稍后将使用此 ID。

2.新建udev规则

在适当的位置创建新的 udev 规则文件,如下所示:

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

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

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 规则

  1. 检查新设备名称:
# udevadm trigger --type=devices --action=change
# /bin/ls /dev/asmdisk01p1
  1. 要重新加载 udev 规则,请执行以下命令:
# udevadm control --reload
  1. 对 udev 规则进行故障排除,执行以下命令:
# udevadm test /sys/block/sdb
欢迎来到之路教程(on itroad-com)

删除设备文件

如果我们不再需要设备文件,请记住手动删除它。
只需使用 rm 删除设备文件,如下所示。

# rm /dev/asmdisk01p1
日期:2020-09-17 00:13:52 来源:oir作者:oir