重建raid5阵列

And*_*one 0 raid debian mount mdadm software-raid

我继承了一台运行带有 RAID 5 阵列的 Debian 的机器。我安装了操作系统推荐的一堆更新(1700 左右),然后重新启动后,RAID 阵列没有安装。设备 /dev/md0 现在不存在,我不知道为什么。

/etc/mdadm/mdadm.conf 包含:

DEVICE partitions
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=138b0c65:20644731:39e394c4:192c7227
Run Code Online (Sandbox Code Playgroud)

我试着做 mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1 。这使得设备 md0,但它被列为“降级”,并且列表中的最后一个驱动器由于某种原因被视为“备用”。我强烈怀疑,虽然我不能确定,RAID-5 阵列中涉及的是 sdb、sdc 和 sdd

我尝试了所有 6 种可能的设备排序,但最后一个总是备用。我还尝试了 --spare-devices=0 --force,它成功地将所有三个驱动器都放入了具有“干净”状态的阵列中,但我无法实际安装设备 md0。当我在 /dev/md0 上运行“file -s”时,我得到 GLS_BINARY_LSB_FIRST,这似乎没有帮助。

我没有理由相信任何设备有问题;这一切似乎都源于最近的升级。如何复活旧的 RAID 5 阵列?我的 --create 阴谋是否以某种方式把它搞砸了?请注意,我从未成功挂载 md0。

请指教。我知道这一直是故事,但如果我不能复活这件事,我就会遇到大麻烦,所以任何帮助我的人都会永远感激,无论它的价值。

wom*_*ble 5

我怀疑您可能会在不久的将来测试您的恢复程序。

--create在现有阵列上运行是......好吧,“误导”是我所能穿上的最好的旋转。这只是为了创建一个新数组 - 您特别不想这样做。

您想要的是--assemble,甚至更好的是,找出系统决定在启动时停止自动组装阵列的原因。不过,您一直在到处创建阵列的事实可能已经使您失去阵列再次工作的任何机会。

顺便说一下,mdadm联机帮助页中给出了新创建的 RAID5 阵列以降级模式启动的原因(这将是一个很好的阅读第一件事):

创建 RAID5 阵列时,mdadm 将自动创建一个带有额外备用驱动器的降级阵列。这是因为将备件构建到降级阵列中通常比在未降级但不干净的阵列上重新同步奇偶校验更快。可以使用 --force 选项覆盖此功能。

至于诊断为什么你的 RAID 阵列在升级后没有组装,看一眼dmesg可能会让你正确;不幸的是,这些数据可能 (a) 消失了,或者 (b) 至少现在完全不相关了。

一个mdadm忍者可能能够把事情恢复正常,如果他们进入有问题的机器和大量的时间和耐心,但在你的情况,我建议你只是把停机时间命中和从备份中恢复。