SMART监控磁盘参数简介

本文介绍了SMART监控中的磁盘参数,特别是针对SSD的特定指标,如Available_Reservd_Space、Media_Wearout_Indicator和Host_Writes_32MiB。通过这些参数,我们可以了解SSD的健康状况和剩余寿命。例如,当Media_Wearout_Indicator值降低到1时,建议备份数据并更换SSD。通过计算,即便在高写入量情况下,SSD的寿命也可能远超硬件淘汰周期。
部署运行你感兴趣的模型镜像
             
       S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology; often written as SMART)是一个可以对硬盘(HDDS)和固盘(SSD)多种运行参数指标检测收集并实现对磁盘故障预判的系统。
      当S.M.A.R.T系统预判到一个磁盘错误时,用户可能会选择替换磁盘来避免突发性故障和数据丢失,而生产磁盘的厂商则会根据S.M.A.R.T系统里的数据来找寻故障原因从而再下次成产设计中改善磁盘性能。
S.M.A.R.T研究背景:
磁盘故障问题基本包含有两种情况:
      1.机械盘面磨损等机械性问题可能引起磁盘的IO响应慢,数据读写异常等问题,而这种情况下,对于磁盘故障的监控和预判变得更加合理。
      2.另外一种是磁盘突然故障,没有任何报警和提示,这会让问题变棘手,因为不可预测性。追寻原因的话这可能是电子元器件本身质量或设计上不合理造成。
       据统计,磁盘机械故障占据所有故障问题的60%。虽然故障导致的问题可能是灾难性的,但是大部分机械层面的故障问题会影响并导致磁盘的性能逐渐下降,而这种势头都可以在一些相对应的磁盘参数指标中体现,如温度上升,有噪声,数据读写出错,或者磁盘的坏块严重增加等。
       Google在9个月的时间里,研究100,000块磁盘设备的SMART系统和实际磁盘故障问题的关联性。研究发现,对于磁盘SMART监控出现off-line uncorrectable error(SMART字段号:198)的磁盘的故障率是其它没有该现象的磁盘的39倍。First errors in reallocations,offline reallocations(SMART字段号:196和5)和磁盘故障也有比较大的联系。至于磁盘温度升高,这个研究表明和磁盘的健康状况并没有太大的关联。然而,研究也发现有很大的比例(56%)的磁盘故障没有在一些SMART Warning指标里有所体现,有36%比例的磁盘故障更是SMART里没有记录任何的error信息。这也意味着单从SMART监控的数据来预判磁盘故障问题有一定的局限性。
        关于S.M.A.R.T的由来和各个主要厂商的支持情况以及详细SMART属性说明等,可以参考以下链接。本文的内容主要也是参考该篇文章。
参考链接:http://en.wikipedia.org/wiki/S.M.A.R.T#cite_note-PCTechGuide-4
下面重点介绍SMART的一些重要的磁盘监控参数:
05 0X05 Reallocated Sectors Count :重分配扇区数
        当硬件驱动发现一个扇区出现读/写/校验错误时,它把这个扇区标记成"reallocated",然后把数据转向一块特殊的预留扇区。这个操作通常也认为是重映射。这个RAW_VALUE值越高代表着坏块数就越多,这样就越多的扇区需要重分配,后续出现磁盘故障问题的概率也就越大。同时,随着重分配扇区数的增加,预留空间也会逐渐减少,而磁盘每次的读写操作就有更多的概率跳转到新的扇区,对于连续读写来说,这会一定程度的影响读写速度(由于指针跳转),导致性能下降。
10 0X0A Spin Retry Count : 电机重转次数
        这个值累积统计电机从启动到达到最大操作速度的次数,通常为0,或有时第一次尝试是失败的,为1。这个字段RAW_VALUE的增加将代表的磁盘机械系统出现问题。
184 0XB8 End-to-End error / IOEDC : 端到端IO错误
这个值代表着数据在磁盘缓存和传输通道中传输遇到了些校验错误
188 0XBC Command Timeout  :操作延时
这个值代表硬盘操作延时,通常应该为0.如果这个RAW_VALUE远大于0,那就有比较大的问题,很有可能是电源供电不足或是数据表过氧化引起。
196 0xC4 Reallocation Event Count : 重分配扇区事件操作
这个值统计着数据由出错扇区到预留空间的一些映射操作,成功或者失败的次数累积。通常这个值越大也是代表着性能越不好。
197 0xC5 Current Pending Sector Count : 不稳定扇区数
这个值统计“不稳定”扇区(那些出现不可恢复性读错误而等待被映射的扇区)。如果1个不稳定扇区在接下来的读是成功的,那么这个扇区会被重映射使用,这个RAW_VALUE也会减少。磁盘读错误扇区并不会马上被映射走,这是由于扇区中正确的值读不出来,所以想要重映射的值也无法知道,而且它很有可能在下次操作时又变得可读;相反,驱动固件则会记住这个需要被重映射的扇区,并且会在下次写这块扇区的时候才有映射操作。然而在写扇区的时候也不是马上就映射该扇区,而是再尝试一些写是否成功,是的话则会标记成good(这种情况,Reallocation Event Count 值不会增加)。这是一个很严重的缺陷,因为如果有一个读错误的坏块扇区,在下一次磁盘写扇区的时候是成功的,这样的话这些扇区就永远不会被重映射。
198 0xC6 Uncorrectable Sector Count: 不可恢复扇区数

这里统计着在磁盘读/写时发现不可恢复错误的扇区数,这个字段的RAV_VALUE增加表示着盘面或者机械系统出现问题。


---------------------------HDD smartctl -a /dev/sdX 输出结果 -------------------------------------


----------------------SSD    smartctl -a /dev/sdX 输出结果 --------------------------


此外,可以看到SSD相比普通硬盘会增加多出一些字段参数,这里也介绍它们的用途:

232 :Available_Reservd_Space: SSD上剩余的保留空间, 初始值为100,表示100%,阀值为10,递减到10表示保留空间已经不能再减少

233 : Media_Wearout_Indicator: 使用耗费,100为没有任何耗费;表示SSD上NAND的擦写次数的程度,初始值为100,随着擦写次数的增加,开始线性递减,递减速度按照擦写次数从0到最大的比例。一旦这个值降低到 1,就不再降了,同时表示SSD上面已经有NAND的擦写次数到达了最大次数。这个时候建议需要备份数据,以及更换SSD。上面的机器为098,按照100滴血算,目前只耗了2滴血。

241:Host_Writes_32MiB: 已写32MiB, 每写入65536个扇区raw value增加1。这个扇区还是个数量单位,512字节 

比如:这块盘就是 391380 * 65536 * 512 =  391380 * 32M = 12230.63GB

类似的还有:Host_Reads_32MiB


SSD寿命推算:

假设SSD单盘实际160GB(实际使用大小147G)大小,写入量10TB的话,就是每块单盘经历了10TB/147GB=70次相当于全盘写一遍,去除第一次空盘时写入的量,还有69次应该是“擦除”-“写入”的过程,为计算简便,我们就认为已经擦写了70次了。再考虑磨损率最大仅有2%,则我们的SSD盘厂商保证可擦写次数>=69/0.02=3450次

于是可以推算出:

1.    该盘至少还可以写入(3450-69)*100GB=485 TB的数据

2.   假设上线到现在超过2年了,按已有的使用率(1年写入35TB),还可以用485TB/35=13.8

这个寿命周期已经远远超过硬件淘汰周期了!




   




您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值