有时,驱动器扇区损坏严重,甚至控制器也无法修复它,数据就会丢失。然后它可能被标记为坏扇区。
Linux 是否会在journald、dmesg 或其他地方记录此类丢失的数据?
我对运行坏块或某些扫描程序不感兴趣。我问是否有任何实时日志系统可以记录通过正常驱动器操作何时发现不可恢复的扇区。
答案1
可以通过常规系统使用或通过驱动器扫描来识别不可恢复的扇区。内核知道前者,这显示为 I/O 错误,并且通常至少记录在内核日志中。后者发生在驱动器本身中,并且可能由驱动器记录(请参阅 参考资料smartctl -x
,但这样的错误日志现在很常见),但内核不知道它。
扇区通常不会在读取错误时被丢弃,只有在写入时才会被丢弃。这意味着一些失败的扇区可能会被不可见地重新映射:如果驱动器在扫描期间识别出不可恢复的扇区,并且该扇区随后被写入而不被读取,它将被重新映射而不会导致可见的 I/O 错误。因此,不可能有完整的重新映射事件日志(至少在驱动器之外)。