使用md-raid5和LVM查找受坏块影响的文件


8

在过去的几周中,我一直在就该主题进行大量研究-我认为我至少要尽可能地完成恢复。长话短说,我将仅描述问题而不填写每个微小的技术细节。

假设您有多个RAID-5阵列,每个阵列都有8个磁盘,然后将它们一起扩展到一个LVM逻辑卷中。然后,其中一个磁盘在其中一个阵列中死亡,并且在重建过程中,该阵列中的第二个磁盘上遇到不可恢复的读取错误。当然,没有备份。

我已经使用URE将驱动器中的数据ddrescue's到了新驱动器上,仅损坏了5K数据,所有数据都被分组到很小的磁盘区域中。我还假设,一旦我使用ddrescue'd副本重组了该MD设备,就将数据丢失的大小乘以阵列中非奇偶校验驱动器的数量(即35K的数据丢失)作为奇偶校验使用这些块进行的条纹计算将不正确。

我已经阅读并理解了http://smartmontools.sourceforge.net/badblockhowto.html上的过程,用于确定哪些文件会因这种情况而损坏,但是我的问题是确切地找出在md重建以用作debugfs的输入。找出md和lvm存储元数据的所有偏移量也不会很有趣,但是我认为我可以处理这一部分。

我是否可以将所有坏块编号乘以7,然后假设每个坏块之后的以下6个块也是坏块,然后按照上面链接的指南中的LVM指令进行操作?

需要明确的是-我不关心修复或重新映射指南中描述的坏块,我已经更换了磁盘,并将让md处理这种事情。我只想知道ext4文件系统上的哪些文件已受到影响。

Answers:


2

您还在为此寻求帮助吗?您可能会找到受影响的文件的一种方法是将文件系统压缩到/ dev / null。tar将抱怨任何包含错误的文件。就像是:

tar cf / dev / null / file / system / to / check

可能会为您做。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.