硬盘监控和分析工具:Smartctl

news2024/9/20 18:29:26

文章目录

  • 1. 概述
  • 2. 安装
  • 3. 使用
  • 4. smartctl属性信息介绍

1. 概述

Smartctl(S.M.A.R.T 自监控,分析和报告技术)是类Unix系统下实施SMART任务命令行套件或工具,它用于打印SMART自检和错误日志,启用并禁用SMRAT自动检测,以及初始化设备自检。
Smartctl对于Linux物理服务器十分有用,在这些服务器上,可以对智能磁盘进行错误检查,并将与硬件RAID相关的磁盘信息摘录下来。

2. 安装

对于 Ubuntu

$ sudo apt-get install smartmontools

CentOS & RHEL

# yum install smartmontools

3. 使用

  1. 检查磁盘的 Smart 功能是否启用
root@linuxtechi:~# smartctl -i /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF INFORMATION SECTION ===
Model Family:     Seagate Momentus 5400.6
Device Model:     ST9320325AS
Serial Number:    5VD2V59T
LU WWN Device Id: 5 000c50 020a37ec4
Firmware Version: 0002BSM1
User Capacity:    320,072,933,376 bytes [320 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    5400 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 1.5 Gb/s
Local Time is:    Sun Nov 16 12:32:09 2014 IST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
  1. 启用磁盘的smart功能
root@linuxtechi:~# smartctl -s on /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.
  1. 禁用磁盘smart功能
root@linuxtechi:~# smartctl -s off  /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Disabled. Use option -s with argument 'on' to enable it.
  1. 显示磁盘详细信息
root@linuxtechi:~# smartctl -a /dev/sdb              // For IDE drive
root@linuxtechi:~# smartctl -a -d ata /dev/sdb       // For SATA drive
  1. 显示磁盘总体健康状况
root@linuxtechi:~# smartctl -H  /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
Please note the following marginal Attributes:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
190 Airflow_Temperature_Cel 0x0022   067   045   045    Old_age   Always   In_the_past 33 (Min/Max 25/33)
  1. 使用long和short选项测试硬盘
    长测试
root@linuxtechi:~# smartctl --test=long /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 102 minutes for test to complete.
Test will complete after Sun Nov 16 14:29:43 2014
 
Use smartctl -X to abort test.

short测试

root@linuxtechi:~# smartctl --test=short /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 1 minutes for test to complete.
Test will complete after Sun Nov 16 12:51:45 2014
 
Use smartctl -X to abort test.

注意:short测试将花费最多2分钟,而在long测试中没有时间限制,因为它会读取并验证磁盘的每个段。

  1. 查看驱动器的自检结果
root@linuxtechi:~# smartctl -l selftest /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       90%       492         210841222
# 2  Extended offline    Completed: read failure       90%       492         210841222
  1. 显示磁盘错误日志
root@linuxtechi:~# smartctl -l error  /dev/sdb
 
Sample Output
 
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
ATA Error Count: 5
    CR = Command Register [HEX]
    FR = Features Register [HEX]
    SC = Sector Count Register [HEX]
    SN = Sector Number Register [HEX]
    CL = Cylinder Low Register [HEX]
    CH = Cylinder High Register [HEX]
    DH = Device/Head Register [HEX]
    DC = Device Command Register [HEX]
    ER = Error register [HEX]
    ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.
 
Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 da 08 e7 e5 a5 4c 00      00:30:44.515  READ DMA EXT
  25 da 08 df e5 a5 4c 00      00:30:44.514  READ DMA EXT
  25 da 80 5f e5 a5 4c 00      00:30:44.502  READ DMA EXT
  25 da f0 5f e6 a5 4c 00      00:30:44.496  READ DMA EXT
  25 da 10 4f e6 a5 4c 00      00:30:44.383  READ DMA EXT

4. smartctl属性信息介绍

  1. Raw_Read_Error_Rate(原始读取错误率):
    概念:表示在读取数据时发生的原始错误率。较低的值表明硬盘对数据读取更为可靠。
    正常值:通常希望这个值较低,但具体的“正常”范围取决于硬盘的制造商和型号。
  2. Spin_Up_Time(主轴电机起转时间):
    概念:硬盘马达达到规定转速所花费的时间,单位为毫秒或秒。
    正常值:不同的硬盘类型和速度有不同的起转时间。例如,一个7200转/分的硬盘可能需要比5400转/分的硬盘更短的时间来达到全速。
  3. Start_Stop_Count(电机启动/停止次数):
    概念:记录了硬盘马达启动和停止的总次数。这可以视为硬盘的“使用寿命”指标之一,因为每次启动和停止都会对硬盘产生一定的磨损。
    正常值:随着使用时间的增加,这个值会逐渐增加。
  4. Reallocated_Sector_Ct(重新分配扇区计数):
    概念:表示硬盘在存取过程中发现扇区有问题时,将坏扇区重新指向备份扇区的数量。如果这个值持续增加,可能意味着硬盘出现了物理损坏。
    正常值:理想情况下,这个值应该为0。但新硬盘可能预留了一些备用扇区,所以初始值可能不为0。
  5. Seek_Error_Rate(寻道错误率):
    概念:反映了在寻找特定数据时发生的错误率。较低的寻道错误率通常意味着更好的性能。
    正常值:通常希望这个值较低,但具体的“正常”范围取决于硬盘的制造商和型号。
  6. Power_On_Hours(通电时间):
    概念:表示硬盘已经通电并运行的总时间,以小时为单位。
    正常值:随着使用时间的增加,这个值会逐渐增加。可以根据这个值估算硬盘的使用年限和剩余寿命。
  7. Spin_Retry_Count(主轴电机起转重试次数):
    概念:记录了硬盘马达在尝试达到规定转速时失败并重试的次数。如果这个值持续增加,可能意味着硬盘的马达或电路有问题。
    正常值:理想情况下,这个值应该为0或很少。
  8. Power_Cycle_Count(设备电源循环次数):
    概念:记录了硬盘完全关闭然后再重新打开的次数。这也是一个反映硬盘“使用寿命”的指标。
    正常值:随着使用时间的增加,这个值会逐渐增加
  9. End-to-End_Error:表示在硬盘两端之间传输数据时发生的错误。
  10. Reported_Uncorrect:报告了无法纠正的错误数量。
  11. Command_Timeout:命令超时的次数。
  12. High_Fly_Writes:高飞写入错误率,可能与硬盘磁头和盘片之间的距离有关。
  13. Airflow_Temperature_Cel:硬盘周围的空气温度(摄氏度)。
  14. G-Sense_Error_Rate:加速度错误率,通常存在于笔记本硬盘和企业级硬盘中,表示硬盘受到的冲击次数。
  15. Power-Off_Retract_Count:电源关闭时磁头收回的次数。
  16. Load_Cycle_Count:加载/卸载循环次数,通常与硬盘的盖子或保护机构有关。
  17. Temperature_Celsius:硬盘的内部温度(摄氏度)。
  18. Hardware_ECC_Recovered:通过硬件ECC(错误检查和纠正)恢复的数据量。
  19. Current_Pending_Sector:当前等待重新映射的扇区数量。
  20. Offline_Uncorrectable:离线无法纠正的错误数量。
  21. UDMA_CRC_Error_Count:UDMA(Ultra DMA)传输中的CRC(循环冗余检查)错误计数。
  22. Head_Flying_Hours:磁头飞行时间的小时数,可能与硬盘的实际运行时间相关。
  23. Total_LBAs_Written 和 Total_LBAs_Read:分别表示写入和读取的逻辑块地址(LBA)总数,反映了硬盘的使用情况。
  24. Critical Warning警告状态: RAW数值显示0为正常无警告,1为过热警告,2为闪存介质引起的内部错误导致可靠性降级,3为闪存进入只读状态,4为增强型断电保护功能失效(只针对有该特性的固态硬盘)。
    正常情况下ID1的RAW属性值应为0,当显示为1时代表NVMe固态硬盘已经过热,需要改善散热条件或降低工作负载。属性值为2时应考虑返修或更换新硬盘,当属性值为3时硬盘已经进入只读状态,无法正常工作,应抓紧时间备份其中的数据。家用固态硬盘通常不会配备增强型断电保护(完整断电保护),所以通常该项目不会显示为4。
  25. Temperature当前温度(十进制显示)
  26. Available Spare可用冗余空间(百分比显示):指示当前固态硬盘可用于替换坏块的保留备用块占出厂备用块总数量的百分比。该数值从出厂时的100%随使用过程降低,直至到零。归零之前就有可能产生不可预料的故障,所以不要等到该项目彻底归零才考虑更换新硬盘。
  27. Available Spare Threshold备用空间阈值:当Available Spare可用冗余空间低于Available Spare Threshold备用空间阈值,固态硬盘被认为达到极限状态,此时系统可能会发出可靠性警告。该项数值由厂商定义,通常为10%或0%。
  28. :Percentage Used已使用的写入耐久度(百分比显示):该项显示已产生的写入量占厂商定义总写入寿命的百分比。该项数值为动态显示,计算结果与写入量及固态硬盘的TBW总写入量指标有关。新盘状态下该项目为0%
  29. Data Units Read读取扇区计数(1000):该项数值乘以1000后即为读取的扇区(512Byte)数量统计
  30. Data Units Write写入扇区计数(1000):该项数值乘以1000后即为写入的扇区(512Byte)数量统计。
  31. Host Read Commands读取命令计数:硬盘生命周期内累计接收到的读取命令数量统计。
  32. Host Write Commands写入命令计数:硬盘生命周期内累计接收到的写入命令数量统计。
  33. Controller Busy Time主控繁忙时间计数:该项统计的是主控忙于处理IO命令的时间总和(单位:分钟)。当IO队列有未完成的命令时,主控即处于“忙”的状态。
  34. Unsafe Shut downs不安全关机次数(异常断电计数)
  35. Media and Data Integrity Errors闪存和数据完整性错误
    主控检测到未恢复的数据完整性错误的次数。正常情况下主控不应检测到数据完整性错误(纠错应该在此之前完成),当有不可校正的ECC、CRC校验失败或者LBA标签不匹配错误发生时,该数值会增加。正常情况下ID14应保持为零。
  36. Number of Error Information Log Entries错误日志条目计数
    控制器使用期限内,发生的错误信息日志条目的数量统计。正常情况该项目应为零。
    以下项目为非标准项,并非所有NVMe SSD都支持显示。
  37. Warning Composite Temperature Time过热警告时间
  38. Critical Composite Temerature Time过热临界温度时间
  39. Temperature Sensor X:多个温度传感器(若存在)的读数
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1858383.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PR模板 | RGB特效视频标题模板Titles | MOGRT

RGB特效视频标题模板mogrt免费下载 4K分辨率(38402160) 支持任何语言 友好的界面 输入和输出动画 快速渲染 视频教程 免费下载:https://prmuban.com/39055.html 更多pr模板视频素材下载地址:https://prmuban.com

初见:AntDB智能运维“三剑客“之ADC

引言 6月15日,PostgreSQL数据库技术峰会广州站圆满落幕。峰会上,亚信安慧数据库智能运维产品负责人李志龙介绍了AntDB的6大数据库引擎和3大工具产品能力。 这里的3大工具分别指: AntDB数据库迁移工具包 MTK 数据库智能运维平台 ACC AntDB数据…

Modbus协议在工业自动化中的应用

Modbus协议介绍 Modbus是一种常用的工业现场总线通信协议,被广泛应用于工业自动化领域。它是一种简单、易实现的主从式通信协议,具有高度的可靠性和通用性。本文将从Modbus协议的基本概念、通信模式、数据格式、常见应用场景等方面进行全面介绍,并通过图文并茂的方式帮助读者更…

ardupilot开发 --- 视觉伺服 篇

风驰电掣云端飘,相机无法对上焦 视觉伺服分类视觉伺服中的坐标系成像模型推导IBVS推导参考文献 视觉伺服分类 控制量是在图像空间中推导得到还是在欧式空间中推导得到,视觉伺服又可以分类为基于位置(PBVS)和基于图像的(IBVS)视觉伺服。 视觉伺服中的坐…

关于docker存储overlay2相关问题

报错如下: 报错原因:使用rm -rf 清理overlay2导致的,非正常清理。 正常清理命令如下: # 清理Docker的所有构建缓存 docker builder prune# 删除旧于24小时的所有构建缓存 docker builder prune --filter "until24h"#删…

node.js环境安装以及Vue-CLI脚手架搭建项目教程

目录 ▐ vue-cli 搭建项目的优点 ▐ 安装node.js环境 ▐ 搭建vue脚手架项目 ▐ 项目结构解读 ▐ 常用命令 ▐ 创建组件 ▐ 组件路由 ▐ vue-cli 搭建项目的优点 传统的前端项目架构由多个html文件,且每个html文件都是相互独立的,导入外部组件时需…

wireshark常用过滤命令

wireshark常用过滤命令 wireshark抓包介绍单机单点:单机多点:双机并行: wireshark界面认识默认布局调整布局(常用)显示FCS错误 wireshark常见列Time回包数据报对应网络模型 wireshark基本操作结束抓包再次开始抓包 **wireshark常用过滤命令**…

【实物资料包】基于STM32智能台灯设计

【实物资料包】基于STM32智能台灯设计 需要资料的请在文章结尾获取哦~~~~(如有问题私信我即可) 1.介绍 1 添加wifi模块模块,可通过wifi模块APP或者手动按钮切换自动/手动模式 2 自动模式下,台灯可以感应是否有人落座&#xff0…

【BSCP系列第2期】XSS攻击的深度剖析和利用(文末送书)

文章目录 前言一、官方地址二、开始(15个)1:Lab: DOM XSS in document.write sink using source location.search inside a select element2:Lab: DOM XSS in AngularJS expression with angle brackets and double quotes HTML-e…

猫头虎分享已解决Bug:Array Index Out of Bounds Exception

🐯 猫头虎分享已解决Bug:Array Index Out of Bounds Exception 🐯 摘要 大家好,我是猫头虎,今天我们要聊聊后端开发中经常遇到的一个问题:Array Index Out of Bounds Exception,即 java.lang.…

哪里找好用的商城系统源码?

很多企业在挑选商城系统时,由于不懂源码,很难选择到高质量源码的商城系统,那么哪里找好用的商城系统源码?如何选择?接下来就跟着启山智软小编一起来看看吧,以下为选择源码时的四看: 1.一看源码公司行业动态 可以查…

【linux】详解——库

目录 概述 库 库函数 静态库 动态库 制作动静态库 使用动静态库 如何让系统默认找到第三方库 lib和lib64的区别 /和/usr/和/usr/local下lib和lib64的区别 环境变量 配置相关文件 个人主页:东洛的克莱斯韦克-CSDN博客 简介:C站最萌博主 相关…

[FreeRTOS 内部实现] 信号量

文章目录 基础知识创建信号量获取信号量释放信号量信号量 内部实现框图 基础知识 [FreeRTOS 基础知识] 信号量 概念 创建信号量 #define queueQUEUE_TYPE_BINARY_SEMAPHORE ( ( uint8_t ) 3U ) #define semSEMAPHORE_QUEUE_ITEM_LENGTH ( ( uint8_t ) 0U ) #define xSe…

C++精解【6】

文章目录 eigenMatrix基础例编译时固定尺寸运行指定大小 OpenCV概述 eigen Matrix 基础 所有矩阵和向量都是Matrix模板类的对象。向量也是矩阵&#xff0c;单行或单列。Matrix模板类6个参数&#xff0c;常用就3个参数&#xff0c;其它3个参数有默认值。 Matrix<typename…

LGY-110G零序电压继电器 导轨安装 约瑟JOSEF

110系列零序电压电流继电器 系列型号: LGY-110零序过电压继电器&#xff1b;LGY-110/AC零序过电压继电器&#xff1b; LGL-110零序过电流继电器&#xff1b;LGL-110/AC零序过电流继电器&#xff1b; 1 应用 DY-110 型低电压继电器用于判别线路和电力设备的电压降低&#xf…

达梦数据守护集群部署

接上篇 达梦8单机规范化部署 https://blog.csdn.net/qq_25045631/article/details/139898690 1. 集群规划 在正式生产环境中&#xff0c;两台机器建议使用统一配置的服务器。使用千兆或千兆以上网络。 两台虚拟机各加一块网卡&#xff0c;仅主机模式&#xff0c;作为心跳网卡…

伸展树(数据结构篇)

数据结构之伸展树 伸展树 概念&#xff1a; 伸展树是一颗对任意一个节点被访问后&#xff0c;就经过一系列的AVL树的旋转操作将该节点放到根上的特殊二叉查找树。伸展树能保证对树操作M次的时间复杂度为O(MlogN)&#xff0c;而当一个查找树的一个节点刚好处于查找树最坏的情…

Vite: 关于预构建的毫秒级响应

概述 在我们的项目代码中&#xff0c;我们所说的模块代码其实分为两部分 一部分是源代码&#xff0c;也就是业务代码另一部分是第三方依赖的代码&#xff0c;即 node_modules 中的代码 Vite 是一个提倡 no-bundle 的构建工具&#xff0c;相比于传统的 Webpack能做到开发时的模…

主机游戏也可以上云桌面玩了?

最近steam夏季促销活动也快到了&#xff0c;对于很多钟情于主机游戏的小伙伴们&#xff0c;是不是也在摩拳擦掌了&#xff1f; 但有时候现实想愉快地玩到自己想玩的游戏实在是太难了&#xff01; 当你一直关注的新游戏终于上线Steam时&#xff0c;你的钱包是这样的… 而游戏的…

elementUI相关知识及搭建使用过程

​​​​​​ 目录 ​​​​​​ 一.elementUI相关的知识 1.什么是elementUI 2.如何在创建的项目中使用elementUI的组件(1)安装 ​ (2)在项目的main.js中引入elementUI (3)使用elementui里的组件 一.elementUI相关的知识 1.什么是elementUI Element&#xff0c;一套为开…