首页/系统/服务器硬件与 RAID 速查/待映射扇区的处理策略
硬盘故障与更换68 条

待映射扇区的处理策略

属性 197 的待定扇区有两种结局:被成功写入后消除,或读取再次失败后转为重映射;生产盘的正确姿势是先备份数据,再决定修还是换。

待映射扇区是什么

SMART 属性 197 记录的是待映射扇区计数:这些扇区在读取时校验失败,盘固件把它们标记为待处理,等待后续写入时重新分配或再次读取失败后进入重映射(属性 5)。它不是「已经坏掉」的定论,而是盘面健康的早期信号,因此处理思路是先保证数据可迁移,再决定是覆盖写修复还是直接换盘。

基本信息

适用平台所有支持 SMART 的硬盘,读取用 smartctl
关键属性197 待映射扇区、5 已重映射扇区、198 不可校正错误
常见诱因供电异常、意外断电、电缆接触不良、盘面介质退化
处理前提确认数据已备份或可丢弃,避免修复动作造成不可逆损失
权限要求读取属性需 root,覆盖写会破坏数据

典型使用场景

  • 巡检发现 197 非零:先归档当前计数作为基线,再决定观察还是更换
  • 阵列表中盘属性异常:结合卡侧错误计数判断是否需要提前换盘
  • 掉电事件后复查:确认是偶发事件引发还是盘面本身在退化
  • 备件复检:入库盘若带历史 197 计数,评估是否适合上生产
  • 退役判定:属性持续增长的盘优先安排更换而不是继续压测

定性与处理路径

定性与处理路径
1) 先确认数据可迁移(备份、快照或副本齐全)  # 一切动作的前提
2) 记录当前 197/198/5 数值作为基线  # 后续判断只能靠增量
3) 对可弃数据盘、离线环境做小块覆盖写,观察 197 是否清零  # 生产盘不建议尝试
4) 若属性 5 转为增长:按退化盘处理,安排更换  # 不再观望

覆盖写示例(仅测试盘)

覆盖写示例(仅测试盘)
smartctl -A /dev/sdX | grep -E "197|198| 5 "  # 先记录基线数值
dd if=/dev/zero of=/dev/sdX bs=4M count=64 conv=fsync  # 小块覆盖写,仅限确认可弃数据的盘
sync && smartctl -A /dev/sdX | grep -E "197|198| 5 "  # 复查属性变化,确认是否清零

属性组合与判断

属性变化可能含义建议动作
197 非零且稳定存在待处理扇区但未扩散缩短观测周期并准备备件
197 持续增长盘面在读过程中持续发现坏块尽快迁移数据并更换
197 归零但 5 增长待处理扇区被重映射视为退化盘,进入更换计划
198 同时增长出现不可校正读取错误立即评估更换与数据恢复
覆盖写会破坏盘上数据,只适用于已确认可弃或已有完整备份的盘;生产环境优先直接换盘而不是尝试修复。
197 一次归零不代表问题解决:属性 5 是否随之增长,才是判断盘面是否真正退化的依据。

易错点

  • 未备份先尝试修复:修复失败可能让盘彻底不可读,数据与盘同时失去
  • 把 197 归零当修复成功:需要继续观察属性 5 是否增长才能定性
  • 在有数据的盘上做覆盖写:等同于事故,覆盖范围不可逆
  • 只记录一次数值:没有基线就没有增量,之后无法判断是否在恶化

数据来源与参考

  • smartmontools 文档
  • 硬盘厂商技术说明(pending sector)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌