Linux
如何強制 mdadm 使用 udev 設備名稱而不是 /dev/sdX
這個問題大部分已經在標題中了。
mdadm 和 /proc/mdstat 堅持按他們的“傳統” /dev/sdX 名稱列出 md 成員。我想要的是讓他們使用較新的 udev 設備名稱(例如 /dev/disk/by-path 和 by-id)。
我已經將 /etc/mdadm/mdadm.conf 從
DEVICE partitions
到
DEVICE /dev/disk/by-path/*
但這似乎完全沒有效果。
還使用旁路設備名稱對陣列進行了認證。
這是在 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>
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
不可能。這些符號連結(由創建
udev
)對使用者空間很方便,並且mdadm
可以在與核心通信時使用它們……核心將查看塊以找到真實設備。沒有將別名或新名稱通知核心的機制,並且是核心使用其內部規範名稱產生這些消息。有幾次嘗試
/sys/block/<disk>/alias_name
進入 Linux 核心並更新輸出以使用別名,但最近的嘗試被拒絕了。