硬盘监控和分析工具: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.mzph.cn/web/31388.shtml

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

相关文章

【MySQL】索引的原理及其使用

文章目录 什么叫索引减少磁盘IO次数缓存池(Buffer Pool)MySQL的页页内目录页目录 正确理解索引结构为什么Innodb的索引是B树结构各种存储引擎支持的索引聚簇索引和非聚簇索引索引类型 关于索引的操作创建主键索引唯一索引的创建普通索引的创建查看索引删除索引 什么…

APP IOS

APP IOS苹果源生应用程序 APP Android-CSDN博客

nexus配置问题

错误信息: npm ERR! code E401 npm ERR! Unable to authenticate, need: BASIC realm"Sonatype Nexus Repository Manager"解决办法一: npm login --registryhttp://192.168.52.128:8081/repository/npm-repo 输入 用户名 密码 邮箱完成后会…

无线鼠标键盘怎么连接电脑?4种简单方法

在当今科技发展日新月异的时代,无线鼠标和键盘已经成为许多人日常工作和娱乐中的重要配件。与传统有线设备相比,无线鼠标和键盘具有更大的灵活性和便利性,让我们能够更自由地操作电脑,而不受线缆的束缚。 然而,对于一…

Tesseract-OCR 5.0LSTM训练

准备工作 1.安装tesseract5.0版本 2.配置tesserac环境变量 3.jTessBoxEditor(需要java环境) 很多博客已有详细教程,不再赘述,本文以训练为主 最终文件目录: --tif 需要训练的tif文件 --lstmf 后文会讲到生成的方式 --txt 后文会讲到生成的方式 --box 后文…

Swift Combine — Notification、URLSession、Timer等Publisher的理解与使用

Notification Publisher 在Swift的Combine框架中,可以使用NotificationCenter.Publisher来创建一个能够订阅和接收通知的Publisher。 // 创建一个订阅通知的Publisher let notificationPublisher NotificationCenter.default.publisher(for: Notification.Name(&…

OpenTenBase入门

什么是OpenTenBase OpenTenBase 是一个提供写可靠性,多主节点数据同步的关系数据库集群平台。你可以将 OpenTenBase 配置一台或者多台主机上, OpenTenBase 数据存储在多台物理主机上面。数据表的存储有两种方式, 分别是 distributed 或者 re…

让我来告诉初学者到底什么叫嵌入式系统?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!我们在刚刚开始学习电子学…

通过git命令查询某个用户提交信息

要查询某个用户通过 Git 提交了多少行代码,可以使用以下步骤和命令来实现。这些命令将统计该用户的添加和删除的代码行数。 1、切换到你的 Git 仓库: cd /path/to/your/repositorygit命令结果: 2、查询所有用户: git log --pr…

国外开源字典集(wordlists)

Assetnote Wordlists Wordlists that are up to date and effective against the most popular technologies on the internet.https://wordlists.assetnote.io/

opencv c++ 检测图像尺寸大小,标注轮廓

1. 项目背景 本项目旨在开发一个图像处理程序,通过使用计算机视觉技术,能够自动检测图像中物体的尺寸并进行分类。项目利用了开源的计算机视觉库 OpenCV,实现了图像的灰度处理、二值化、轮廓检测、边界框绘制以及尺寸分类等功能。通过这些功…

在智星云租用算力时,如何选择适合的GPU?

智星云平台分配GPU、CPU、内存的机制为:按租用的GPU数量成比例分配CPU和内存,算力市场显示的CPU和内存均为每GPU分配的CPU和内存,如果租用两块GPU,那么CPU和内存就x2。此外GPU非共享,每个实例对GPU是独占的。 一. CPU…

NSSCTF-Web题目12

目录 [SWPUCTF 2021 新生赛]finalrce 1、题目 2、知识点 3、思路 [UUCTF 2022 新生赛]ez_rce 1、题目 2、知识点 3、思路 [羊城杯 2020]easycon 1、题目 2、知识点 3、思路 [SWPUCTF 2021 新生赛]finalrce 1、题目 2、知识点 命令执行,tee命令 3、思路…

深度学习算法informer(时序预测)(三)(Encoder)

一、EncoderLayer架构如图(不改变输入形状) 二、ConvLayer架构如图(输入形状中特征维度减半) 三、Encoder整体 包括三部分 1. 多层EncoderLayer 2. 多层ConvLayer 3. 层归一化 代码如下 class AttentionLayer(nn.Module):de…

淘宝扭蛋机小程序:互联网时代下行业的发展动力

近几年,扭蛋机在潮玩市场风靡,与各类IP合作,推出各种新颖有趣的扭蛋商品,吸引了众多的IP粉丝,他们会通过扭蛋机进行抽奖,获得喜欢的商品。 目前,移动应用程序不断升级优化,“互联网…

idea中的git在clone文件提示 filename too long

一 解决版本 1.1 问题描述以及解决办法 当在Windows系统下使用Git时出现“filename too long”错误: git config --system core.longpaths true

思科ospf+rip重发布配置命令

——————————————————————————————————————————— 基础配置 R1 Router>en #进入配置模式 Router#conf #进入配置模式 Router(config)#h…

如何在 MySQL 中创建和使用事务?

目录 1. 环境准备 2. 创建事务 3. 事务执行 4. 事务撤消 5. 总结 事务是数据库区别于文件系统的重要特征之一,当我们有了事务就会让数据库始终保持一致,同时我们还能通过事务机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会…

人工智能在肿瘤检测以及癌症早筛中的最新研究|顶刊速递·24-06-21

小罗碎碎念 推文主题:人工智能在癌症检测以及早筛中的最新研究进展 之前有一篇推文介绍了哈佛发表的3D病理,当时应该有不少老师/同学对于数据的获取是有些懵的,那么今天你在第一篇文章中或许能找到答案。 一直看我推送的,并且不跳…

骁龙相机启动流程分析

一、骁龙相机启动流程分析 1. 相机启动阶段关键TAG 关键字解释deliverInputEvent点击事件bindApplicationApp 冷启动 创建applicationactivityStart创建camera activityactivityResumecamera UI界面开始显示connectDevicecameraFWK 开始链接并open sensorCameraHal::openSessio…