硬盘监控和分析工具: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 2014Use 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 2014Use 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/sdbSample Outputsmartctl 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: 5CR = 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 EXT25 da 08 df e5 a5 4c 00      00:30:44.514  READ DMA EXT25 da 80 5f e5 a5 4c 00      00:30:44.502  READ DMA EXT25 da f0 5f e6 a5 4c 00      00:30:44.496  READ DMA EXT25 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.rhkb.cn/news/360218.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

又一盛举,沃飞取得关键技术突破后,助力成都低空载人交通航线运行实践!

6月20日上午9点30分,随着塔台发出指令,一架载人直升飞机(阿古斯塔AW109型号)从洛带通用机场起飞,经停中国欧洲中心、青城山,最后稳稳落地回到洛带通用机场。当天下午,这架飞机再次转动旋翼&…

IDEA2024关闭自动AI代码补全功能

文章目录 一、背景二、教程四、写在后面 一、背景 在本人前段时间的一次面试算法题中,面试官让我关闭代码提示功能,当时气氛尴尬的可以抠出三室一厅,但是这个功能是2024新版参考文献自带的,本次来分享如何关闭新版代码补全功能。…

Mac(M1芯片)安装多个jdk,Mac卸载jdk

1.jdk下载 oracle官方链接:oracle官方下载链接 2.安装 直接下一步,下一步就行 3.查看是否安装成功 出现下图内容表示安装成功。 4.配置环境变量 open -e .bash_profile 路径建议复制过去 #刷新环境变量 source ~/.bash_profile 5.切换方法 6.jdk…

sql sever 存储过程不能请求https的解决方案

此错误的原因,通常是因为SQL Server默认不允许非加密的HTTP请求。为了解决这个问题,需要配置SQL Server允许非密码的https请求,或者使用密码的http请求。 下面是配置SQL Server允许非加密http请求 UsE [master] ;Go EXEC sp_configure Sh…

如何确保消息不被重复消费

一、重复消费问题出现的原因 导致重复消费的原因可能出现在生产者,也可能出现在 MQ 或 消费者。这里说的重复消费问题是指同一个数据被执行了两次,不单单指 MQ 中一条消息被消费了两次,也可能是 MQ 中存在两条一模一样的消费。 生产者&…

施耐德ATV310变频器参数设置

1、ATV610变频器参数设置请参考下面文章链接: 施耐德ATV610变频器MODBUS通信应用(SMART PLC)-CSDN博客文章浏览阅读131次。提升MODBUS-RTU通信数据刷新速度的常用方法_modbus rtu通讯慢-CSDN博客文章浏览阅读1k次。https://rxxw-control.blog.csdn.net/article/det…

Python为JSON解析和生成功能库之rapidjson使用详解

概要 在现代应用程序开发中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,被广泛应用于Web开发、数据传输和配置文件等场景。Python自带的json模块已经非常强大,但在处理大规模数据时,其性能可能无法满足需求。为了提高JSON处理效率,Python的rapidjs…

DVWA 靶场 JavaScript 通关解析

前言 DVWA代表Damn Vulnerable Web Application,是一个用于学习和练习Web应用程序漏洞的开源漏洞应用程序。它被设计成一个易于安装和配置的漏洞应用程序,旨在帮助安全专业人员和爱好者了解和熟悉不同类型的Web应用程序漏洞。 DVWA提供了一系列的漏洞场…

el-form重置后input无法输入问题

新增用户遇到的问题: 如果你没有为 formData 设置默认值,而只是将其初始化为空对象 {},则在打开dialog时,正常输入, formdata会变成如下 但是,打开后,直接使用 resetFields 或直接清空表单&…

mybatis x插件的使用教程(详细)

MyBatisX 的主要功能 代码生成: 自动生成 MyBatis 的 Mapper、XML 配置文件和实体类,大大减少手工编写代码的工作量。 智能代码补全: 提供 SQL 语句和 MyBatis 配置的智能代码补全功能,使开发者能够更快地编写代码。 代码导航&…

用Jenkins+Docker+Maven+Git实现持续集成 (超详细)

首先介绍一下笔者的练手小项目:基于SpringCloud搭建的,用Docker容器部署,用Git实现代码托管,Jenkins实现持续集成。 好了,废话不多说了,直接进入主题吧。 一、Jenkins简介 Jenkins,原名Hudson&…

重磅丨上海容大推出“容聆”智能拾音工牌,赋能线下门店运营数字化

近日,继豚音营业厅智能质检终端之后,上海容大数字技术有限公司(简称“上海容大”)在线下面对面沟通场景下语音数据采集与智能分析领域取得了新突破,重磅推出AI智能语音工牌产品——“容聆”。 据悉,“容聆”…

【期末复习】计算机组成原理

海明码 最通俗的海明码计算方法,不需记公式,套步骤即可(可能都不需要理解) https://www.bilibili.com/video/BV1tL4y1h7Fd/ 接上一海明码视频(海明码的纠错) https://www.bilibili.com/video/BV1tf4y1A7NX/…

[保姆级教程]uniapp实现底部导航栏

文章目录 前置准备工作安装HBuilder-X新建uniapp项目教程使用HBuilder-X启动uniapp项目教程 实现底部导航栏package.json中配置导航栏详细配置内容 前置准备工作 安装HBuilder-X 详细步骤可看上文》》 新建uniapp项目教程 详细步骤可看上文》》 使用HBuilder-X启动uniapp项…

ElementUI框架搭建及组件使用+登录界面精美模版分享

目录 如何在项目中使用ElementUI组件? ① 通过npm 安装 ② 完整引入 Element ③ 导入组件测试 登录界面搭建 注意事项 ▐ 前言: 本篇文章将详解基于Vue-cli脚手架搭建的项目如何使用ElementUI ?所以在学习本篇文章内容之前建议您先学习…

【ajax核心01】ajax底层原理

目录 一:XMLHttpRequest对象 二:如何使用XHR 步骤: 注意: 三:XMLHttpRequest-请求参数 1 定义: 2 案例练习 前端HTML结构: JS代码 四:XMLHttpRequest-数据提交 核心 五:如…

实现一个查找算法

/实现一个查找算法 public class Test_35 {public static int linearSearch(int[] arr, int target) {for (int i 0; i < arr.length; i) {if (arr[i] target) {return i; // 返回目标元素的索引}}return -1; // 如果未找到目标元素&#xff0c;则返回-1}public static vo…

Spring Boot基础入门

引言 Spring Boot是一个开源的Java框架&#xff0c;旨在简化Spring应用程序的创建和部署过程。它提供了一种快速和简便的方式来创建独立的、生产级别的基于Spring的应用程序。本文将介绍Spring Boot的基础知识&#xff0c;包括其核心特性、如何开始使用Spring Boot以及构建你的…

百度大模型安全荣获2024世界智能产业博览会“Find智能科技创新应用典型案例”

6月20日&#xff0c;2024世界智能产业博览会在天津开幕。会议聚焦人工智能、智能网联汽车、智能制造等年度热点议题&#xff0c;由世界智能产业博览会组委会指导&#xff0c;世界智能产业博览会组委会秘书处、中国新一代人工智能战略发展研究院、中国软件行业协会、中国网络空间…

swp添加池子addLiquidity失败

案发现场 首次添加交易对、一直失败、但是也没提示具体的原因。到这一步就没了、由下图可知、也没看到log、由此可见第一步就失败了。 解决方案 一、添加 工厂KywFactory 添加如下 bytes32 public constant INIT_CODE_PAIR_HASH keccak256(abi.encodePacked(type(KywPair…