S.M.A.R.T. 参数(smartctl)计算硬盘精确健康值
参考: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)))
参数说明:
- 100% - 磁盘初始的健康值;
- limit - 每个S.M.A.R.T. 属性的限值 (参看附录表1);
- attribute_value -利用工具监控到的,属性的当前值;
- Weight - 每个S.M.A.R.T. 属性的权重 (参看附录表1);
- П - 累乘符号,所有关键属性通过公式
100% - (min(limit, attribute_value*Weight))
计算出的值相乘;
3.2.2 计算举例
举个简化的例子,包含两个参数:
- Soft Read Error Rate = 30 (attribute value), 查表得weight = 1, limit = 20;
- 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)计算硬盘精确健康值相关推荐
- R语言使用options参数指定计算结果中显示的有效数字的位数
R语言使用options参数指定计算结果中显示的有效数字的位数 目录 R语言使用options参数指定计算结果中显示的有效数字的位数
- Lesson 16.1016.1116.1216.13 卷积层的参数量计算,1x1卷积核分组卷积与深度可分离卷积全连接层 nn.Sequential全局平均池化,NiN网络复现
二 架构对参数量/计算量的影响 在自建架构的时候,除了模型效果之外,我们还需要关注模型整体的计算效率.深度学习模型天生就需要大量数据进行训练,因此每次训练中的参数量和计算量就格外关键,因此在设计卷积网 ...
- matlab 判断两个矩阵有元素相等_如何使用MATLAB对Excel中的多参数进行计算?
THE START MATLAB和Excel这两者之间有着什么样的关系呢?今天我把之前学习以及用到的关于用MATLAB读写Excel数据,并进行计算处理的经验分享给需要的小伙伴.参加过数学建模的这个应 ...
- matlab求第二类曲面积分,第二型曲面积分的参数形式计算
给出"第二型曲面积分"的一种计算方法,即在曲面的参数形式下直接将曲面积分转化成参数区域上的一个二重积分,由此可使"第二型曲面积分"的计算问题得到简化.此法是对菲 ...
- 坐标转换程序:(1)四参数和七参数的计算
个人想分享一些在大学中编写的一些程序,在进行坐标转换的时候,我们经常涉及到四参数与七参数的计算,在文章中,采用C#语言来进行编程,方便计算. (1)四参数的计算: 在转换范围较小内不同的平面坐标转换通 ...
- 网络计划--时间参数的计算和优化
根据网络图的基本概念和原则绘制出网络图之后,我们可以计算网络图中有关的时间参数,主要目的是找出关键路线,为网络计划的优化.调整和执行提供明确的时间概念.如下图中从始点①到终点⑧共有4条路线,可以分别计 ...
- 运筹说 第87期 | 网络计划-时间参数的计算
一.引例 根据网络图的基本概念和原则绘制出网络图之后,我们可以计算网络图中有关的时间参数,主要目的是找出关键路线,为网络计划的优化.调整和执行提供明确的时间概念.如下图中从始点①到终点⑧共有4条路线, ...
- 卷积核参数的计算及1*1卷积核
卷积过程 首先,明确一个概念:卷积并不只是一个二维的过程,实际上对于输入的图片一般而言是三个通道的(R.G.B),那为什么输出的结果可以是128个通道呢?实际上经过卷积过后的通道数是由卷积核的个数来决 ...
- R语言sd函数计算数值标准差实战(Standard Deviation)
R语言sd函数计算数值标准差实战(Standard Deviation) 目录 R语言sd函数计算数值标准差实战(Standard Deviation) #基本语法 #sd
最新文章
- C语言博客作业--字符数组
- 分享Kali Linux 2016.2第48周镜像文件
- 非平坦结构元matlab,基于MATLAB的巴特沃思型数字滤波器设计.doc
- SAP Spartacus的Component 请求
- 深入学习Redis(1):Redis内存模型
- linux脚本输出缓存上限,关于 Linux 下后台执行 Python 脚本的缓冲问题
- 打通语言理论和统计 NLP 两个世界,Transformers/GNNs 架构能做到吗?
- PHP设计模式——六大原则
- Python I/O及FIle方法
- linux变量接收命令返回值,linux shell自定义函数(定义、返回值、变量作用域)介绍...
- Cesium笔记(3):基本控件简介—ImageryProvider地图瓦片地图配
- UE4在VR模式下使用3D控件
- fgo服务器维护补偿什么时候才有,FGO11月02日临时维护公告 补偿奖励一览
- conda 小tips
- 调色板程序c语言,用C语言开发NES游戏(CC65)05、调色板
- Alien Skin Exposure X4 Bundle 4.5.3.66 特别版 Mac 模拟胶片效果调色滤镜
- 技术解读:Dragonfly 基于 P2P 的智能镜像加速系统 | 龙蜥技术
- OpenCV中(rows,cols)与图像(x,y)
- import image的坑
- 关于选牛和选马的问题