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

2023-05-16

参考: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_VALUE
  1 Raw_Read_Error_Rate     0x0000   100   100   000    Old_age   Offline      -       0
  5 Reallocated_Sector_Ct   0x0000   100   100   000    Old_age   Offline      -       0
  9 Power_On_Hours          0x0000   100   100   000    Old_age   Offline      -       52
 12 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 IDS.M.A.R.T. attributeWeightLimit %
05Reallocated Sectors Count270
10Spin Retry Count250
184End-to-End Error150
196Reallocation Event Count140
197Current Pending Sectors Count140
198Offline uncorrectable Sectors Count270
201Soft Read Error Rate120

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

Attribute IDS.M.A.R.T. attribute
01Raw Read Error Rate
02Throughput Performance
03Spin Up Time
04Start/Stop Count
07Seek Error Rate
08Seek Time Performance
09Power-On Time Count
12Drive Power Cycle Count
221G-Sense Error Rate
228Power Off Retract Cycle
225Load/Unload Cycle Count
194Disk Temperature
199Ultra ATA CRC Error Count
193Load/Unload Retry Count
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 2.3 SVC中断

    SVC中断 SVC中断服务函数 通过SVC指令触发SVC中断 define vPortSVCHandler SVC Handler asm void vPortSVCHandler void PRESERVE8 ldr r3 61 pxCu
  • 解决virtualBox ubuntu桥接,nat不能上网问题

    开始配置网络的无论是桥接 xff0c nat模式都不能连接外网 xff0c 尝试了N方法无果 xff0c 最后猜想是不是网卡的设置有问题 结果果然是这里的问题 解决方案 xff1a 打开网络和共享中心 lt lt 更改适配器设置 lt lt
  • ProxmoxVE折腾记录(二)--版本升级

    PVE6 0升级 官方F amp Q https pve proxmox com wiki FAQ faq support table 升级说明 F amp Q10条 11条系统版本说明及升级参考 xff0c 这次准备升级到6 0 5 4的
  • casbin学习笔记

    安装 go get github com casbin casbin v2 span class token keyword import span span class token string 34 github com casbin
  • Linux用户和组管理

    Linux用户和组管理 一 实验目的 1 掌握添加用户 修改用户和删除用户信息的方法 2 掌握添加组 修改组户和删除组的方法 3 掌握修改用户权限的方法 二 实验内容 在字符界面下 xff0c 使用常用的Linux操作命令 xff0c 完成
  • 【Docker环境部署】kong网关搭建,konga安装(参考官网)

    一 下载镜像 docker pull postgres 9 6 docker pull kong docker pull pantsel konga 二 docker安装kong 1 创建网桥 docker network create k
  • 【VBA编程】VBA基础语法(二)

    一 VBA中的内置函数 合理使用函数不但可以节省处理数据的时间 xff0c 提高工作效率还可以降低编程的难度 xff0c 减少编写代码的工作量 例如想知道当前系统时间 xff1a Sub NowTime MsgBox 34 现在的时间是 x
  • 【VBA编程】Sub过程

    过程就是做一件事的经过 xff0c 由不同的操作按先后顺序排列 组合起来 VBA的基本过程有Function过程和Sub过程 过程保存在模块里 Excel对象 xff08 或窗体对象 xff09 也能保存过程 为了避免发生错误 xff0c
  • 【VBA编程】自定义函数,Function过程

    Function过程也称为函数过程 编写一个Function过程 xff0c 就是编写了一个函数 函数可以完成很多复杂的计算 xff0c 如想求A列的和 xff0c 可以使用SUM函数 xff1b Function过程同Sub过程一样 xf
  • 查看网站的技术架构

    想要快速查看网站使用的架构 xff0c 可以在浏览器中添加Wappalyzer插件 以火狐浏览器为例 火狐浏览器 更多工具 61 gt 面向开发者扩展 61 gt 查找Wappalyzer 61 添加 xff0c 即可 红框中即 Wappa
  • Linux服务器查看日志的几种方法

    1 进入日志文件所在的文件目录 xff0c 比如 xff1a cd opt tomcat7 logs 2 通过命令打开日志 xff0c 分析需求场景打开需要的日志 比如 xff1a tail f catalina out 3 常用命令一 x
  • Postman设置网络代理

    1 什么是网络代理 xff1f 在一个基本的网络会话中 xff0c 一个客户端发送一个请求到服务器 xff0c 服务器返回一个响应 xff1b 一个代理服务是一个应用程序或者系统 作为一个中介在你的电脑和互联网之间 客户端和服务器 xff0
  • Postman中的authorization

    1 概述 Authorization是验证是否拥有从服务器访问所需数据的权限 当发送请求时 xff0c 通常必须包含参数 xff0c 以确保请求具有访问和返回所需数据的权限 Postman提供了授权类型 xff0c 可以轻松地在Postma
  • 无法将非静态数据成员声明为 inline

    示例代码 xff1a span class token macro property span class token directive hash span span class token directive keyword inclu
  • C++中类的成员函数(方法)

    文章目录 成员函数 xff08 方法 xff09 示例1 xff1a 在结构体中引入成员函数示例2 xff1a 类示例3 xff1a 类内定义成员函数示例4 xff1a 类内声明 43 类外定义显示内敛的成员函数示例5 xff1a 类内声明
  • visual studio 2019 安装卸载问题

    1 visual studio 2019 安装 问题1 xff1a 如何安装visual studio 2019 企业版 可参考 xff1a http www winwin7 com soft 9019 html xiazai 问题2 xf
  • GDAL图像重采样

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • C#入门基础教程

    文章目录 C 基础入门基本用法 xff08 理解面向对象编程 xff09 示例1 xff1a 创建线类 关键字数据类型数值类型布尔与文本类型引用类型指针类型示例2 xff1a 数值类型示例3 xff1a 文本类型示例4 xff1a Obje
  • 1. 在VS2019上配置PIE.NET-SDK插件式环境(c#)

    1 开发环境部署 确保Win10系统安装Visual Studio2019安装PIESDK Net V6 3 Windows X64 exe 2 创建工程 1 选Windows窗口应用 xff0c 不然后面找不到 Net framwork

随机推荐

  • std::string、const char*、QString之间相互转换

    字符串转换 std string 转 const char std string str 61 34 string 34 const char cstr 61 str c str const char 转 std string span c
  • Cannot convert a symbolic Tensor (simple_rnn/strided_slice:0) to a numpy array. 报错 (解决方法)

    1 报错 问题 xff1a xff08 来自 Python深度学习 P164 165 xff09 在运行以下代码的时候 xff0c 报错 xff1a Cannot convert a symbolic Tensor simple rnn s
  • 图像几何校正

    几何校正中混淆的概念 名词描述几何校正几何畸变会给基于遥感图像的定量分析 变化检测 图像融合 地图测量或更新等处理带来误差 xff08 主要指二维平面坐标 xff09 xff0c 所以需要针对图像的几何畸变进行校正 xff0c 也就是几何校
  • 解决VS2015 安装失败问题,如安装包损坏或丢失

    搜索包路径选择下面这个路径
  • 1.ODBC连接Postgresql

    SQLDriverConnect SQLDriverConnect 是 SQLConnect 的替代方法 它支持需要比 SQLConnect 中的三个参数更多的连接信息的数据源 对话框来提示用户输入所有连接信息 xff0c 以及系统信息中未
  • ImportError: DLL load failed while importing Qsci

    pyqt5报错 xff1b ImportError span class token operator span DLL load failed span class token keyword while span importing Q
  • 关于编译QGIS3.22.12配置的python库

    注意 xff1a 安装了多个python环境的很容易编译出错 xff1b 其中3 22需要配置python3 9的环境 在编译QGIS过程中的报错 报错1 xff1a No module named span class token cha
  • Qt中设置删除提示框

    Qt中设置删除提示框 QMessageBox StandardButton sButton 61 QMessageBox question NULL QObject tr 34 提示 34 QObject tr 34 该数据是否删除 34
  • 你真的对图像格式了解么?

    图像是人类视觉的基础 xff0c 是自然景物的客观反映 xff0c 是人类认识世界和人类本身的重要源泉 图 是物体反射或透射光的分布 xff0c 像 是人的视觉系统所接受的图在人脑中所形成的印象或认识 xff0c 照片 绘画 剪贴画 地图
  • 配置Qt中pro、pri文件

    002helloWorld pro span class token macro property span class token directive hash span span class token directive keywor
  • 构建一个字符串类

    文章目录 1 构建字符串数据 2 创建那些函数给外界调用 1 构造函数以及设计构造函数初值 2 类内带有指针 考虑3个特殊重要函数 3 考虑辅助函数 3 定义具体函数 1 设计构造函数内容
  • PostgreSQL查询

    PostgreSQL 数据库连接 QT xff1a 建立到数据库的连接 QSqlDatabase db 61 QSqlDatabase addDatabase 34 QPSQL 34 db setHostName 34 localhost
  • Conda install 报错:An HTTP error occurred when trying to retrieve this URL. HTTP errors are often...

    1 问题描述 xff1a 准备在Anaconda prompt执行以下命令 xff1a conda install c stellargraph stellargraph 报错 xff1a An HTTP error occurred wh
  • svn原理----revert,回滚

    一 子命令Svn revert 取消所有的本地编辑 下面我们来看一下子命令Svn revert例子 xff1a 丢弃对一个文件的修改 xff1a Svn revert foo c Reverted foo c 如果你希望恢复一整个目录的文件
  • Qt 自定义控件提升,头文件找不到的问题

    Qt 自定义控件提升 xff0c 头文件找不到的问题 在附加包含目录添加 xff1a
  • 分析int(*p)[4] = a

    面试题 xff1a 二级指针 include lt iostream gt int main int a 3 4 61 0 1 2 3 4 5 6 7 8 9 10 11 int p 4 61 a std cout lt lt p 43 1
  • af::convolve在CUDA中局限性

    使用在Cuda出现访问冲突问题 xff08 opengcl正常 xff09 xff1a af convolve I I kernel 报错 xff1a 0x00007FFC6443ADAC af dll 处 位于 XXXX exe 中 引发
  • 2016

    2016 最近 xff0c 许多朋友兴起总结2016了 xff0c 看得我心痒 xff0c 心热 我自己不禁也总结起来了 别人的总结要么是 2016XXXX 要么是 2016OOOO 我苦思2秒 xff0c 却想不起一个标题来 xff0c
  • gdb反汇编disassemble

    GDB Command Reference disassemble command gdb反汇编可用disassemble disass命令 用法如下 xff1a disassemble disassemble Function 指定要反汇
  • S.M.A.R.T. 参数(smartctl)计算硬盘精确健康值

    参考 xff1a Acronis Drive Monitor Disk Health Calculation 文章目录 1 背景2 smartctl a dev sda3 计算健康值3 1 关键参数3 1 1 公式说明3 2 2 计算举例