我的问题不是 RAID 故障,而是 RAID 数据损坏
最近我遇到了一个有趣的问题。我的一个朋友有一台 RAID 5 NAS(Western Digital MY CLOUD EX4100 8TB),遇到了一个问题,他一生中制作的数千个 RAW 文件被损坏,无法打开。
RAID 没有问题(诊断程序表明一切正常,驱动器上的 SMART 测试表明一切正常,..)。
我知道 RAID 不能防止数据腐烂,我想问是否有人有使用恢复工具的经验,可以尝试恢复“腐烂”的数据。
现在,考虑到他年纪大了,靠微薄的退休金生活,他负担不起将磁盘送到专业公司的费用——当他亲自打电话给捷克共和国的公司时,他们给出的恢复报价约为 2500 美元。但是,如果他以大约 1/5 的价格购买一些互联网上可用的工具,那么就有可能。
数据是来自不同相机的 RAW 格式(.nef、.raw、.raf、.dng、.tiff……)和 .jpeg 格式的照片以及一些 PDF 和 Word 文档。
- 有人用过这些工具吗?
- 是否值得尝试向它们投资(100 - 500 美元)或者它们大多是蛇油或者对于从比特腐烂中恢复无效?
- 我还有什么选择?
(我们知道数据已经存在并且运行了很长时间)
附言:我不确定超级用户是否允许提问以寻求建议,但说实话,我不知道在哪里可以提出这样的问题来接触如此广泛的受众
答案1
有点腐败还是?
如果真的是由于位腐烂而导致的损坏,数据恢复实验室不太可能提供帮助:如果由于位腐烂而导致随机位发生变化,您将很难找到该位。如果更多位“翻转”,则无法确定它涉及哪些位并猜测它们的原始值。我只能评论修复数字图像,但如果出于某种原因,此类文件损坏,而大多数原始数据仍在文件中,这是一个手动且耗时的过程。
虽然位确实可以翻转,因为模拟值不再满足介质上的阈值以计为“1”,但大多数驱动器都可以检测到这种情况并使用 ECC 进行纠正。如果一个块中有太多位损坏,ECC 将能够检测到但无法纠正。在这种情况下,驱动器应该并且将以读取错误而不是损坏的数据做出响应。
根据我的经验,大多数归因于位衰减的错误实际上是由其他问题引起的:
在这种情况下,客户认为文件“有点损坏”,所以他最初向我发送了一些损坏的文件。检查完这些文件后,我告诉他文件系统损坏了,不需要修复,需要恢复。经过几次失败的尝试后,驱动器被发送给我,我雕刻了所有照片,几乎 100% 成功。所以这是文件系统问题。
这只是一个例子,我经常遇到这种情况。大多数情况下,未损坏的部分实际上是 JPEG 数据,损坏的部分包含“外部数据”,如文件系统结构、不同文件类型的部分等。有时 JPEG 数据显然是用不同的设置编码的,因此是不同文件的一部分。
“位损坏”=文件损坏
这是一个文件本身确实已损坏的情况:
修复是手动逐个文件进行的。基本上,损坏的原因并不重要。数据恢复实验室不可能以 2500 美元的价格修复整个驱动器或阵列的数据(如果他们可以的话)(大多数实验室不修复单个文件)。
实验室可以提供帮助的地方是从因读取错误而失去响应的驱动器中获取数据。您提到没有这样的错误,您提到 SMART 认为驱动器是健康的。我预计实验室无法通过驱动器修复或克隆神奇地修复单个文件。
实验室无法解决随机文件损坏的问题。例如,我曾见过 CF 卡出现位损坏。不是因为 NAND 坏了,而是因为连接不好。文件一开始就被损坏了。没有办法恢复。我能够计算出位“卡住”的扇区内的精确位偏移量。以下只是突出显示的 3 个示例:
这些只能在这里发现,因为应该是什么值。不可能在实际图像数据中分辨出正确的值。事实上,这个文件甚至无法打开。这是使用参考文件的有效标头解码的 JPEG 数据:
这些文件从写入驱动器的那一刻起就已损坏。无法恢复或修复它们。
损坏的文件如果不是由文件系统损坏等原因造成的,则可能需要逐个文件进行检查和修复。许多文件类型本身就是小型文件系统,其中包含许多指向数据结构和实际数据的指针。这既耗时又昂贵。对于许多文件类型,您将找不到修复工具。对于各种 RAW 照片类型的修复,我的主要工具是十六进制编辑器。
文件系统损坏
如果根本原因是文件系统问题,文件雕刻通常是一种选择。这就是我从图 1 中恢复文件的方法。
由于这是一个阵列,因此第一步是从机箱中移除驱动器并对各个驱动器进行映像处理。
下一步需要(虚拟地)重建阵列。这可能可以使用 Linux 来完成,或者可以使用数据恢复软件来完成。例如,ReclaiMe Free RAID 可以重建阵列并将其导出到磁盘映像。然后可以使用文件恢复软件扫描磁盘映像。同样,如果文件内部损坏,则此操作不会产生任何结果。
这是一个值得思考的有趣问题,但并不容易。