SMART 知识

SMART(Self-Monitoring, Analysis and Reporting Technology)是内置于现代硬盘的 Self-Monitoring 体系。理解它,就读懂了硬盘的"体检报告"。

SMART 是如何工作的

硬盘固件在运行中持续采集自身的运行指标,并把结果开放给操作系统读取。

固件内采集

硬盘内部的微控制器实时记录磁头飞行高度、扇区读写错误、温度、通电时长等数十项运行参数,无需操作系统参与。

属性与阈值

每项参数即一个 SMART 属性(ID + 当前值 + 最差值 + 阈值)。当前值一旦跌破厂商设定的阈值,硬盘即判定该项失败并置起警告位。

标准化读取

Smartmontools 通过 ATA SMART READ DATA、SCSI 日志页、NVMe Health 日志等标准接口读取这些数据,翻译成人可读(或 JSON)的报告。

研究背书:Google 在 FAST'07 发表的经典研究(《Failure Trends in a Large Disk Drive Population》)分析了十万块盘,结论是:重映射扇区等 SMART 指标异常后,硬盘随后 60 天内的故障概率显著上升——这正是 SMART 预警的价值依据。部分无前兆的突发故障确实无法预测,因此"SMART 正常 + 定期备份"才是完整的容灾姿势。

关键属性逐项解读

以 smartctl -A 输出为准,重点看原始值(RAW_VALUE)与其趋势。

ID 属性 判读要点
01 底层读取错误率 厂商自定义口径,不同品牌不可横向比较;关注是否突变
05 重映射扇区数 最核心的坏道指标。扇区读写出错后被重定向到备用扇区。0 最好;历史少量且稳定可观察,持续增长立即备份换盘
09 累计通电时间 评估盘龄、二手盘成色的第一指标(注意单位可能是小时或分钟,因厂商而异)
0A 主轴起旋重试次数 电机启动困难次数,非零增长提示电机或供电问题
0B 主轴校准重试次数 磁头定位反复校准,增长提示机械部件老化
C5 当前待映射扇区数 读取不稳、等待被重映射的扇区。往往先于 05 增长,是早期预警哨兵
C6 无法修复扇区数 重映射写入也失败的扇区。非零即高危,数据随时可能丢失
C7 UltraDMA CRC 错误数 多为数据线接触不良或劣质线材所致,换 SATA 线通常可解决
C8 多区写入错误率 写入失败统计,结合 05/C5/C6 综合判断
E7 SSD 剩余寿命(部分品牌) 固态硬盘专属磨损指标,100% 为满寿命,随写入量递减
F1 主机总写入量(TBW 口径之一) SSD 累计写入字节(或次数),对照官方 TBW 保修额度评估寿命
BB/C0 意外断电次数 记录非正常下电,频繁断电会加速 SSD 磨损甚至掉盘

注:不同厂商对部分 ID 的定义与量纲存在差异,smartmontools 内置的驱动数据库(drivedb)会为已收录型号自动翻译。趋势比绝对值更重要。

HDD / SATA SSD / NVMe:三套健康语言

接口与介质不同,健康指标的"母语"也不同。

机械硬盘 HDD

看传统 SMART 属性表:05 / C5 / C6 坏道三部曲,09 通电时间,0A/0B 电机与磁头状态,C2 温度。机械故障通常有渐进前兆,SMART 预警命中率最高。

SATA 固态硬盘

坏道指标基本失效,改看磨损体系:E7 剩余寿命、F1 主机写入量、厂商专有磨损均衡计数(如 Wear Leveling Count)。smartctl -x 会展示解析后的厂商专有页。

NVMe 固态硬盘

使用 NVMe 标准健康日志,指标口径完全统一:Percentage Used(已用寿命)、Available Spare(可用备件)、Media and Data Integrity Errors(介质错误)、Critical Warning 位。v7.5 起支持按命名空间细分读取。

NVMe 健康信息示例(smartctl -A /dev/nvme0)
Critical Warning: 0x00 # 0x00 = 无警告位 Temperature: 38 Celsius Available Spare: 100% Available Spare Threshold: 10% Percentage Used: 2% # 已消耗寿命 2% Media and Data Integrity Errors: 0 # 介质错误 0 次 Unsafe Shutdowns: 3

故障预警判断逻辑

从轻到重的四级处置建议,与 smartd 的自动告警机制对应。

信号等级 典型表现 建议处置
正常 PASSED,坏道类指标为 0,趋势平稳 保持定期体检(建议每月一次或 smartd 常驻)
关注 C5 出现非零但未增长,或 CRC 错误增长 加强巡检频率,检查数据线与供电,观察 1-2 周
预警 05 / C5 / C6 持续增长,或温度长期超标 立即完整备份,规划替换,缩短巡检间隔至每日
危险 健康总评 FAILED、C6 非零、出现读写异响 马上备份关键数据下线换盘,勿继续写入与通电

smartd 已内置这套逻辑:属性越限(-H / -l error / -l selftest)时自动触发邮件,无需人工比对阈值。配置方法见使用教程 · smartd 章节。

常见疑问

SMART 技术可靠吗?能百分百预测硬盘故障吗?

SMART 无法百分百预测所有故障(部分突发故障没有前兆),但 Google 等大规模研究(FAST 论文)表明重映射扇区等属性异常后,盘件随后数月的故障率显著高于正常盘。它是目前成本最低、最实用的故障预警手段。

重映射扇区数(ID 05)多少算危险?

理论上 0 最好。少量且长期稳定的历史值一般可继续观察;数值持续增长、或伴随 C5/C6 增长,则应立即备份数据并计划换盘,不建议继续存放重要数据。

SSD 需要看哪些 SMART 指标?

机械盘关注坏扇区类指标,SSD 更关注磨损与写入量:如剩余寿命百分比、主机总写入量(TBW 口径),以及通电时间与温度。闪存不会产生传统坏道,指标体系完全不同。

为什么两块盘的同一属性原始值不能直接比较?

SMART 属性的原始值(RAW_VALUE)编码方式由厂商自定义,有的直接是计数,有的是多位拼接编码,量纲并不统一。横向对比只看"标准化后的当前值 vs 阈值",纵向对比(同一块盘的历史趋势)才是最有意义的。