待映射扇区是什么
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 是否随之增长,才是判断盘面是否真正退化的依据。