因此,我的 Sunfire x2200 M2 有两个 SATA 驱动器,一个 250GB,一个 2TB。昨晚/今天早上的某个时候,系统自行重启。它恢复正常,但在查看了一些日志后,我发现了这一点:http://pastebin.com/Bctbzwb9。
da0
是 250GB 驱动器,即 OS 驱动器。我使用 查看了驱动器信息smartctl
,一切似乎都很好,但是,在使用 运行测试时smartctl
,它失败并出现读取错误。然后我注意到var/log/messages
:
Jan 1 05:20:31 fuzzbox smartd[1160]: Device: /dev/da0 [SAT], 7 Currently unreadable (pending) sectors
Jan 1 05:20:31 fuzzbox smartd[1160]: Device: /dev/da0 [SAT], 7 Offline uncorrectable sectors
Jan 1 05:20:31 fuzzbox smartd[1160]: Device: /dev/da0 [SAT], previous self-test completed with error (read test element)
Jan 1 05:20:31 fuzzbox smartd[1160]: Device: /dev/da0 [SAT], Self-Test Log error count increased from 0 to 1
我不太清楚该怎么解决。这看起来像是驱动器或控制器出现故障吗?
smartctl -a /dev/da0
输出:http://pastebin.com/RJ6043KJ
答案1
这看起来像是一个故障的驱动器。
任何现代 SATA 驱动器(以及任何古老的 SCSI 驱动器)的扇区上都有校验和。如果您读取它并且校验和不匹配,那么它将重新读取数据。如果重新读取数据失败的次数足够多,驱动器将假定磁盘上的物理扇区已损坏。
如果发生这种情况,可能会发生两件事:
- 驱动器将努力恢复数据,一旦成功读取,它将把数据写入备用扇区。每当您下次尝试读取原始扇区时,您将被重定向到备用扇区。如果此操作正在进行但尚未成功完成,则状态为待办的(就像您的日志中一样)。
- 如果这种情况经常发生,驱动器将用尽备用扇区。它无法再使用备用扇区,读取将导致读取错误。
您的日志中有currently unreadable (pending) sectors
和 的条目7 Offline uncorrectable sectors
。这似乎明确指向案例 1)。