mdadm RAID 5 重建时有 2 个驱动器失败

phi*_*hil 4 raid hard-drive mdadm failed

我有一个带有 3 个磁盘的 RAID 5 阵列 ( sdb sdc sdd)

上周末我被提示sdd失败了。所以更换了驱动器,将它添加回阵列并让它重建(1.5TB)

它停在大约 64% 时出现错误,发现它sdb也失败了。

sdd在新驱动器 ( ddrescue) 和新驱动器 ( )sdb上成像ddrescue

副本sdb进展顺利,只有 3MB 无法复制。sdb有更多问题(请注意我无法获得新驱动器,因此我的图像驱动器实际上比 1.5TB 更大)

尝试像以前一样重新组装驱动器:

mdadm -A /dev/md0 /dev/sdb /dev/sdc /dev/sdd
Run Code Online (Sandbox Code Playgroud)

给出了一个错误:

mdadm: no recogniseable superblock on /dev/sdb
Run Code Online (Sandbox Code Playgroud)

我也试过了--force,结果一样

我还阅读了一些关于通过完全重新构建来恢复阵列的信息,所以我尝试了:

mdadm --verbose --create /dev/md0 --level=5 --raid-devices=3 /dev/sdc missing missing
Run Code Online (Sandbox Code Playgroud)

sdc是唯一没有发生故障的驱动器,我要启动阵列并添加其他 2 个驱动器)

这导致:

mdadm: RUN_ARRAY failed: Input/output error
Run Code Online (Sandbox Code Playgroud)

我真的很糟糕。我有很多我需要的数据,大约 1.2TB 的东西,这是最坏的情况!

vor*_*aq7 5

There is no backup.. This is the problem.

在没有备份的情况下存储重要数据(在任何系统上,无论多么可靠)确实是个问题!

没有备份,经历了 RAID 5 的失败模式,没有适当的恢复路径,你现在就是我们英国朋友所说的“ Right Royally Rogered ”(实际上他们可能会使用更丰富多彩的语言)。


此时您只有两个选择:

  1. 哭。
  2. 联系数据恢复公司,解释发生了什么,然后向他们提供高贵的赎金,以尝试通过黑暗魔法仪式从故障磁盘的离合器中提取数据。

(1 和 2 并不相互排斥 - 事实上,当您看到 (2) 的价格时,您可能会做 (1)...)

您可以将其视为一次学习经历,以及有关定期备份和恢复测试重要性的昂贵对象课程...


小智 5

我只是想在解决方案上更新每个人。

最终结果我取回了除 2 个文件之外的所有数据,这就是我所做的

  • 安装好的驱动器和重建过程中出现故障的驱动器
  • 强制 mdadm 创建缺少 1 个驱动器的阵列并设置标志以便所有磁盘都是干净的
  • 使用MC(午夜指挥官)开始逐个文件夹复制文件。一旦 mdadm 在阵列上检测到错误,它就会吐出一些错误,mdadm 就会从阵列中删除驱动器,从而使阵列无法使用。然后 MC 会给我一个读取错误(完美,因为我不希望它继续处理损坏的数据)。记下它挂断的文件
  • 卸载阵列,停止 mdadm,然后用 2 个驱动器重新启动它,将它们标记为干净
  • 跳过它卡住的文件。

无论如何,我能够恢复除 2 个文件之外的所有数据。我希望这可以帮助任何陷入这种情况的人。我也回到了 RAID-1。至少使用 RAID-1,如果 1 个驱动器有坏扇区,我仍然可以恢复数据而无需使用 mdadm。

PS - 我已经吸取了教训,并将备份添加到另一个驱动器。

谢谢大家。