有什么方法可以从损坏的 RAID 6 阵列中恢复数据?

有什么方法可以从损坏的 RAID 6 阵列中恢复数据?

我在 MegaRAID 9361-8i / Windows 上有一个相当旧的 RAID 6 阵列(有 16 个 8TB 硬盘)。最近,根据 Megaraid Storage Manager,我发现 2 个硬盘坏了,我用新硬盘替换了其中一个。过程中出现了一点小问题。我不记得我具体做了什么,但大致是这样的;

  1. 将其中一个死机驱动器标记为未配置的良好驱动器
  2. 将驱动器标记为脱机
  3. 更换新驱动器(无需关闭系统)
  4. 将驱动器标记为在线
  5. 重建和一致性检查(均自动触发)

问题发生在我更换 3 块硬盘后。更换后,又有 3 块硬盘突然离线(可能是电缆故障?背板故障?我不知道是什么原因造成的)。我当时失去了所有希望,所以我只是将这些离线硬盘标记为未配置的正常硬盘,然后逐个将它们联机。之后,我让更换的硬盘重新联机。令我惊讶的是,在重建和一致性检查后,阵列没有任何损坏,一切正常。

结果有点鼓励我对剩下的最后一个故障驱动器执行完全相同的程序,所以我就这么做了。我在这个过程中遇到了同样的问题,这一次,4 个驱动器离线了。我将它们标记为未配置的良好,然后逐个将它们联机。然而,在驱动器交换后,自动触发了两个重建作业(而不是像以前的交换那样触发 1 个),并且在所有重建和一致性检查之后,阵列被损坏了。

这时,我出现了以下症状(第一次交换后这些症状均不存在)。

  1. 阵列中的每个媒体文件要么根本无法播放,要么在几秒钟后停止播放,要么不断跳过一两秒,要么显示非常错误的图像。
  2. 每个大的压缩文件在解压过程中都失败(我仍然可以解压一些小的压缩文件)。
  3. Explorer 表示该阵列大约有两个驱动器的空闲空间(16TB),但应该少于 1TB。
  4. Megaraid 存储管理器上没有显示日志。

以前,我在更换故障驱动器后也遇到过类似的问题(症状与 1 和 2 类似,但当时只有部分文件受到影响,而不是每个文件),我能够通过运行 恢复大多数损坏的文件chkdsk。但chkdsk /f这次没有做任何事情。在尝试 之前chkdsk /r,我正在运行 DMDE 完整扫描。此时(进度 5%),它显示 1 个 NTFS 主结果(NTFS 0)和 3 个 NTFS 附加结果( ,它们全部NTFS 1约为3的一半大小NTFS 0)。不太清楚这意味着什么,因为这是第一次运行 DMDE。

恢复损坏文件的最佳做法是什么?我没有这个阵列的任何备份,也不愿意花大价钱来恢复文件……

编辑 完整扫描已完成,这些是我在 DMDE 上看到的内容(最小大小、进度条、起始 LBA)

  • NTFS - 主要结果
    • NTFS 0 - 数组的完整大小,两个进度条堆叠在一起(顶部进度条 70% 为绿色,15% 为红色,底部进度条 60% 为绿色,25% 为红色),264k
  • NTFS - 其他结果
    • NTFS 5 - 几 MB,进度条上有一些红色指示器(40%绿色,15%红色),大约 15G
    • NTFS 4 - 与单个驱动器大致相同,进度条上有一些红色(5%绿色,5%红色),负值(约-1G)
    • NTFS 6 - 略大于数组的一半大小,进度条上有一些红色(5%绿色,5%红色),264k
  • NTFS - 其余结果
    • NTFS 7 - 与 NTFS 6 几乎相同
    • NTFS 2 - 略小于一半大小,进度条上有一些红色(5%绿色,5%红色),大约 2G
    • NTFS 3 - 几乎与 NTFS 2 相同
    • NTFS 1 - 与 NTFS 6 类似,但略小,进度条上有一些红色(5%绿色,5%红色),大约 1G
    • NTFS 9 - 几乎是阵列的全部大小,进度条上有一些红色(5%绿色,5%红色),321k

答案1

由于 RAID 6 将数据分条分布在多个设备上,因此看起来好像阵列中缺少一个设备,而 RAID 控制器并未意识到缺少了设备。这意味着每个连续的数据流中都有缺失的数据。

运行chkdsk只会让事情变得更糟,因为问题出在实际文件系统之下。

您需要以某种方式修复阵列配置,以便所有设备都正确位于阵列中。我不知道如何在 MegaRAID 系统中实际做到这一点。

首先,我建议将每个硬盘的映像保存到单独的介质中,这样新的写入就不会进一步损坏系统。

尽管也有可能数据已经以不可恢复的方式损坏。

相关内容