硬盘SMART数据怎么看?表弟被21亿的RAW值吓得要换盘,那列数字根本不是坏道数

上个月表弟在家庭群里甩了张截图。他那台二手群晖里有块西数红盘8T,CrystalDiskInfo顶上顶着一圈黄色「警告」,其中Seek_Error_Rate那一行后面跟着一串数字:2,181,507,313。他问我:二十一亿次寻道错误,这盘是不是当天就得换?我点开大图看了眼旁边几栏,回了句:这盘健康得很,先别下单。这块盘到现在还在他群里跑着,一分钱没花。
这事儿不怪他。SMART输出几十行、十列数据,网上教程又大多只丢一句「看RAW值」,谁第一次看谁懵。这篇我把那块盘的输出当教材,逐行拆一遍:哪些列是关键、哪些数字看着吓人其实没事、哪些才是真要命的。哪些指标本身危险我之前在坏盘前兆那篇写过五项红黄牌表,不重复,今天专讲「怎么读」这件事。
先说清楚:SMART不是体检分数,是一堆各自为政的计数器
很多人对SMART的理解是「硬盘体检报告,80分健康60分及格」。不是的。SMART的英文原文叫自监测分析与报告技术,本质是硬盘固件里跑着的一堆计数器:通电了多少小时、磁头寻道了多少次、重映射了几个扇区,各记各的账。它没有总分。
所以smartctl跑完,输出分两截。最顶上一行是总评,写着SMART overall-health self-assessment test result: PASSED,这个PASSED只代表盘自检没挂,是最粗的一条线。下面才是正经的属性表,ID#、ATTRIBUTE_NAME、VALUE、WORST、THRESH、TYPE、UPDATED、WHEN_FAILED、RAW_VALUE十列几十行,看着唬人,真正需要人眼看的就是中间四列。
还有个前提要先立住:这些数字是厂商自定义的。同是「归一化当前值」,西数多用100当满血,有的盘用200,还有用253的,量程都不一样。所以拿你家西数的VALUE去跟朋友家希捷比大小,比了个寂寞。盘和盘之间没有可比性,一块盘自己跟自己比才有意义。
四列数字各管什么,一张表说清
表弟那块红盘的Seek_Error_Rate那行,我抄下来给你看,就是教科书案例:
| 列名 | 那块盘的值 | 管什么 |
| VALUE | 100 | 归一化当前值,厂商把健康状态折算成的分数,越高越好 |
| WORST | 100 | 这块盘出厂以来这项掉到过的最低点 |
| THRESH | 67 | 及格线,VALUE掉到这条线以下,这项才判失败 |
| RAW | 2181507313 | 没折算的原始计数,需要人肉解读的那列 |
判读的铁律就一句:先比VALUE和THRESH,再看RAW。那块盘VALUE是100,及格线67,离挂还差33分的余量,WORST也是100说明历史上从没接近过及格线。三项全绿,这行压根没有问题。表弟的错误在于跳过前两列直接读了最后那列,还按「错误次数」的字面意思去理解——21亿除以2.1万小时通电时长,等于每秒28次错误,这盘早该冒烟了,显然哪里不对。
顺带说下另外几列干什么用的。TYPE写着Pre-fail的是故障前兆类指标,Old_age是磨损类;UPDATED写Always的持续更新,写Offline的只在离线测试时更新;WHEN_FAILED正常时是一条横杠,一旦出现FAILING_NOW字样,不用犹豫,备份数据排期换盘。
RAW列的三个坑,表弟栽在第一个
RAW这列是最容易出事的地方,坑有三个,一个比一个隐蔽。
坑一:速率型指标的RAW是打包编码,不是简单计数。Seek_Error_Rate、Read_Error_Rate这类指标,厂商塞进RAW的不是「错误次数」,而是把错误数和总寻道次数按字节段拼在一起的多字段复合值,有的还混着时间戳。所以你会看到21亿这种天文数字——它是个编码后的串,不是能直接拿计算器除的量。这类指标别看RAW,只看VALUE和趋势。西数希捷都这么干,论坛里被这串数字吓到发帖的,一搜一大把。
坑二:十六进制。有些盘的部分指标RAW按十六进制存,数字里混着字母a到f。我之前提过一嘴,看到1000别慌,换算成十进制可能就是16。识别方法很简单:出现字母基本就是十六进制,纯数字的也可能是,拿捏不准就跟同型号其他盘的截图对一眼,量级对得上就没读错。
坑三:分不清哪些RAW能直接读。给你个简单二分法。直接读的:Current_Pending_Sector、Reallocated_Sector_Ct、UDMA_CRC_Error这三项RAW是多少就是多少,0最好;Temperature、Power_On_Hours、Start_Stop_Count也是明码,直接读。别直接读的:所有带Error_Rate、Retry_Rate字样的速率型指标,理由见坑一。表弟那块盘真正该看的三项,Pending是0,Reallocated是0,UDMA_CRC是0,干干净净。
真正要盯的指标:绝对值党和趋势党
把范围收窄到值得盯的几项,用法分两派。
| 指标 | 派别 | 健康口径 |
| Current_Pending_Sector | 绝对值 | RAW非0就是红牌,没有商量 |
| Reallocated_Sector_Ct | 趋势 | 非0先盯,只涨不降就危险 |
| UDMA_CRC_Error | 绝对值 | 非0先换SATA线,多半冤枉了盘 |
| Power_On_Hours | 绝对值 | 5万小时以上算高龄,加密巡检 |
| Start_Stop_Count | 趋势 | 看涨速,一晚涨几十次就是被偷唤醒 |
| Temperature | 绝对值 | 常年45度以上折寿,40度以下理想 |
趋势党的正确用法是截图存档。我的习惯是每月看一眼SMART就顺手截个图扔进相册一个专门的文件夹,下次对比着看。Start_Stop_Count这项我有切肤之痛:之前家里NAS一晚启停四五十次,我就是靠连续两晚的截图对出涨速异常,最后抓出来是下载容器在偷写盘。那次的完整排查写在休眠那篇里。二手盘更要把当天的数字截图存底,表弟那块盘通电两万一千小时,比换盘迁移时判翻新盘的口径还老,以后每一笔增长都得有人对账。
不想敲命令的两条路
smartctl要在SSH里跑,有人嫌麻烦,两条替代路各有取舍。
一是NAS自带健康页。群晖的存储管理器、飞牛的存储管理都内置SMART查看,图形界面点开就有,还带定时检测任务。缺点是它们只给结论和少数几项,四列体系的完整输出看不到,遇到「黄色警告但不知道虚不虚惊」的局面就抓瞎——表弟的截图就是这么来的。真要较真,还是得SSH进去跑smartctl -a,盘符先用lsblk确认,别对着sda一顿操作结果刷的是sdb。盘装在USB硬盘柜里要加-d sat参数,不然读出来是空的,这个坑我在新盘检测那篇提过。
二是盘拆下来接电脑,Windows上装CrystalDiskInfo,免费用了十几年的老牌工具。它把状态折成三个颜色:蓝色良好、黄色警告、红色异常。颜色判定的逻辑就是上文那套VALUE对THRESH的规则,只是机器替你比好了。要提醒的是黄色警告经常虚惊,最常见的就是速率型指标的归一化值天生偏低(有些盘出厂VALUE就贴着及格线上方),一有风吹草动就黄。所以看到黄色先别慌,点开明细看是哪项黄了:05重映射、C5待映射、C6无法修正这三项的RAW非0,黄色就是真的,赶紧备份;黄在Seek_Error_Rate这种速率项上,大概率是表弟式的虚惊。
还有个冷知识顺带说了:SMART数据存在盘体自己的固件区里,跟着盘走。盘从NAS拆下来接电脑,数字一个都不会变;换台机器读同一块盘,读到的还是同一本账。所以不存在「换个环境重新体检一遍」这回事。
主动测试和一句公道话
被动看数字之外还能主动测。smartctl -t short短测两三分钟,对坏道嗅觉比人耳灵,怀疑时跑一个;-t long长测把全盘扫一遍要几小时,换盘下单前、二手盘到手时跑才值得,而且长测期间磁头满负荷,别和备份任务挤同一个晚上。两者的适用场景我在前面两篇里都写过,不铺开了。
收尾说句公道话,也是这篇最想让你记住的一句:SMART全绿不等于这盘稳。Google在2007年发过一份研究了十万块盘的报告,结论里最扎眼的一条是:36%的损坏盘在坏掉之前,所有SMART变量的计数都是零——一点前兆没给。磁头撞盘片、马达卡死这类猝死型故障,计数器根本来不及记账。所以SMART是每月两分钟的例行检查,不是保险单,它是「能抓住的那六成多风险」,剩下那三成多的兜底只有备份。我家的账是三层:3-2-1的备份原则打底,冷备份盘归档,SMART月检当哨兵。盘是有价的,想买什么盘可以参考选盘那篇,数据无价,这个顺序别排反了。
收尾给个完整顺序,照着走不会漏:先看overall总评那一行——再过一遍Pending、Reallocated、UDMA_CRC、温度、通电小时五项绝对值——RAW解读拿不准时回头看VALUE对THRESH——截图存档下月对比趋势——真有嫌疑跑短测——换盘前跑长测。一个月两分钟,表弟那块被「21亿」冤枉的红盘,现在还在给他存照片。

发表评论