我的 Linux 系统开始在 syslog 中抛出 SMART 错误。我对其进行了追踪,并认为问题出在磁盘上的单个块上。如何轻松地让磁盘重新分配那个块?我想知道在这个过程中什么文件被破坏了。(我知道,如果磁盘上的一个块发生故障,其他块可能会跟随;我有一个很好的持续备份,只是想尝试保持该磁盘正常工作。)
在网络上搜索会导致Bad block HOWTO,它描述了在卸载磁盘上的手动过程。这似乎很复杂且容易出错。是否有工具可以在 Linux 中自动执行此过程?我唯一的其他选择是制造商的诊断工具,但我认为这会破坏坏块,而不会报告损坏的内容。最坏的情况,它可能是文件系统元数据。
有问题的磁盘是主系统分区。使用 ext3fs 和 LVM。这是来自 syslog 的错误日志和来自 smartctl 的相关位。
smartd[5226]: Device: /dev/hda, 1 Currently unreadable (pending) sectors
Error 1 occurred at disk power-on lifetime: 17449 hours (727 days + 1 hours)
... Error: UNC at LBA = 0x00d39eee = 13868782
pastebin上有一个完整的 smartctl 转储。