ext4 中奇怪的檔案損壞

ext4 中奇怪的檔案損壞

最近我接觸到了一些看似磁碟損壞的場景,我想更了解它們。

我有一個每天使用的建置伺服器。在最近 LLVM 版本的一次完整建置過程中,該版本因一條奇怪的錯誤訊息而停止,我得到了一個生成檔案的摘錄 ( X86GenDisassemblerTables.inc):

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

這似乎是一位文件損壞。我刪除了該文件,構建再次生成它並成功完成。

而今天,在一個不同的機器,此.d文件是在建置過程中產生的:

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

其他一切——檔案大小、權限,甚至終止換行符——都已就位。刪除該檔案還允許建置再次生成它而不會出現問題。

這些是合法的磁碟損壞案例嗎?我可以使用哪些工具來診斷這個問題?這些磁碟分別是運行 ext4 檔案系統的一年和兩年的 SSD。

答案1

您可能想從 RAM 測試開始。硬潛水通常知道何時出現讀取或寫入故障。如果您尚未在核心訊息中收到硬碟錯誤,並且您沒有使用 ECC RAM,那麼我會懷疑 RAM 而不是硬碟。

相關內容