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 而不是硬盘驱动器。

相关内容