2023年11月24日发(作者:)

硬盘SMART检测参数详解

⼀、SMART概述

要说Linux⽤户最不愿意看到的事情,莫过于在毫⽆警告的情况下发现硬盘崩溃了。诸如RAID的备份和存储技术可以在任何时候帮⽤

户恢复数据,但为预防硬件崩溃造成数据丢失所花费的代价却是相当可观的,特别是在⽤户从来没有提前考虑过在这些情况下的应对措施

时。

硬盘的故障⼀般分为两种:可预测的(predictable)和不可预测的(unpredictable)。后者偶⽽会发⽣,也没有办法去预防它,例如芯⽚

突然失效,机械撞击等。但像电机轴承磨损、盘⽚磁介质性能下降等都属于可预测的情况,可以在在⼏天甚⾄⼏星期前就发现这种不正常的

现象。

01001 Raw_Read_Error_Rate 底层数据读取错误率

04004 Start_Stop_Count 启动/停⽌计数

05005 Reallocated_Sector_Ct 重映射扇区数

09009 Power_On_Hours 通电时间累计,出⼚后通电的总时间,⼀般磁盘寿命三万⼩时

0A010 Spin_Retry_Count 主轴起旋重试次数(即硬盘主轴电机启动重试次数)

0B011 Calibration_Retry_Count 磁盘校准重试次数

0C012 Power_Cycle_Count 磁盘通电次数

C2194 Temperature_Celsius 温度

C7199 UDMA_CRC_Error_Count 奇偶校验错误率

C8200 Write_Error_Rate: 写错误率

F1241 Total_LBAs_Written:表⽰磁盘⾃出⼚总共写⼊的的数据,单位是LBAS=512Byte

F2242 Total_LBAs_Read:表⽰磁盘⾃出⼚总共读取的数据,单位是LBAS=512Byte

ATTRIBUTE_NAME

硬盘制造商定义的属性名。,即某⼀检测项⽬的名称,是ID代码的⽂字解释。

FLAG

属性操作标志(可以忽略)

当前值(value)

当前值是各ID项在硬盘运⾏时根据实测原始数据(Raw value)通过公式计算的结果,1到253之间。253意味着最好情况,1意味着最坏

情况。计算公式由硬盘⼚家⾃定。

硬盘出⼚时各ID项⽬都有⼀个预设的最⼤正常值,也即出⼚值,这个预设的依据及计算⽅法为硬盘⼚家保密,不同型号的硬盘都不同,最⼤

正常值通常为100或200或253,新硬盘刚开始使⽤时显⽰的当前值可以认为是预设的最⼤正常值(有些ID项如温度等除外)。随着使⽤损

耗或出现错误,当前值会根据实测数据⽽不断刷新并逐渐减⼩。因此,当前值接近临界值就意味着硬盘寿命的减少,发⽣故障的可能性增

⼤,所以当前值也是判定硬盘健康状态或推测寿命的依据之⼀。

最差值(Worst)

最差值是硬盘运⾏时各ID项曾出现过的最⼩的value。

最差值是对硬盘运⾏中某项数据变劣的峰值统计,该数值也会不断刷新。通常,最差值与当前值是相等的,如果最差值出现较⼤的波动(⼩

于当前值),表明硬盘曾出现错误或曾经历过恶劣的⼯作环境(如温度)。

临界值(Threshold)

在报告硬盘FAILED状态前,WORST可以允许的最⼩值。

临界值是硬盘⼚商指定的表⽰某⼀项⽬可靠性的门限值,也称阈值,它通过特定公式计算⽽得。如果某个参数的当前值接近了临界值,就意

味着硬盘将变得不可靠,可能导致数据丢失或者硬盘故障。由于临界值是硬盘⼚商根据⾃⼰产品特性⽽确定的,因此⽤⼚商提供的专⽤检测

软件往往会跟Windows下检测软件的检测结果有较⼤出⼊。

硬盘的每项SMART信息中都有⼀个临界值(阈值),不同硬盘的临界值是不同的,SMART针对各项的当前值、最差值和临界值的⽐较结

果以及数据值进⾏分析后,提供硬盘当前的评估状态,也是我们直观判断硬盘健康状态的重要信息。根据SMART的规定,状态⼀般有正

常、警告、故障或错误三种状态。

SMART判定这三个状态与SMART的 Pre-failure/advisory BIT(预测错误/发现位)参数的赋值密切相关,当Pre-failure/advisory

BIT=0,并且当前值、最差值远⼤于临界值的情况下,为正常标志。当Pre-failure/advisory BIT=0,并且当前值、最差值⼤于但接近临界

数据值是硬盘运⾏时各项参数的实测值,⼤部分SMART⼯具以⼗进制显⽰数据。

数据值代表的意义随参数⽽定,⼤致可以分为三类:

1)数据值并不直接反映硬盘状态,必须经过硬盘内置的计算公式换算成当前值才能得出结果;

2)数据值是直接累计的,如Start/Stop Count(启动/停⽌计数)的数据是50,即表⽰该硬盘从出⼚到现在累计启停了50次;

04(004)启停计数 Start/Stop Count

0A(010)主轴起旋重试次数 Spin up Retry Count

B8(184)I/O错误检测与校正 I/O Error Detection and Correction(IOEDC)

这个参数的数据值就是磁头执⾏加载/卸载操作的累计次数。从原理上讲,这个加载/卸载次数应当与硬盘的启停次数相当,但对于笔记本内

C9(201)脱道错误率 Off Track Error Rate / 逻辑读取错误率 Soft Read Error Rate

DE(222)磁头寻道时间累计 Loaded Hours

F2(242)LBA读取总数 Total LBAs Read