磁盘检测之读懂SMART

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

磁盘检测之读懂S.M.A.R.T
S.M.A.R.T.(自监测、分析、报告技术):这是现在硬盘普遍采用的数据安全技术,在硬盘工作的时候监测系统对电机、电路、磁盘、磁头的状态进行分析,当有异常发生的时候就会发出警告,有的还会自动降速并备份数据。

早在上个世纪九十年代,人们就意识到数据的宝贵性胜于硬盘自身价值,渴望有种技术能对硬盘故障进行预测并实现相对安全的数据保护,因此S.M.A.R.T技术应运而生。

对于不少用户,特别是商业用户而言,一次普通的硬盘故障便足以造成灾难性后果,所以时至今日,S.M.A.R.T技术仍为我们所用。

S.M.A.R.T信息保留在硬盘的系统保留区(service area)也叫固件区内,这个区域一般位于硬盘0物理柱面的最前面几十个物理磁道,由厂商写入相关内部管理程序。

系统保留区除了S.M.A.R.T信息表外还包括低级格式化程序、加密解密程序、自监控程序、自动修复程序等。

监测软件通过一个名为“SMART RETURN STATUS”的命令(命令代码为:B0h)对S.M.A.R.T信息进行读取,且不允许最终用户对信息进行修改。

在硬盘以及操作系统都支持S.M.A.R.T.技术并且该技术默认开启的的情况下,在不良状态出现时S.M.A.R.T.技术能够在屏幕上显示英文警告信息:“WARNING:IMMEDIATLY BACKUP YOUR DATA AND REPLACE YOUR HARD DISK DRIVE,A FAILURE MAY BE IMMINENT.” (警告:立刻备份你的数据同时更换硬盘驱动器,可能有错误出现。


SMART数据分析:
例如用任意软件查看硬盘的SMART结果如下:
S.M.A.R.T检测参数分为7列,分别是ID检测代码、属性描述、属性值、最大错误值、阈值、实际值和属性状态。

ID检测代码(ID)
ID检测代码不是唯一的,厂商可以根据需要,使用不同的ID代码或根据检测参数的多少增减ID代码的数量。

上表已经详细介绍了ID检测代码及其说明。

属性描述(Name)
属性描述即检测项目名称。

可由厂商自定义增减,由于ATA标准不断更新,有时候同一品牌的不同型号产品也会有所不同。

但必须确保S.M.A.R.T规定的几个主要检测项目(虽然不同厂商对检测项目都有特定的命名规则,但这些监测项目的实质其实是一样的)。

阈值(Tresh)
是由硬盘厂商指定的可靠的属性值,通过特定公式计算而得。

如果有一个属性值低于相应的阈值,就意味着硬盘将变得不可靠,保存在硬盘里的数据也很容易丢失。

可靠属性值的组成和大小对不同硬盘来说是有差异的。

这里需要注意的是,ATA标准中只规定了一些S.M.A.R.T参数,它没有规定具体的数值,“Threshold”的数值是厂商根据自己产品特性而确定的。

因此,用厂商自己提供的检测软件往往会跟Windows下的检测软件(例如AIDA32)的检测结果有较大出入。

这里,推荐以厂商软件的检测结果为标准,因为Windows环境下,系统要求硬盘的启动程序比DOS下多得多,这可能导致硬盘S.M.A.R.T值比DOS环境下检测的波动更大。

属性值(VAL)
属性值是指硬盘出厂时预设的最大正常值,一般范围为1~253。

通常,最大的属性值等于100(适用于IBM、昆腾、富士通)或253(适用于三星)。

当然,也有例外的时候,比如由西部数据公司生产的部分型号硬盘,就用了两个不同的属性值,最初生产时属性值设为200,但后来生产的硬盘属性值又改为100。

最大出错值(Wrst)
最大出错值是硬盘运行中曾出现过的最大的非正常值。

它是对硬盘累计运行的计算值,根据运行周期,该数值会不断地刷新,并且会非常接近阈值。

S.M.A.R.T分析和判定硬盘的状态是否正常,就是根据这个数值和阈值的比较结果而定。

新硬盘开始时有最大的属性值,但随着日常使用或出现错误,该值会不断减小。

因此,较大的属性值意味着硬盘质量较好而且可靠性较高,而较小的属性值则意味着故障发生的可能性增大。

实际值(Raw)
是硬盘各检测项目运行中的实际数值,很多项目是累计值。

例如:上图中的Power Cycle Count(启停次数),累计的实际值是3201,即该硬盘从开始到现在累计加电启停3201次。

属性状态(Health)
这是S.M.A.R.T针对前面的各项属性值进行比较分析后,提供的硬盘各属性目前的状态,也是我们直观判断硬盘“健康”状态的重要信息。

根据S.M.A.R.T的规定,这种状态一般有正常、警告和报告故障或错误等3种状态。

S.M.A.R.T判定出这3个状态与S.M.A.R.T的Pre-failure/advisory BIT(预知错误/发现位)参数的赋值密切相关。

当Pre-failure/advisory BIT=0,并且可靠属性值远大于阈值的情况下,为正常提示“OK”标志。


Pre-failure/advisory BITt=0,并且可靠属性值大于阈值但接近阈值临界值时,为警告提示“!”标志;当Pre-failure/advisory BITt=1,并且可靠属性值小于阈值时,为报告故障或错误提示“!!!”标志。

在图中,我们发现出现“OK”标志的正常状态下有“值正常”(Value is Normal)和“总是略过”(Always Passing)两个状态说明。

它们的区别是:“值正常”表明此项S.M.A.R.T值是正常的,硬盘没有故障;“永远略过”则表明此项只是某参数的记录,没有合格与不合格的标准,如“Power-on time”,这个参数只是记录了硬盘已经加电工作的时间,这个参数应当永远合格,它不用来衡量硬盘的性能,因此显示为“OK:Value is Normal”。

下面我们以ID为“04”的Number of spin-up times(加电次数)检测参数为例,完整地来理解这7列参数的意义:从图中我们看到此参数规定的属性正常值(VAL)为“100”,这个正常值是通过计算公式:“100-硬盘正常使用寿命期间的加电次数/1024”而给出的。

而最大出错值是硬盘运行的累计计算值。

例如如果是新硬盘,则加电次数为0,因此为100-0/1024=100,最大出错值=属性正常值。

随着加电次数的增加,该最大出错值不断变化。

厂商规定的阈值为20,即当硬盘的开关电次数达到81920次时(100-81920/1024=20),
最大出错值=阈值,系统就会提示用户备份数据。

因此,加电次数在81920次范围之内,并且最大出错值始终大于阈值20的状态下,均为正常。

图中的加电次数(Raw实际值)为3381次,因此最大出错值近似为100,状态显示为“OK:Value is Normal(值正常)”。

需要特别注意的是:每一个参数所给出的值都是经过一些特定的计算公式而给出的。

作为用户,只要观察“Wrst”和“Tresh”值的关系,并注意状态提示属性状态信息即可大致了解硬盘的健康状况。

本文部分内容来自网络搜索。

特殊问题的解答
1.组建RAID之后,S.M.A.R.T是否仍然生效?
用户组建RAID之后,S.M.A.R.T功能仍然有效,但是这需要RAID卡控制芯片支持S.M.A.R.T功能。

实际上,RAID卡的S.M.A.R.T报警功能与硬盘在常规状态下的报错信息并无太大差别。

报警时,相应模块所对应的硬盘指示灯(通常为红色)会长亮以起到警示作用。

2.为什么监测不到USB接口外置硬盘的S.M.A.R.T状态?
对于一个USB接口外置硬盘而言,系统将它判定为一个USB设备,监测不到S.M.A.R.T信息是因为USB标准中没有此项规定。

此时虽然硬盘自身仍然在记录S.M.A.R.T状态,但由于它是USB外设,系统就不会监测它的S.M.A.R.T状态。

3.S.M.A.R.T功能对系统性能是否有影响?
硬盘记录S.M.A.R.T信息有两种方式,第一种是“在线(On-line)”收集,所谓在线收集就是硬盘在工作时,根据硬盘的实际工作状态收集到的信息,硬盘实时或在指定时间段内更新自身的S.M.A.R.T数据。

举例来说,如果一个ATA硬盘在写入数据到一个扇区时,遇到一个不可修正的错误,硬盘会及时把这个信息更新到SMART数据中;对于SCSI硬盘,如果它设定的S.M.A.R.T更新周期是4分钟,则它会把在4分钟内收集到的相关S.M.A.R.T信息更新到S.M.A.R.T数据区,然后再开始下一个周期的跟踪。

在线收集状态对系统性能没有影响。

第二种是“离线(off-line)”收集,离线收集是硬盘收到主机发来的一些特定指令时而进行自检测试,此时硬盘会处于“idel”状态或错误修正状态,在这类情况下,硬盘自身将作大量动作以测试健康状态,导致硬盘对主机发出的正常要求产生延迟。

所以离线收集状态会造成系统性能的下降。

4.S.M.A.R.T技术对相关信息的记录是否有周期性?
对于SCSI硬盘而言,记录S.M.A.R.T信息有周期性,一般情况下周期处于4分钟~120分钟之间。

这个值在硬盘出厂时就已设定,并且只能通过专业软件进行修改;而对于ATA硬盘,S.M.A.R.T信息的记录则没有周期性。

相关文档
最新文档