坏道与重映射是什么
硬盘在读写过程中发现无法可靠读出的扇区,会把它标记为坏道并用备用扇区替换,这个过程叫重映射;SMART 属性 5 记录已重映射的扇区数量。少量且长期稳定的重映射通常可以继续观察,而持续增长、或伴随待定扇区与读错误的情况,则按退化盘处理。判断的依据是趋势,而不是单次读数。
读值与趋势判断
读值与趋势判断
smartctl -A /dev/sdb | grep -E "^ *5 |^ *187|^ *196|^ *197" # 关键属性
smartctl -a /dev/sdb | grep -i -E "Error|Reallocated" # 错误与重映射信息
smartctl -A -d megaraid,4 /dev/sda | grep -E "197|198" # RAID 卡后透传读数
# 建议每周两次采样并做差,形成趋势记录趋势判读
- 稳定不变:继续观察,纳入月度巡检
- 缓慢增长:准备更换计划并缩短巡检周期
- 快速增长或伴随 197、198:按故障盘更换
- 伴随读错误日志:数据完整性风险升级,优先迁移数据
相关属性对照
| 属性 | 名称 | 判读要点 |
|---|---|---|
| 5 | Reallocated_Sector_Ct | 已重映射扇区数,关注增长速率 |
| 187 | Reported_Uncorrect | 上报的不可纠正错误次数 |
| 196 | Reallocated_Event_Count | 重映射事件次数 |
| 197 | Current_Pending_Sector | 待定扇区,非零需要重点关注 |
| 198 | Offline_Uncorrectable | 离线扫描不可纠正的扇区数 |
典型使用场景
- 巡检定级:按增长速度区分「观察」与「更换」两类处置
- 换盘决策:结合冗余状态与业务价值判断更换时机
- 数据保护:坏道增长时优先确认备份是否完整可用
- 重建前评估:确认源盘能否稳定读出,降低重建失败概率
- 供应商反馈:把同一批次的坏道数据汇总反馈给采购方
整盘写零有时能把「假坏道」恢复,但同时会掩盖证据;生产盘先取证与迁移,再考虑试验性操作。
常见疑问
- 重映射计数增长后能否归零:一般不会,计数反映历史事件,趋势才是重点
- 有坏道就一定丢数据吗:冗余机制可能已经修复,但需确认备份与校验状态
- 机械盘与固态盘判读一样吗:属性号体系不同,固态盘要看介质错误与备用块
巡检记录要包含读值时间:同一条属性在不同时间点的对比才有意义,只保留最新数值等于放弃了趋势判断能力。