当/ dev / sd [abcde] 1重新排序时,mdadm --assemble失败


0

由于在引导(Debian7)上对/ dev / sd [af]的重复重新排序,我在组装小型RAID5时遇到了麻烦。

md0最初使用sd [abc] 1,它包含一个LUKS设备,该设备又包含一个ext4文件系统。ext4文件系统(已通过fsck验证)以及所有磁盘sd [abc](已通过smartctl验证)都可以使用。

当前,RAID设备不是sd [abc] 1,而是sd [abd] 1。mdadm --examine可以正确识别所有它们(相同的UUID,相同的事件计数),但是即使在检查/ dev / sdd1时,也将sdc1显示为数组的一部分。

我认为,如果重新启动后我得到的是原始订单,那么一切都会恢复正常。

现在,我看到两个解决方案,但都找不到如何实现:

  • 阻止Debian重新排序
  • 确保mdadm不依赖设备的/ dev / sd [af] 1的完全匹配

如何实现这两个功能之一,或者我还能做些什么来使mdadm运行?

mdadm.conf:

DEVICE /dev/sd[abcef]1
CREATE owner=root group=disk mode=0660 auto=yes
HOMEHOST <system>
MAILADDR root
ARRAY /dev/md0 UUID=b00e130c:359e5dfc:461cb5c0:61dedce4

编辑:

我只是发现了一些琐碎的东西,我不记得在任何地方都清楚地读过,并且以前也不知道:以正确的顺序传递匹配的RAID设备(可能与前一个设备不同)至少在手动组装时会有所帮助。在我的情况下(另一次重新引导按顺序将设备的sd [bcd] 1分配给我):

# mdadm --assemble -v /dev/md0 /dev/sd[bcd]1
mdadm: looking for devices for /dev/md0
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdc1 is identified as a member of /dev/md0, slot 1.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 2.
mdadm: added /dev/sdc1 to /dev/md0 as 1
mdadm: added /dev/sdd1 to /dev/md0 as 2
mdadm: added /dev/sdb1 to /dev/md0 as 0
mdadm: /dev/md0 has been started with 3 drives.

mdadm --detail和mdadm --examine现在还会在列表中显示正确的设备名称,例如,当检查sdd1时,它现在也正确报告sdd1是数组的一部分。

编辑2:

我只是注意到我实际上在mdadm.conf中缺少sdd1。尽管这绝对是不对的,但我还尝试显式列出对madam的调用中的所有设备以及扫描,即mdadm --assemble /dev/md0 /dev/sd[abcd]1mdadm --assemble --scan。两者都没有组装。


什么是mdadm.conf(在/ etc)?
Hennes

Answers:


0

找到了解决问题的办法。我的mdadm.conf中缺少sdd1会导致所有问题:

一旦mdadm.conf包含所有设备(并且可能包含的设备数量超过了必要的数量),mdadm --assemble --scan也将​​起作用。

旁注:显式调用mdadm --assemble / dev / md0 / dev / sd *中sd *的顺序并不重要,但正确的设备集却很重要。因此,如果sd [acd]是数组的一部分,则sd [dca]将起作用,而sd [abcdef]将不起作用。这与mdadm.conf中的内容无关。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.