私はこの数週間、このトピックについて多くの調査を行ってきました。少なくとも可能な限り、回復はほぼ完了していると思います。簡単に言うと、技術的な詳細をすべて記入せずに、問題について説明します。
それぞれが8つのディスクを備えた複数のRAID-5アレイがあり、それらを1つのLVM論理ボリュームにまとめたとします。次に、ディスクの1つがアレイの1つで停止し、再構築中に、そのアレイの2番目のディスクで回復不能な読み取りエラーが発生します。そしてもちろん、バックアップはありません。
UREを使用してドライブから新しいドライブにデータをドレスアップしました。5Kのデータのみが破損しており、すべてがディスクの非常に小さな領域にグループ化されています。また、ddrescueされたコピーを使用してそのMDデバイスを再構築したら、データ損失のサイズに、アレイ内の非パリティドライブの数(つまり35Kのデータ損失)をパリティとして乗算すると想定しています。これらのブロックを使用したストライプの計算は正しくありません。
このような状況でどのファイルが破損するかを判断するための手順を http://smartmontools.sourceforge.net/badblockhowto.html で読んで理解しましたが、私の問題は正確に把握することです。 debugfsへの入力として使用するためにmdを再構築した後に破損するブロック。 mdとlvmがメタデータを格納するすべてのオフセットを理解することも楽しいことではありませんが、私はその部分を処理できると思います。
すべての不良ブロック番号に7を掛けて、それぞれの後の次の6ブロックも不良になると想定し、上記のガイドのLVMの指示に従うことはできますか?
そして明確にするために-ガイドが説明しているように不良ブロックの修復や再マッピングには関心がありません。ディスクを交換し、mdにそのようなことを処理させます。 ext4ファイルシステム上のどのファイルが影響を受けているのか知りたいだけです。
あなたはまだこれについて助けを探していますか?影響を受けるファイルを見つける1つの方法は、ファイルシステムを/ dev/nullにtarすることです。エラーを含むファイルはすべてtarによって文句を言われます。何かのようなもの:
tar cf/dev/null/file/system/to/check
あなたのためにそれをするかもしれません。