破損したドライブ(IOエラー)に対する高度なNTFSパーティションファイル回復テクニック
いくつかのVMに影響を与えるESXiホストのハードドライブへの被害は、非常に小さいものの非常に重要です。復元したいファイルがありますが、もちろん、通常のバックアップから除外されました。最新のコピーは6か月前のものです。私はそれが必要なことがわかりました...おっと。 詳細: 1)Parted MagicブータブルISO内でddrescue(AWESOMEツール)を使用して、問題のVMのドライブの99.98%を回復しました。残念ながら、エラーはほとんど最近のファイル書き込みによるものと思われます...もちろん、これらはまさに私が最も回復する必要があるセクターです。 2)ドライブは不良セクターの読み取りでIOエラーを出しますが、以前の不良セクターの読み取りで時々成功します!したがって、回復はまだ可能です。それよりもわずかに多い頻度で、ある種の大きな誤動作が発生し、ドライブがスピンダウンしてバックアップします。ああ、そしてこれらのスピンダウンの約1/4は元に戻りません。(ハードパワーサイクルが必要です。シャットダウンは機能しません)最後に、読み取った不良セクターのほぼすべてに、クリック音が聞こえます。 3)重要なVMディスクはNTFSフォーマットです。 4)破損したNTFSボリュームを読み取り専用で(通常は)マウントできます。また、必要なファイルが含まれているフォルダーに移動できます(頻度は少し少なくなります)。ただし、問題のファイルは、フォルダーの「ls」を実行すると常にIOエラーを表示するようです。フォルダー内の他のファイルは、IOエラーを発生しません。 5)私はntfsinfo / etcを使用してみました...まさに私が必要としているように聞こえます...しかし、それはパーティションをまったく開けません。(イライラする、「マウント」は通常そうするから) 6)ファイルはExcel 2003時代のXLSファイルであるため、生のディスクイメージを検索するための文字列を思いつくかどうかはわかりません。(おそらく6か月前のバージョンの一部ですか?) 私は本当にdebugfsの機能のようなものを使いたいです。ただし、manページからは、パーティションを開くように作られている場合にのみ、ntfsツールが作業を実行できるようです。特に、IOエラーが純粋にファイルのメタデータ内にあるのか、ファイルの内容をコピーするのに十分なだけディレクトリレコードを復元できるのかと思います。最後の手段として、取得できるファイルの部分的なコンテンツが何であれ、すばらしいと思います。 以前は(比較的単純な)カーネルモジュールを作成したことがあるので、より多くのデバッグ情報を有効(または追加)にして特別なNTFSモジュールをコンパイルできます。(ファイルは、回復するために少なくとも数日いじくり回す価値があります...さらに、その過程で素晴らしいものを学んでいます) ポインタはありますか? 編集: その他のドライブエラー情報: / var / log / messagesにはもちろん多くのNTFS-fsエラーが表示されています...しかし、最終的に、通常取得する未処理のセンスコードメッセージ(センスキー0x3、ASC = 0x11、ASCQ = 0x4)を翻訳する必要がありました。(これはUNRECOVERED READ ERROR-AUTO REALLOCATE FAILEDに変換されるようです)。 ドライブがスピンダウンすると、「scsi0:* BusLogic BT-958 Initialized」というメッセージが表示されます。Linux SCSIドライバーなのか、ESXiドライバーなのか、ドライブ自体をスピンダウンさせるのかはわからない。Linuxドライバーの場合は、ドライバーを変更してスピンダウンを回避できます。この全体のddrescueの事柄は、これらのパワーサイクルを必要とするスピンダウンによって非常に苦痛にされます。 EDIT2: 問題のファイルを含むディレクトリを「ls」した直後に「end_request:I / Oエラー、dev sda、セクター7238859」ログメッセージを使用して、そのセクターをddrescue操作の対象にしました。私は現在、私のチャンスを利用して、成功した場合はそのセクターをライブディスクに書き戻す予定です。おそらく、この方法で問題のファイルへの道をゆっくり再構築できます。それでも、ほとんどの回復可能な不良セクターは20回未満の再試行で回復します...これはこれまでに150回を超えています... *ため息* EDIT3: 私が必要とするファイルの「ls」からのセクターエラーは完全に非協力的です(1000+は夜通し試行し、運がありません)。あなたが「ls」をするとき、それが単なるメタデータであることを望んでいますか?:) ほとんどのddrescueコピーは持っていますが、マウントされません(またはファイルなしでマウントされます)。ほとんどの場合、破損したドライブは正しくマウントされます。破損したドライブのIOエラーは、正常に機能するミラーにフォールバックする「マウント」を強制しますか? ** EDIT4:** 私は今のところあきらめ、さらなる提案を待っています。ドライブを取り外して、箱を作り直しました。何かが起きた場合に備えて、ドライブをそのままにしておきます。