我运行一台小型家庭服务器,配有一个 IDE 驱动器(用于系统)和几个 SATA 驱动器(用于软件 RAID)。
IDE 驱动器曾经位于/dev/hda
,SATA 驱动器位于/dev/sd*
。断电后,IDE 驱动器声称已损坏/dev/sde
,并对我的 RAID 造成严重破坏。
如何让 IDE 驱动器再次正常运行?
答案1
一般来说,依赖驱动器的顺序不是一个好主意。 udev 动态分配它们并且顺序可能会改变。
文件系统最好通过标签或 UUID 来寻址:
/dev/disk/by-label/
/dev/disk/by-uuid/
使用该命令blkid
查找有关文件系统的信息。
磁盘按 id 进行地址
/dev/disk/by-id/
如果磁盘 ID 太丑而无法使用,您可以通过 udev 规则将它们符号链接到例如/dev/mainhdd
、等。/dev/backupdrive
手动符号链接不会持久,因为 /dev
它是一种 ram 磁盘。
答案2
您可以添加 udev 规则来为特定设备施加特定设备路径。例如:
KERNEL=="sd*", ATTRS{DRIVER}=="ide*", NAME="hda%n"
该行进入一个名为/etc/udev/rules.d/59-wukerplank-storage.rules
.添加设备时生效;你可以告诉 udev 重新应用规则但如果设备正在使用中,这不是一个好主意。
请注意,您不应依赖诸如hda
或 之类的名称sda
,它们预计不会保持不变。如果您需要设备的持久名称,最好使用 udev 为其创建别名:
KERNEL=="sd*", ATTRS{model}=="ZXQ-500", ATTRS{serial}=="123456", SYMLINK+="disks/by-alias/zxq"
该命令udevadm info -a -n sda
显示您可以使用哪些属性来匹配/dev/sda
。
RAID 配置通常使用唯一标识符 (UUID) 来区分哪个磁盘。这是必要的,例如,如果您将磁盘插入不同的计算机或以不同的顺序。因此,您的 RAID 在设备名称方面会出现问题,这很奇怪。如果您有依赖于设备名称的自定义脚本,请让它们调用mdadm
以查询数组的组件。