如何强制 mdadm 使用 udev 设备名称而不是 /dev/sdX

Ulo*_*oPe 5 linux ubuntu mdadm udev

问题主要在标题中。

mdadm 和 /proc/mdstat 坚持按“传统”/dev/sdX 名称列出 md 成员。我想要的是让他们使用较新的 udev 设备名称(例如 /dev/disk/by-path 和 by-id)。

我已经将 /etc/mdadm/mdadm.conf 从

DEVICE partitions
Run Code Online (Sandbox Code Playgroud)

DEVICE /dev/disk/by-path/*
Run Code Online (Sandbox Code Playgroud)

但这似乎根本没有效果。

此外,阵列是使用旁路设备名称来创建的。

这是在 Ubuntu 11.10 上。

当前/proc/mdstat:

~# cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid5 sdi[4] sde[2] sdh[1] sdd[0]
      2929651200 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_]
      [=>...................]  recovery =  7.0% (69242720/976550400) finish=632.8min speed=23893K/sec

md0 : active raid5 sdb[0] sdg[4] sdc[2] sdf[1]
      2197228032 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_]
      [===>.................]  recovery = 19.8% (145510552/732409344) finish=242.7min speed=40288K/sec

unused devices: <none>
Run Code Online (Sandbox Code Playgroud)

ls -l /dev/disk/by-path:

~# ll /dev/disk/by-path/
total 0
lrwxrwxrwx 1 root root  9 2012-04-11 01:15 pci-0000:00:1f.1-scsi-0:0:0:0 -> ../../sr0
lrwxrwxrwx 1 root root  9 2012-04-11 01:15 pci-0000:00:1f.2-scsi-1:0:0:0 -> ../../sda
lrwxrwxrwx 1 root root 10 2012-04-11 01:15 pci-0000:00:1f.2-scsi-1:0:0:0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 2012-04-11 01:15 pci-0000:00:1f.2-scsi-1:0:0:0-part2 -> ../../sda2
lrwxrwxrwx 1 root root  9 2012-04-11 01:19 pci-0000:0e:00.0-scsi-0:0:0:0 -> ../../sdb
lrwxrwxrwx 1 root root  9 2012-04-11 01:19 pci-0000:0e:00.0-scsi-0:0:1:0 -> ../../sdc
lrwxrwxrwx 1 root root  9 2012-04-11 01:15 pci-0000:0e:00.0-scsi-0:0:2:0 -> ../../sdd
lrwxrwxrwx 1 root root  9 2012-04-11 01:26 pci-0000:0e:00.0-scsi-0:0:3:0 -> ../../sde
lrwxrwxrwx 1 root root  9 2012-04-11 01:15 pci-0000:0e:00.0-scsi-0:0:4:0 -> ../../sdf
lrwxrwxrwx 1 root root  9 2012-04-11 01:15 pci-0000:0e:00.0-scsi-0:0:5:0 -> ../../sdg
lrwxrwxrwx 1 root root  9 2012-04-11 01:26 pci-0000:0e:00.0-scsi-0:0:6:0 -> ../../sdh
lrwxrwxrwx 1 root root  9 2012-04-11 01:26 pci-0000:0e:00.0-scsi-0:0:7:0 -> ../../sdi
Run Code Online (Sandbox Code Playgroud)

eph*_*ent 6

不可能。这些符号链接(由 创建udev)对于用户空间很方便,并且mdadm可以在它与内核通信时使用它们......内核将查看块以找到真正的设备。没有将别名或新名称通知内核的机制,而是内核使用其内部规范名称生成这些消息。

有几次尝试/sys/block/<disk>/alias_name进入 Linux 内核并更新输出以使用别名,但最近一次尝试被拒绝