核心健康指标
05 (Reallocated Sector Ct)—— 头号杀手
硬盘发现某个扇区坏了,会自动从“备用仓库”里拿一个好的扇区来替换它。RAW 值必须为 0。如果这个值大于 0 且在持续增加,说明盘片正在物理脱落或磁头已经划伤盘片。
197 (Current Pending Sector) —— 逻辑坏道与物理坏道的交界
磁头读到这里时发现读不出来,系统把它标记为“待观察”。它还没被正式判定为坏死。RAW 值最好为 0。如果大于 0,可以尝试通过全盘写零(dd)修复。如果写零后它变成了 ID 5,那是物理坏道;如果写零后它归零且 ID 5 没涨,说明是逻辑坏道(电荷干扰)。
187 (Reported Uncorrect) —— 性能预警
磁头尝试了所有纠错手段(ECC)后依然无法读出的数据。RAW 值应为 0。哪怕只有 1 或 2,也说明这块盘读取极不稳定,随时可能导致系统 IO 卡死(IO Delay 爆表)。
199 (UDMA_CRC_Error_Count) ——连接稳定性
如果这个值很大,只要它不涨,硬盘就是安全的。如果它正在涨,说明 SATA 线坏了。
7(Seek_Error_Rate) —— 机械结构健康度
磁头定位到目标轨道的准确率。对于希捷(Seagate)盘,这个数值很大是正常的;但对于 西部数据(WD)或东芝(Toshiba),这个值必须为 0。
188 (Command_Timeout) —— 通讯历史
硬盘曾因响应太慢导致超时。这通常与供电不足或上述的 SATA 线材问题共同导致
198 (Offline Uncorrectable) —— 不可修复的扇区错误。
针对线材可能故障的检查
短自检(Short Self-test)
#这种测试主要检查硬盘的磁头读写功能、伺服电路以及盘片的一小部分区域,大约需要 1-2 分钟。 smartctl -t short /dev/sdX #在 1 分钟后运行以下命令: smartctl -l selftest /dev/sdd
如果显示 “Completed without error”:说明磁头和电路基本功能正常。
如果显示 “Completed: read failure”:说明磁头撞到了读不出来的点。
再次检查属性值 (Attributes): 自检结束后,再次运行 smartctl -a /dev/sdd,对比以下数值:
ID 187 (Reported_Uncorrect): 是否变成了更大的数字?
ID 197 (Current_Pending_Sector): 是否从 0 变成了非 0?(如果变了,说明刚才的自检扫出了新坏道)。
ID 199 (UDMA_CRC_Error_Count): 如果你在自检期间没动过线材,这个值不应该增加。如果增加了,说明你的 SATA 线已经烂到连简单的指令传输都会丢包。
稳定性测试
#记录原始值 smartctl -a /dev/sdX | grep UDMA_CRC # 连续读取这块盘的前 20GB 数据,看是否会触发 CRC 增加 dd if=/dev/sdX of=/dev/null bs=1M count=20480 status=progress #再次验证是否有增加,不增加则稳定 smartctl -a /dev/sdX | grep UDMA_CRC
