硬盘监控和分析工具:Smartctl

文章目录

  • 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:多个温度传感器(若存在)的读数
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

永洪bi知识点

1、下拉过滤组件和下拉参数组件的区别 下拉过滤组件只能对跟他绑有相同数据集的组件进行过滤 而下拉参数组件是当你设置了筛选条件以后,那么所有的组件,不管你绑定了什么样子的数据集,都能起作用,前提是你这个组件是需要去绑定参…

docker基础使用教程

1.准备工作 例子:工程在docker_test 生成requirements.txt文件命令:(使用参考链接2) pip list --formatfreeze > requirements.txt 参考链接1: 安装pipreqs可能比较困难 python 项目自动生成环境配置文件require…

图片如何去水印,分享4个小妙招,手把手教会你!

作为一个经常逛社区网站下载表情包、头像的人,遇到的一个大难题就是图片有水印。如何才能快速去除水印?询问了一圈身边朋友,搜集了各种资料,小编整理了4个超好用的方法。 如果大家和小编一样,能坐着就不站着&#xff0…

【C++LeetCode】【热题100】移动零【简单】-不同效率的题解【4】

题目&#xff1a; 暴力方法&#xff1a; class Solution { public:void moveZeroes(vector<int>& nums) {int counts0;//零的数量int swapCounts0;for(int i0;i<nums.size();i){if(nums[i]0){counts1;}}swapCountscounts;for(int i0;i<nums.size();i){fo…

强制用户裸奔,微软新规以后用Win11必须先注册了

想必在座资深搞机佬对 Windows「本地账户」这一大功能都不陌生。 简单来说&#xff0c;本地用户账户是过去在安装操作系统时自动为大家创建的用于系统管理的默认内置账户。 「本地」二字&#xff0c;代表了即便在电脑不联网的情况下也能自动创建成功。 更重要的是它不与 Micr…

优化了自制的浏览器主页的全屏功能

第一次修改 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>全屏功能</title><style>…

关于window的安装

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 第一windows的分类 旗舰版 个人版…

2024最新算法:北极海鹦优化(Arctic puffin optimization,APO)算法求解23个函数,MATLAB代码

一、算法介绍 北极海鹦优化&#xff08;Arctic puffin optimization&#xff0c;APO&#xff09;算法是2024年提出一种智能优化算法。该算法模拟海鹦在空中飞行和水下觅食两个阶段的行为&#xff0c;旨在实现勘探与开发之间更好的平衡。该算法包括几个关键操作&#xff0c;包括…

张家界首迎新V系客车!苏州金龙携手中信旅运打造旅游客运新范本

在国际张&#xff08;张家界&#xff09;这片美丽而又神奇的的土地上&#xff0c;伴随着旅游市场持续火爆的&#xff0c;是旅游客运行业的激烈竞争。 如何在旅游市场的近乎“白刃战”中突出重围&#xff0c;成为众多旅游运输企业亟待破解的一道难题。然而&#xff0c;作为张家…

Linux源码阅读笔记06-RCU机制和内存优化屏障

RCU机制 RCU&#xff08;Read-Copy-Update&#xff09;&#xff0c;是Linux内核重要的同步机制。Linux内核有原子操作&#xff0c;读写信号量&#xff0c;为什么要单独设计一个比较复杂的新机制呢&#xff1f; spinlock和mutex信号量都使用了原子操作&#xff0c;多CPU在访问…

在Python中定义和使用函数及模块

我将介绍如何在Python中定义和使用函数&#xff0c;以及如何创建和使用Python模块。这些基础知识将帮助你编写更高效和可复用的代码。 目录 函数基础定义和调用函数参数传递 函数式编程匿名函数高阶函数 装饰器模块和包常用的标准库模块 函数基础 定义和调用函数 定义函数&a…

这样制作宣传册,才能提升品牌的曝光度

​在当今竞争激烈的市场环境中&#xff0c;一份高质量的宣传册不仅可以展示企业的实力和特色&#xff0c;还能有效提升品牌的曝光度。要想制作出既能吸引眼球又能传达信息的宣传册&#xff0c;需要如何制作呢&#xff1f; 1.明确宣传目标&#xff1a;制作翻页电子宣传册之前&am…

C语言·动态内存管理

1. 为什么要有动态内存管理&#xff1f; 例1&#xff1a; //固定的向内存申请4个字节 int a 10;//申请连续的一块空间 int arr[10]; 这些数据一旦声明定义之后就会在内存中有一块空间&#xff0c;这些空间都是固定的&#xff0c;为了让内存使用更加灵活&#xff0c;这时我们…

Spark SQL 血缘解析方案

背景 项目背景建设数据中台,往往数据开发人员首先需要能够通过有效的途径检索到所需要的数据,然后根据检索的数据模型进行业务加工然后得到一些中间模型,最后再通过数据抽取工具或者OLAP分析工具直接将数据仓库中加工好的公共模型输出到应用层。这里我不在去介绍数据仓库为…

【Qt】day2

文章目录 菜单栏工具栏状态栏铆接部件&#xff08;浮动窗口&#xff09;中心部件添加图片对话框模态对话框非模态对话框标准对话框&#xff08;信息对话框&#xff09;错误对话框信息对话框提问对话框警告对话框 其他标准对话框颜色对话框文件对话框 字体对话框 登录窗口布局按…

《重构》读书笔记【第1章 重构,第一个示例,第2章 重构原则】

文章目录 第1章 重构&#xff0c;第一个示例1.1 重构前1.2 重构后 第2章 重构原则2.1 何谓重构2.2 两顶帽子2.3 为何重构2.4 何时重构2.5 重构和开发过程 第1章 重构&#xff0c;第一个示例 我这里使用的IDE是IntelliJ IDEA 1.1 重构前 plays.js export const plays {&quo…

将 MinIO 与 Keycloak OIDC 集成

Keycloak是一种单点登录解决方案。使用Keycloak&#xff0c;用户使用Keycloak而不是MinIO进行身份验证。如果没有Keycloak&#xff0c;您将不得不为每个用户创建一个单独的身份 - 从长远来看&#xff0c;这将很麻烦。您需要一个集中身份解决方案来管理 MinIO 的身份验证和授权。…

Python深度学习技术

原文链接&#xff1a;Python深度学习技术 近年来&#xff0c;伴随着以卷积神经网络&#xff08;CNN&#xff09;为代表的深度学习的快速发展&#xff0c;人工智能迈入了第三次发展浪潮&#xff0c;AI技术在各个领域中的应用越来越广泛。Transformer模型&#xff08;BERT、GPT-…

3.2 文件包含漏洞渗透实战(OWASP实战训练)

3.2 文件包含漏洞渗透实战&#xff08;OWASP实战训练&#xff09; 原理及危害3.低安全级别渗透3.1本地文件包含漏洞3.2 本地文件包含漏洞webshell3.3远程文件包含漏洞 上一节讲了本地文件包含和远程文件包含 本地文件包含需要将文件传上去或者不传上去&#xff08;本地系统的一…

导出 S 参数扫描结果供 INTERCONNECT 使用

导出 S 参数扫描结果供 INTERCONNECT 使用 正文正文 有时候,对于 FDTD 无法直接进行仿真的大型仿真链路,我们需要使用 FDTD 针对单个小的模块进行仿真,再将得到的 S 参数结果导入到 INTERCONNECT 中使用,最终完成整个链路的仿真。通常完成 S 参数扫描后其状态如下图所示:…