从失败的 RAID 5 设置中恢复数据

从失败的 RAID 5 设置中恢复数据

我有一个四磁盘 RAID 5 阵列,正在发生硬盘故障。一个磁盘完全失效并smartctl告诉我第二个磁盘出现故障。 RAID 上的所有数据都已备份,但恢复大约 1 TB 的数据并不容易,因为它是翻录的 CD 和 DVD,我必须再次翻录它们。我有一个备用磁盘,可以将其替换为损坏的驱动器,并尝试重建(如果这是正确的术语)RAID,然后将困难数据备份到另一个完全健康的新 RAID 6 设置中。我还可以将数据从现在非冗余的 RAID 直接备份到新的 RAID。

从非冗余四盘 RAID 中的磁盘上“恢复”RAID 或直接复制数据更为温和。

每个磁盘的大小为 2 TB,RAID 总大小为 6 TB。 RAID 上大约有 5 TB 的数据,我想从中获取 1 TB 的数据。

答案1

将新添加的磁盘“重建”到 RAID 阵列或访问降级的 ARRAY 在磁盘上的压力方面非常接近。这里的区别更多在于要读取的数据大小:6 GB 与 1 GB。

我建议您尽可能在备用磁盘上复制所有内容。

最坏的情况是,在完成复制之前或在 RAID 重建尝试期间,即将死亡的磁盘已死亡。

  1. 尝试保存文件时:您最终会保存一些“重要”数据
  2. 重建阵列时:你会失去一切

(那么选择就显而易见了)

答案2

首先从数组中复制数据。重建完整的 RAID 5 集无论如何都将涉及读取所有数据,因为必须计算新的奇偶校验数据。如果您只复制所需的数据,那么对故障磁盘造成的压力就会较小。

答案3

如果一个磁盘已经完全消失,那么您就没有冗余了。

如果另一个磁盘发生故障,您可以使用复制该磁盘ddrescue,然后使用副本查看还剩下什么。

此时,您会发现无声的数据损坏;通过一些努力,您可以通过ddrescue记录哪些区域无法读取并filefrag确定哪些文件在这些区域中具有范围来找到受影响的文件。

如果损坏的阵列仍然正常运行,那么从损坏的阵列中复制文件可能会更简单。但这有点危险,因为这种随机访问副本对磁盘的压力比线性更大ddrescue,而且如果磁盘完全失效,一切都会消失。

祝你好运。

PS:你不应该让事情发展到这一步。定期测试磁盘是否存在读取错误,一旦出现问题就更换磁盘。如果没有监控,即使是 RAID6 也无法为您提供太大帮助,如果您让读取错误几个月都未被检测到……

相关内容