我在这里寻求一些建议。我有一台运行 Ubuntu 14 的 Franken 机器,几年前我在其中添加了一个四驱动器 RAID6,但遇到了一个问题。长话短说,其中两个驱动器被插入到损坏的 PCI 卡中。可能是硬件布局不好,但现在已经太晚了。我重新连接了两个丢失的驱动器,它们又出现了。但是,数组无法组装并出现错误:
mdadm: /dev/md0 assembled from 2 drives - not enough to start the array while not clean - consider --force.
我正在阅读周围的内容这文章说,如果事件计数相差太远,不要使用武力。在我的例子中是 300772 到 309。所以,相差有点远。它说强制组装最接近的,然后添加其他的。
因此,假设 sdb 和 sdc 是好的,事件计数为 300772,而 sdd 和 sde 是坏的,事件计数为 309。我是否应该强制组装 sdb 和 sdc。然后做一个标准的添加和增长?就像这样:
mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdc1
mdadm --add /dev/md0 /dev/sdd1
mdadm --grow /dev/md0 --raid-devices=3
mdadm --add /dev/md0 /dev/sde1
mdadm --grow /dev/md0 --radid-devices=4
在重新增长数组之前是否需要缩小数组?
这看起来是一个安全的举动吗?
提前致谢
答案1
我想说你不需要增加数组。它会自动知道应该有 4 个驱动器。只需添加缺少的即可:
mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdc1
# At this point I would test /dev/md0! mount, fsck, etc. (before destroyng the content of the other two disks.)
mdadm --add /dev/md0 /dev/sdd1
mdadm --add /dev/md0 /dev/sde1
但有一点要注意。 IMO Raid6 对于 4 个驱动器来说没有多大意义。我会使用 Raid10,它应该性能更好,并提供与 Raid6 相同的大小和冗余。
因此,您可以创建一个新的(降级的)Raid10,将旧的 raid 复制到新的 raid 并重建。
mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdc1
mdadm --create /dev/md1 --level=10 --raid-devices=4 missing missing /dev/sdd1 /dev/sde1
dd if=/dev/md0 of=/dev/md1 bs=4M
mdadm -S /dev/md0
mdadm --add /dev/md1 /dev/sdb1
mdadm --add /dev/md1 /dev/sdc1