Linux

如何強制 mdadm 使用 udev 設備名稱而不是 /dev/sdX

  • April 11, 2012

這個問題大部分已經在標題中了。

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 核心並更新輸出以使用別名,但最近的嘗試被拒絕了

引用自:https://serverfault.com/questions/378323