ext4 での奇妙なファイル破損

ext4 での奇妙なファイル破損

最近、ディスク破損のシナリオと思われるものに遭遇したので、それをもっとよく理解したいと思います。

私は毎日使用しているビルド サーバーを持っています。最近の LLVM リリースのフル ビルド中に、奇妙なエラー メッセージが表示されて停止し、生成された 1 つのファイル ( X86GenDisassemblerTables.inc) から次の抜粋を取得しました。

...
/* 0xa5 */
{ /* ModRMDecision */
 MODRM_ONEENTRY,
 0 /* EmptyTable */
},
/* 0xa6 */
{ /* ModRMDecision */
 MODÒM_ONEENTRY,                # Ò = 0xD2
 0 /* EmptyTable */             # R = 0x52
},
/* 0xa7 */
{ /* ModRMDecision */
 MODRM_ONEENTRY,
 0 /* EmptyTable */
},
...

これは 1 ビットのファイル破損のようです。ファイルを削除すると、ビルドによって再度生成され、正常に完了しました。

そして今日、違うマシンでは、この.dファイルはビルド中に生成されました:

output-gcc-8.2.0-x86_64-linux-gnu/obj/headers.hpp.gch: src/headers.hpp
pp      # What's this?

その他すべて (ファイル サイズ、権限、終了改行まで) は適切に設定されていました。ファイルを削除しても、問題なくビルドで再度生成できるようになりました。

これらはディスク破損の正当なケースでしょうか? これを診断するにはどのツールを使用できますか? これらのディスクは、それぞれ ext4 ファイル システムを実行している 1 年前と 2 年前の SSD です。

答え1

RAM テストから始めるといいかもしれません。ハード ドライブは通常、読み取りまたは書き込みの障害が発生したことを認識しています。カーネル メッセージでハード ドライブ エラーを受信して​​おらず、ECC RAM を使用していない場合は、ハード ドライブよりも RAM が問題であると思われます。

関連情報