参考:Acronis Drive Monitor: Disk Health Calculation

文章目录

  • 1、背景
  • 2、smartctl -a /dev/sda
  • 3、计算健康值
    • 3.1 关键参数
      • 3.1.1 公式说明
      • 3.2.2 计算举例
    • 3.2 其它参数
  • 4、附录
    • 表1 关键属性的阈值和权重
    • 表2 其它影响健康值的参数

1、背景

需要监控硬盘精确的健康值。
我们知道smartctl工具可以实现对硬盘的健康检测,但是并没有给出具体的健康值信息。

例如,smartctl -H /dev/sda命令可以检测硬盘:

~# smartctl -H /dev/sda
smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.19.0-12-2-amd64] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED~#

SMART overall-health self-assessment test result: PASSED 说明检查通过。能说明基本的监控状态,但是不包含精确的健康值信息。

2、smartctl -a /dev/sda

实际上,smartctl工具能监控到关于硬盘健康度的所有信息:

~# smartctl -a /dev/sda
省略部分信息……
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE1 Raw_Read_Error_Rate     0x0000   100   100   000    Old_age   Offline      -       05 Reallocated_Sector_Ct   0x0000   100   100   000    Old_age   Offline      -       09 Power_On_Hours          0x0000   100   100   000    Old_age   Offline      -       5212 Power_Cycle_Count       0x0000   100   100   000    Old_age   Offline      -       59
160 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       0
161 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       158
163 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       7
164 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       6313
165 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       8
166 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       0
167 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       3
168 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       3000
169 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       100
175 Program_Fail_Count_Chip 0x0000   100   100   000    Old_age   Offline      -       0
176 Erase_Fail_Count_Chip   0x0000   100   100   000    Old_age   Offline      -       0
177 Wear_Leveling_Count     0x0000   100   100   050    Old_age   Offline      -       0
178 Used_Rsvd_Blk_Cnt_Chip  0x0000   100   100   000    Old_age   Offline      -       0
181 Program_Fail_Cnt_Total  0x0000   100   100   000    Old_age   Offline      -       0
182 Erase_Fail_Count_Total  0x0000   100   100   000    Old_age   Offline      -       0
192 Power-Off_Retract_Count 0x0000   100   100   000    Old_age   Offline      -       2
194 Temperature_Celsius     0x0000   100   100   000    Old_age   Offline      -       39
195 Hardware_ECC_Recovered  0x0000   100   100   000    Old_age   Offline      -       0
196 Reallocated_Event_Count 0x0000   100   100   016    Old_age   Offline      -       0
197 Current_Pending_Sector  0x0000   100   100   000    Old_age   Offline      -       0
198 Offline_Uncorrectable   0x0000   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0000   100   100   050    Old_age   Offline      -       0
232 Available_Reservd_Space 0x0000   100   100   000    Old_age   Offline      -       100
241 Total_LBAs_Written      0x0000   100   100   000    Old_age   Offline      -       5141
242 Total_LBAs_Read         0x0000   100   100   000    Old_age   Offline      -       1575
245 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       12626

3、计算健康值

3.1 关键参数

3.1.1 公式说明

所有 smartctl监控到的S.M.A.R.T.参数,都是对硬盘驱动器至关重要的参数(是否支持监控这些参数,取决于硬盘制造商)。通过这些参数可以计算出硬盘运行情况和健康值。 监控到的属性具有规范的预定义的权重和最大限值(参见附录表 1)。

属性的限值定义了属性可能会降低整体健康值的程度。 属性的权重定义了参数值降低受影响磁盘健康值的重要性。

公式
Disk health (%) = П (100% - (min(limit, attribute_value*Weight)))

参数说明

  1. 100% - 磁盘初始的健康值;
  2. limit - 每个S.M.A.R.T. 属性的限值 (参看附录表1);
  3. attribute_value -利用工具监控到的,属性的当前值;
  4. Weight - 每个S.M.A.R.T. 属性的权重 (参看附录表1);
  5. П - 累乘符号,所有关键属性通过公式100% - (min(limit, attribute_value*Weight))计算出的值相乘;

3.2.2 计算举例

举个简化的例子,包含两个参数:

  1. Soft Read Error Rate = 30 (attribute value), 查表得weight = 1, limit = 20;
  2. Spin Retry Count = 12 (attribute value), 查表得weight = 2, limit = 50.

按照公式计算的健康值:
Disk health = (100% – (min(30*1, 20))) * (100-min(12*2, 50))) = 80%*76%=60.8%

3.2 其它参数

其他的一些 S.M.A.R.T. 属性(参看附录表2),若磁盘制造商针对这些属性定义了阈值(THRESH列),这些参数也会影响到健康值的计算:当某项属性低于阈值后,则将3.1中计算的Disk health值减去减去 10%。
例如:
Disk health = 90%,如果某项属性低于阈值,则减去90%的10%,最终Disk health = 90% - 9% = 81%

4、附录

表1 关键属性的阈值和权重

Attribute ID S.M.A.R.T. attribute Weight Limit %
05 Reallocated Sectors Count 2 70
10 Spin Retry Count 2 50
184 End-to-End Error 1 50
196 Reallocation Event Count 1 40
197 Current Pending Sectors Count 1 40
198 Offline uncorrectable Sectors Count 2 70
201 Soft Read Error Rate 1 20

表2 其它影响健康值的参数

Attribute ID S.M.A.R.T. attribute
01 Raw Read Error Rate
02 Throughput Performance
03 Spin Up Time
04 Start/Stop Count
07 Seek Error Rate
08 Seek Time Performance
09 Power-On Time Count
12 Drive Power Cycle Count
221 G-Sense Error Rate
228 Power Off Retract Cycle
225 Load/Unload Cycle Count
194 Disk Temperature
199 Ultra ATA CRC Error Count
193 Load/Unload Retry Count

S.M.A.R.T. 参数(smartctl)计算硬盘精确健康值相关推荐

  1. R语言使用options参数指定计算结果中显示的有效数字的位数

    R语言使用options参数指定计算结果中显示的有效数字的位数 目录 R语言使用options参数指定计算结果中显示的有效数字的位数

  2. Lesson 16.1016.1116.1216.13 卷积层的参数量计算,1x1卷积核分组卷积与深度可分离卷积全连接层 nn.Sequential全局平均池化,NiN网络复现

    二 架构对参数量/计算量的影响 在自建架构的时候,除了模型效果之外,我们还需要关注模型整体的计算效率.深度学习模型天生就需要大量数据进行训练,因此每次训练中的参数量和计算量就格外关键,因此在设计卷积网 ...

  3. matlab 判断两个矩阵有元素相等_如何使用MATLAB对Excel中的多参数进行计算?

    THE START MATLAB和Excel这两者之间有着什么样的关系呢?今天我把之前学习以及用到的关于用MATLAB读写Excel数据,并进行计算处理的经验分享给需要的小伙伴.参加过数学建模的这个应 ...

  4. matlab求第二类曲面积分,第二型曲面积分的参数形式计算

    给出"第二型曲面积分"的一种计算方法,即在曲面的参数形式下直接将曲面积分转化成参数区域上的一个二重积分,由此可使"第二型曲面积分"的计算问题得到简化.此法是对菲 ...

  5. 坐标转换程序:(1)四参数和七参数的计算

    个人想分享一些在大学中编写的一些程序,在进行坐标转换的时候,我们经常涉及到四参数与七参数的计算,在文章中,采用C#语言来进行编程,方便计算. (1)四参数的计算: 在转换范围较小内不同的平面坐标转换通 ...

  6. 网络计划--时间参数的计算和优化

    根据网络图的基本概念和原则绘制出网络图之后,我们可以计算网络图中有关的时间参数,主要目的是找出关键路线,为网络计划的优化.调整和执行提供明确的时间概念.如下图中从始点①到终点⑧共有4条路线,可以分别计 ...

  7. 运筹说 第87期 | 网络计划-时间参数的计算

    一.引例 根据网络图的基本概念和原则绘制出网络图之后,我们可以计算网络图中有关的时间参数,主要目的是找出关键路线,为网络计划的优化.调整和执行提供明确的时间概念.如下图中从始点①到终点⑧共有4条路线, ...

  8. 卷积核参数的计算及1*1卷积核

    卷积过程 首先,明确一个概念:卷积并不只是一个二维的过程,实际上对于输入的图片一般而言是三个通道的(R.G.B),那为什么输出的结果可以是128个通道呢?实际上经过卷积过后的通道数是由卷积核的个数来决 ...

  9. R语言sd函数计算数值标准差实战(Standard Deviation)

    R语言sd函数计算数值标准差实战(Standard Deviation) 目录 R语言sd函数计算数值标准差实战(Standard Deviation) #基本语法 #sd

最新文章

  1. C语言博客作业--字符数组
  2. 分享Kali Linux 2016.2第48周镜像文件
  3. 非平坦结构元matlab,基于MATLAB的巴特沃思型数字滤波器设计.doc
  4. SAP Spartacus的Component 请求
  5. 深入学习Redis(1):Redis内存模型
  6. linux脚本输出缓存上限,关于 Linux 下后台执行 Python 脚本的缓冲问题
  7. 打通语言理论和统计 NLP 两个世界,Transformers/GNNs 架构能做到吗?
  8. PHP设计模式——六大原则
  9. Python I/O及FIle方法
  10. linux变量接收命令返回值,linux shell自定义函数(定义、返回值、变量作用域)介绍...
  11. Cesium笔记(3):基本控件简介—ImageryProvider地图瓦片地图配
  12. UE4在VR模式下使用3D控件
  13. fgo服务器维护补偿什么时候才有,FGO11月02日临时维护公告 补偿奖励一览
  14. conda 小tips
  15. 调色板程序c语言,用C语言开发NES游戏(CC65)05、调色板
  16. Alien Skin Exposure X4 Bundle 4.5.3.66 特别版 Mac 模拟胶片效果调色滤镜
  17. 技术解读:Dragonfly 基于 P2P 的智能镜像加速系统 | 龙蜥技术
  18. OpenCV中(rows,cols)与图像(x,y)
  19. import image的坑
  20. 关于选牛和选马的问题

热门文章

  1. 跟我学:1000句最常用英语口语
  2. python 中在字符串前面加上b,u,r的含义
  3. 2021年中国金针菇供需现状及竞争格局分析,上半年行业整体盈利水平降低「图」
  4. RJ45接头 和 RJ48接头的区别
  5. 经典Java面试题-Java中Char类型的运算
  6. element ui走马灯怎么添加_element-ui对话框与走马灯一起用
  7. 在Excel中如何把每三行数据合并为一行?
  8. Vue3+Vite+TS后台项目 ~ 10.商品管理
  9. Zabbix - 微信报警
  10. 重温FPGA开发32