How to set custom device names using udev in CentOS/RHEL 7?

There could be a requirement from client to have custom device names such as /dev/asmdisk01 for an actual device with name /dev/sdb. Follow the steps outlined in this post to set custom device names using udev.


In order to create customer name (/dev/asmdisk01p1) for /dev/sdb set udev rules as below:


1. Find UUID of device


First, find the the UUID of the device with the scsi_id command as shown below.

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


Save this UUID, as this ID will be used later.


2. Create new udev rule


Create new udev rule file in appropriate location as below:

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


Add below content in 99-mydevices.rules file:

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'"


Save the rule file.


3. Test new udev rule


Run below command or reboot to verify new udev rule


1. Check for new device name:

# udevadm trigger --type=devices --action=change
# /bin/ls /dev/asmdisk01p1


2. To reload udev rule execute below command:

# udevadm control --reload


3. For Troubleshooting udev rule execute below command:

# udevadm test /sys/block/sdb


Removing Device File


Remember to manually remove the device file if you no longer need it. Simply use rm to delete the device file as shown below.

# rm /dev/asmdisk01p1


Was this answer helpful? 0 Users Found This Useful (0 Votes)