mdadm RAID 5 重建时 2 个驱动器发生故障

mdadm RAID 5 重建时 2 个驱动器发生故障

我有一个包含 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

给出了错误:

mdadm: no recogniseable superblock on /dev/sdb

我也尝试过--force,结果相同

我还阅读了一些有关通过完全重建来恢复阵列的资料,因此我尝试:

mdadm --verbose --create /dev/md0 --level=5 --raid-devices=3 /dev/sdc missing missing

sdc是唯一没有出现故障的驱动器,我打算启动阵列并添加其他 2 个驱动器)

这导致:

mdadm: RUN_ARRAY failed: Input/output error

我的情况确实很糟糕。我需要很多数据,大约 1.2TB,这是最糟糕的情况!

答案1

There is no backup.. This is the problem.

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

由于没有备份,并且经历了 RAID 5 故障模式,没有适当的恢复路径,你现在就是我们英国朋友所说的“右皇家罗杰“(实际上他们可能会使用更丰富多彩的语言)。


此时你有两个选择:

  1. 哭。
  2. 联系一家数据恢复公司,解释所发生的事情,并向他们提供一大笔赎金,以尝试进行黑魔法仪式,从故障磁盘的魔爪中提取数据。

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

您可以将此视为一次学习经历,以及一次昂贵的示范课,以说明定期备份和恢复测试的重要性……

答案2

我只是想向大家通报解决方案。

最终我恢复了除 2 个文件之外的所有数据,以下是我所做的

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

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

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

谢谢大家。

答案3

永远不要在慢速磁盘上使用 raid 5,也不要将其用于软件 raid。除非您拥有一块性能良好的 raid 卡,并拥有自己的缓存和预故障分析功能,否则也不要使用它。

相关内容