一、smartctl工具简介
  Smartmontools是一种硬盘检测工具,通过控制和管理硬盘的SMART(Self Monitoring Analysis and Reporting Technology),自动检测分析及报告技术)技术来实现的,SMART技术可以对硬盘的磁头单元、盘片电机驱动系统、硬盘内部电路以及盘片表面介质材料等进行监测,当SMART监测并分析出硬盘可能出现问题时会及时向用户报警以避免计算机数据受损失。SMART技术必须在主板支持的前提下才能发生作用,而且SMART技术也不能保证能预报所有可能发生的硬盘故障。Windows没有内置SMART相关工具,需要安装第三方工具软件,vmware虚拟机的硬盘不支持SMART,Linux上很早就有了SMART支持了,可以yum命令安装该工具即可,smartctl是Smartmontools工具安装之后的可执行命令,我们通过此命令可以查看磁盘是否支持smart检测,执行smart检测等。

二、使用示例
1、命令安装
[root@s186 /]# yum install -y smartmontools

2、查看磁盘是否支持smart
[root@s186 /]# smartctl -i /dev/sda

#Enabled表示启用了SMART
#Available表示硬盘支持SMART

3、启用SMART
[root@s210 ~]# smartctl --smart=on --offlineauto=on --saveauto=on /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-1062.el7.x86_64] (local build)
Copyright 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.
SMART Attribute Autosave Enabled.
SMART Automatic Offline Testing Enabled every four hours.

4、查看硬盘的所有SMART信息
[root@s210 ~]# smartctl -a /dev/sda

5、查看硬盘的健康状况
[root@s210 ~]# smartctl -H /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-1062.el7.x86_64] (local build)
Copyright 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
#请注意result后边的结果:PASSED,这表示硬盘健康状态良好,如果这里显示Failure,那么最好立刻给服务器更换硬盘。

6、查看设备SMART厂商属性和值
[root@s210 ~]# smartctl -A /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-1062.el7.x86_64] (local build)
Copyright 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 016 Pre-fail Always - 0
2 Throughput_Performance 0x0005 142 142 054 Pre-fail Offline - 68
3 Spin_Up_Time 0x0007 122 122 024 Pre-fail Always - 185 (Average 189)
4 Start_Stop_Count 0x0012 100 100 000 Old_age Always - 715
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 115 115 020 Pre-fail Offline - 34
9 Power_On_Hours 0x0012 099 099 000 Old_age Always - 12687
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 372
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 830
193 Load_Cycle_Count 0x0012 100 100 000 Old_age Always - 830
194 Temperature_Celsius 0x0002 193 193 000 Old_age Always - 31 (Min/Max 7/41)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0

7、显示硬盘历史错误信息
[root@s210 ~]# smartctl -l error /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-1062.el7.x86_64] (local build)
Copyright 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
No Errors Logged

8、后台执行smartctl测试
[root@s210 ~]# smartctl --test=long /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-1062.el7.x86_64] (local build)
Copyright 2002-18, 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 119 minutes for test to complete.
Test will complete after Tue Oct 12 17:14:21 2021

Use smartctl -X to abort test.

9、前台执行smart自测
(base) [root@s186 /]# smartctl -C -t short /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-957.5.1.el7.x86_64] (local build)
Copyright 2002-18, 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 captive mode”.
Drive command “Execute SMART Short self-test routine immediately in captive mode” successful.
Testing has begun.
Please wait 1 minutes for test to complete.
Test will complete after Tue Oct 12 16:03:19 2021

10、中断smart自测
[root@s210 ~]# smartctl -X /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-1062.el7.x86_64] (local build)
Copyright 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: “Abort SMART off-line mode self-test routine”.
Self-testing aborted!

11、显示smart自测日志
(base) [root@s186 /]# smartctl -l selftest /dev/sda

三、使用语法和参数说明
1、使用语法
#smartctl [options] device

2、参数说明
1)、信息显示参数选项
-h, --help, --usage 获取命令帮助
-V, --version, --copyright, --license 打印显示软件版本、授权等信息
-i, --info 显示指定设备的身份信息
-g NAME, --get=NAME 查看设备设置值,name可选值包括all, aam, apm, dsn, lookahead, security,wcache, rcache, wcreorder, wcache-sct
-a, --all 打印显示设备的所有smart信息
-x, --xall 打印显示设备的所有信息
–scan 扫描磁盘设备
–scan-open 扫描磁盘设备并参数开启设备
2)、smart运行参数选项
-j, --json[=[cgiosuv]] 打印输出为json格式
-q TYPE, --quietmode=TYPE 安静模式,TYPE可选值为errorsonly, silent, noserial
-d TYPE, --device=TYPE 指定设备类型,TYPE可选值为ata, scsi[+TYPE], nvme[,NSID], sat[,auto][,N][+TYPE], usbcypress[,X], usbjmicron[,p][,x][,N], usbprolific, usbsunplus, sntjmicron[,NSID], intelliprop,N[+TYPE], marvell, areca,N/E, 3ware,N, hpt,L/M/N, megaraid,N, aacraid,H,L,ID, cciss,N, auto, test
-T TYPE, --tolerance=TYPE 公差类型,可选值为normal, conservative, permissive, verypermissive
-b TYPE, --badsum=TYPE 设置校验和有错的扇区执行操作,可选TYPE值有warn, exit, ignore
-r TYPE, --report=TYPE 报告事务设置
-n MODE[,STATUS], --nocheck=MODE[,STATUS] 检查介绍后的操作never, sleep, standby, idle
3)、设备smart功能启停参数选项
-s VALUE, --smart=VALUE 开启或禁用设备device功能,VALUE值为on/off
-o VALUE, --offlineauto=VALUE 开启或者禁用离线测试,VALUE值为on/off
-S VALUE, --saveauto=VALUE 开启或者禁用属性自动保存,VALUE值为on/off
-s NAME[,VALUE], --set=NAME[,VALUE] 开启或者关闭指定类型设备
4)、读取和显示数据参数选项
-H, --health 查看设备smart健康状况
-c, --capabilities 查看设备smart能力
-A, --attributes 查看生成厂商smart属性和属性值
-f FORMAT, --format=FORMAT 设置输出格式属性
-l TYPE, --log=TYPE 查看指定类型日志,常用日志类型error, selftest, selective, directory,background, scttemp[sts,hist]
-v N,OPTION , --vendorattribute=N,OPTION 设置供应商属性N的显示选项
5)、磁盘自测参数选项
-t TEST, --test=TEST TEST可选值包括offline, short, long, conveyance, force, vendor,N,select,M-N, pending,N, afterselect,[on|off]
-C, --captive 捕获模式下运行,即前台运行
-t short 后台检测硬盘,消耗时间短
-t long 后台检测硬盘,消耗时间长
-C -t short 前台检测硬盘,消耗时间短
-C -t long 前台检测硬盘,消耗时间长
-X, --abort 中断任何后台自测

原文链接:Linux命令之smartctl命令_恒悦sunsite的博客-CSDN博客_smartctl

Smartctrl 命令使用说明的更多相关文章

  1. Linux cp命令使用说明

    Linux cp命令使用说明 --功能说明:复制目录或文件 --命令格式:cp  [参数]  <文件或目录>  <文件或目录> --常用参数: -R 复制目录 -i 覆盖文件之 ...

  2. magnum 命令使用说明

    magnum 命令使用说明 1.用法 usage: magnum [--version] [--debug] [--os-cache] [--os-region-name <region-nam ...

  3. wc 命令使用说明

    wc 命令 使用说明 wc 命令还是很是简单的,通过 man 命令,可以见到可以选择的选项: wc option file 并且 wc 命令支持 管道操作 其中较为常用的命令选项 -c 字符的个数 - ...

  4. (转)mysql帮助命令使用说明

    https://www.ilanni.com/?p=8157------- 烂泥:mysql帮助命令使用说明

  5. 数字证书中keytool命令使用说明

    这个命令一般在JDK\jre\lib\security\目录下操作 keytool常用命令 -alias       产生别名 -keystore    指定密钥库的名称(就像数据库一样的证书库,可以 ...

  6. mysql下优化表和修复表命令使用说明(REPAIR TABLE和OPTIMIZE TABLE)

    随着mysql的长期使用,可以修复表来优化,优化时减少磁盘占用空间.方便备份. REPAIR TABLE `table_name` 修复表 OPTIMIZE TABLE `table_name` 优化 ...

  7. 烂泥:mysql帮助命令使用说明

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在安装.管理和使用mysql过程中,你是不是需要记忆很多的mysql命令.而且对于新手来说,很不多的命令不知道该如何应用,对于老手来说很多命令时间长了忘 ...

  8. fdisk命令使用说明

    CentOS我新建了几个分区,比如/dev/sda4,sda5我想挂在一个目录下,用mount  /dev/sda5  /disk ,总提示mount:you must specify the fil ...

  9. rpm命令使用说明

    RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种 ...

  10. [转]dos命令 cd命令使用说明[图文说明]

    Cddir(change directory,可以缩写为cd),其功能是显示当前目录的名称,或更改当前的目录. 应用时公带一个驱动器号(如: cd c:)在命令行cmd中输入 cd /? 可显示帮助信 ...

随机推荐

  1. Oracle 监控客户端的连接数量趋势

    Oracle 监控客户端的连接数量趋势 背景 前期简单总结了table方式将表信息展示出来的方法 但是感觉这样非常不直观. 想着能够做出一个趋势来. 时序数据库的最佳的使用方式. 之前的确是太靠自己的 ...

  2. [转帖]db file sequential read-数据文件顺序读取

    https://www.cnblogs.com/xibuhaohao/p/9959593.html 等待事件: "db file sequential read" Referenc ...

  3. [转帖]十步解析awr报告

    http://www.zhaibibei.cn/awr/1.1/ 从这期开始讲解awr报告的部分,首先讲解awr整体的部分 后续会针对不同的点进行讲解 1. 数据库细节 这部分可以看到 数据库的版本 ...

  4. Jmeter学习之八_测试kafka

    Jmeter学习之八_测试kafka 背景 最近在持续学习. 昨天学习了grafana展示Jmeter测试数据库的结果 今天想着能够测试一下kafka验证一下kafka的吞吐量等信息 说干就干的. 遇 ...

  5. [转帖]一文搞懂各种数据库SQL执行计划:MySQL、Oracle等

    https://zhuanlan.zhihu.com/p/99331255 MySQL 执行计划 Oracle 执行计划 SQL Server 执行计划 PostgreSQL 执行计划 执行计划(ex ...

  6. [转帖]《Linux性能优化实战》笔记(八)—— 内存是怎么工作的

    一. 内存映射 我们通常所说的内存容量,指的是物理内存.物理内存也称为主存,大多数计算机用的主存都是动态随机访问内存(DRAM).只有内核才可以直接访问物理内存.那么,进程要访问内存时,该怎么办呢? ...

  7. [转帖]关于Linux操作系统中LUN的队列深度(queue_depth)

    Linux中的queue_depth(队列深度),可以用lsscsi查看. 不过今天在我的vm 虚拟机环境中(无外界存储),是没有lsscsi命令. 不过,从网上,搜到了如下的信息: $ lsscsi ...

  8. ltp的简单学习

    ltp的简单学习 简介 下载地址为: https://github.com/linux-test-project/ltp Linux Test Project is a joint project s ...

  9. [转帖]Docker相关的概念和原理

    https://www.jianshu.com/p/9737cbe33304 chroot chroot就是可以改变某进程的根目录,使这个程序不能访问目录之外的其他目录.Docker是利用Linux的 ...

  10. 部分操作系统不支持 zip unzip 大于4G的文件.

    https://www.ibm.com/mysupport/s/question/0D50z00006PD9XXCA1/bad-zipfile-offset-local-header-sig-erro ...