Updated: 28 September 2026 · Applies to: systemd-udev and device-mapper-multipath on AlmaLinux and Rocky Linux 9 and 10, RHEL 9 and 10, Oracle Linux 8 to 10

Oracle ASM needs its disks owned by the Grid Infrastructure user (often grid, group asmadmin) with mode 0660, and those settings must survive reboots. With multipath SAN disks, device names such as /dev/dm-3 can change between boots, so match each LUN by its unique ID instead. A udev rule does this without ASMLib; for the ASMLib method, see Oracle ASMLib packages.

1. Find each LUN's unique ID

multipath -ll

Each device shows its WWID in brackets, for example mpatha (3600a0980383030523424457a4a695132). udev sees it as DM_UUID=mpath-3600a0980383030523424457a4a695132. Check with:

udevadm info --query=property --name=/dev/mapper/mpatha | grep -E 'DM_UUID|DM_NAME'

2. Give the devices friendly, fixed names (optional)

In /etc/multipath.conf, add aliases so the devices appear as /dev/mapper/asm_data1 and so on:

multipaths {
    multipath {
        wwid  3600a0980383030523424457a4a695132
        alias asm_data1
    }
}

Reload with multipath -r.

3. Create the udev rule

Create /etc/udev/rules.d/99-oracle-asm.rules, one line per disk:

ACTION=="add|change", ENV{DM_UUID}=="mpath-3600a0980383030523424457a4a695132", OWNER="grid", GROUP="asmadmin", MODE="0660"

If you partitioned the multipath devices, match the partition instead, for example ENV{DM_UUID}=="part1-mpath-3600a...". The grid user and asmadmin group must exist before the rule is loaded: udev ignores unknown names, and on systemd 253 and later udevadm verify reports them as "Unknown user" and "Unknown group".

4. Apply and check

udevadm control --reload
udevadm trigger --subsystem-match=block --action=change
ls -lL /dev/mapper/asm_data1

The device should now belong to grid:asmadmin with brw-rw----. Point ASM's disk discovery string to the stable names, for example /dev/mapper/asm_*.

Common problems

  • Permissions reset after a reboot or path failover: the rule matched the kernel name (dm-3) instead of DM_UUID. Always match the ID.
  • Rule has no effect: check it with udevadm test $(udevadm info -q path -n /dev/mapper/asm_data1) 2>&1 | grep -i owner, and on systemd 253 or later validate the file with udevadm verify.

Official documentation: udev manual page and Configuring device mapper multipath (Red Hat).

Related services

KVM VPS hosting

NVMe SSD and full root access, with Free Basic Managed Support.

Unmanaged dedicated servers

full root access and free IPMI KVM, with Free Basic Managed Support.

Linux server management

hardening, patching, monitoring and automation for Ubuntu, Debian, RHEL and AlmaLinux.

Was this answer helpful?

Still stuck? Open a ticket