2、安装smartmontools工具包:
smartctl命令默认在系统中不存在,需要安装smartmontools工具包之后才能使用。
[root@localhost ~]# yum install smartmontools
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base: ftp.sjtu.edu.cn
extras: ftp.sjtu.edu.cn
updates: ftp.sjtu.edu.cn
Resolving Dependencies
–> Running transaction check
—> Package smartmontools.x86_64 1:7.0-2.el7 will be installed
–> Processing Dependency: mailx for package: 1:smartmontools-7.0-2.el7.x86_64
–> Running transaction check
—> Package mailx.x86_64 0:12.5-19.el7 will be installed
–> Finished Dependency Resolution
…
Installed:
smartmontools.x86_64 1:7.0-2.el7
Dependency Installed:
mailx.x86_64 0:12.5-19.el7
Complete!
3、相关语法:
smartctl [options] device
4、相关参数法:
============================================ SHOW INFORMATION OPTIONS =====
-h, --help, --usage
Display this help and exit
-V, --version, --copyright, --license
Print license, copyright, and version information and exit
-i, --info
Show identity information for device
–identify[=[w][nvb]]
Show words and bits from IDENTIFY DEVICE data (ATA)
-g NAME, --get=NAME
Get device setting: all, aam, apm, dsn, lookahead, security,
wcache, rcache, wcreorder, wcache-sct
-a, --all
Show all SMART information for device
-x, --xall
Show all information for device
–scan
Scan for devices
–scan-open
Scan for devices and try to open each device
================================== SMARTCTL RUN-TIME BEHAVIOR OPTIONS =====
-j, --json[=[cgiosuv]]
Print output in JSON format
-q TYPE, --quietmode=TYPE (ATA)
Set smartctl quiet mode to one of: errorsonly, silent, noserial
-d TYPE, --device=TYPE
Specify device type to one of:
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 (ATA)
Tolerance: normal, conservative, permissive, verypermissive
-b TYPE, --badsum=TYPE (ATA)
Set action on bad checksum to one of: warn, exit, ignore
-r TYPE, --report=TYPE
Report transactions (see man page)
-n MODE[,STATUS], --nocheck=MODE[,STATUS] (ATA)
No check if: never, sleep, standby, idle (see man page)
============================== DEVICE FEATURE ENABLE/DISABLE COMMANDS =====
-s VALUE, --smart=VALUE
Enable/disable SMART on device (on/off)
-o VALUE, --offlineauto=VALUE (ATA)
Enable/disable automatic offline testing on device (on/off)
-S VALUE, --saveauto=VALUE (ATA)
Enable/disable Attribute autosave on device (on/off)
-s NAME[,VALUE], --set=NAME[,VALUE]
Enable/disable/change device setting: aam,[N|off], apm,[N|off],
dsn,[on|off], lookahead,[on|off], security-freeze,
standby,[N|off|now], wcache,[on|off], rcache,[on|off],
wcreorder,[on|off[,p]], wcache-sct,[ata|on|off[,p]]
======================================= READ AND DISPLAY DATA OPTIONS =====
-H, --health
Show device SMART health status
-c, --capabilities (ATA, NVMe)
Show device SMART capabilities
-A, --attributes
Show device SMART vendor-specific Attributes and values
-f FORMAT, --format=FORMAT (ATA)
Set output format for attributes: old, brief, hex[,id|val]
-l TYPE, --log=TYPE
Show device log. TYPE: error, selftest, selective, directory[,g|s],
xerror[,N][,error], xselftest[,N][,selftest], background,
sasphy[,reset], sataphy[,reset], scttemp[sts,hist],
scttempint,N[,p], scterc[,N,M], devstat[,N], defects[,N], ssd,
gplog,N[,RANGE], smartlog,N[,RANGE], nvmelog,N,SIZE
-v N,OPTION , --vendorattribute=N,OPTION (ATA)
Set display OPTION for vendor Attribute N (see man page)
-F TYPE, --firmwarebug=TYPE (ATA)
Use firmware bug workaround:
none, nologdir, samsung, samsung2, samsung3, xerrorlba, swapid
-P TYPE, --presets=TYPE (ATA)
Drive-specific presets: use, ignore, show, showall
-B [+]FILE, --drivedb=[+]FILE (ATA)
Read and replace [add] drive database from FILE
[default is +/etc/smartmontools/smart_drivedb.h
and then /usr/share/smartmontools/drivedb.h]
============================================ DEVICE SELF-TEST OPTIONS =====
-t TEST, --test=TEST
Run test. TEST: offline, short, long, conveyance, force, vendor,N,
select,M-N, pending,N, afterselect,[on|off]
-C, --captive
Do test in captive mode (along with -t)
-X, --abort
Abort any non-captive test on device
=================================================== SMARTCTL EXAMPLES =====
smartctl --all /dev/sda (Prints all SMART information)
smartctl --smart=on --offlineauto=on --saveauto=on /dev/sda
(Enables SMART on first disk)
smartctl --test=long /dev/sda (Executes extended disk self-test)
smartctl --attributes --log=selftest --quietmode=errorsonly /dev/sda
(Prints Self-Test & Attribute errors)
smartctl --all --device=3ware,2 /dev/sda
smartctl --all --device=3ware,2 /dev/twe0
smartctl --all --device=3ware,2 /dev/twa0
smartctl --all --device=3ware,2 /dev/twl0
(Prints all SMART info for 3rd ATA disk on 3ware RAID controller)
smartctl --all --device=hpt,1/1/3 /dev/sda
(Prints all SMART info for the SATA disk attached to the 3rd PMPort
of the 1st channel on the 1st HighPoint RAID controller)
smartctl --all --device=areca,3/1 /dev/sg2
(Prints all SMART info for 3rd ATA disk of the 1st enclosure
on Areca RAID controller)
5、相关实例:
(1)、显示设备的身份信息,支持检查硬盘是否打开了SMART支持
smartctl -i /dev/sda
如果显示:SMART support is: Enabled,说明硬盘支持SMART。
(2)、开启硬盘支持SMART
smartctl --smart=on --offlineauto=on --saveauto=on
(3)、查看硬盘的健康状况:
[root@localhost ~]# smartctl -H /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-862.el7.x86_64] (local build)
Copyright © 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK
(4)、显示设备SMART厂商属性和值
smartctl -A /dev/sda
(5)、显示硬盘历史错误信息。
smartctl -l error /dev/sda
(6)、硬盘自测:
[root@localhost ~]# smartctl --test=TEST /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-862.el7.x86_64] (local build)
Copyright © 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org
=======> INVALID ARGUMENT TO -t: TEST
=> VALID ARGUMENTS ARE: offline, short, long, conveyance, force, vendor,N, select,M-N, pending,N, afterselect,[on|off] <=
Use smartctl -h to get a usage summary
(7)、显示硬盘测试信息
smartctl -l selftest /dev/sda
(8)、显示硬盘SMART的全部信息
[root@localhost ~]# smartctl -a /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-862.el7.x86_64] (local build)
Copyright © 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Vendor: VMware
Product: Virtual disk
Revision: 2.0
Compliance: SPC-4
User Capacity: 107,374,182,400 bytes [107 GB]
Logical block size: 512 bytes
LU is thin provisioned, LBPRZ=1
Device type: disk
Local Time is: Tue May 4 10:11:07 2021 EDT
SMART support is: Unavailable - device lacks SMART capability.
=== START OF READ SMART DATA SECTION ===
Current Drive Temperature: 0 C
Drive Trip Temperature: 0 C
Error Counter logging not supported
Device does not support Self Test logging
linux:查看磁盘硬件信息hdparm,smartctl
smartctl 命令
这个一个用于控制和监控支持smart技术的硬盘的命令。通常配合 -a 选项我们可以查看到比较详尽的硬盘信息(比如序列号、硬盘容量、已运行时间、硬盘健康状况等)。用法如下:
smartctl -a /dev/sda
Centos安装:
yum -y install smartmontools
smartctl
-i 指定设备
-d 指定设备类型,例如:ata, scsi, marvell, sat, 3ware,N
-a 或A 显示所有信息
-l 指定日志的类型,例如:TYPE: error, selftest, selective, directory,background, scttemp[sts,hist]
-H 查看硬盘健康状态
-t short 后台检测硬盘,消耗时间短
-t long 后台检测硬盘,消耗时间长
-C -t short 前台检测硬盘,消耗时间短
-C -t long 前台检测硬盘,消耗时间长
-X 中断后台检测硬盘
-l selftest 显示硬盘检测日志
HP硬盘:
smartctl -s on -d cciss,0 /dev/cciss/c0d0 开启SMART
smartctl -a -d cciss,0 -i /dev/cciss/c0d0 显示所有SMART信息
smartctl -l error -d cciss,0 -i /dev/cciss/c0d0 查看磁盘错误日志
+++++++++++++++++++++++smarted服务+++++++++++++++++
简单说下smartctl:smartd由kernel-utils包缺省安装。用命令 rpm -ql kernel-utils 可以列出kernel-utils包中的文件
它是一个守护进程(一个帮助程序),它能监视拥有自我监视,分析和汇报技术(Self-Monitoring, Analysis, and Reporting Technology - SMART)的硬盘。
主配置文件:/etc/smartd.conf
添加一行/dev/cciss/c0d0 -H -m sys@5iqiong.com
上边的配置表示smartd以静默状态工作,当SMART中报告PASSED的时候不理睬一旦出现Failure,立刻用邮件通知用户指定的邮箱
smartctl -a 显示硬盘所有SMART信息。
smartctl -i 显示硬盘model number, serial number,是否开启SMART等信息。
smartctl -s on 如果没有打开SMART技术,使用该命令打开SMART技术。
smartctl -t short 后台检测硬盘,消耗时间短
smartctl -t long 后台检测硬盘,消耗时间长
smartctl -C -t short 前台检测硬盘,消耗时间短
smartctl -C -t long 前台检测硬盘,消耗时间长
smartctl -X 中断后台检测硬盘。
smartctl -l selftest 显示硬盘检测日志。
smartctl -l error 显示硬盘错误汇总。
#smartctl -i /dev/sda
smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright © 2002-8 Bruce Allen Home page is http://smartmontools.sourceforge.net/ START OF INFORMATION SECTION Model Family: Western Digital Caviar Second Generation Serial ATA family Device Model: WDC WD3200JS-55PDB0 Serial Number: WD-WCAPD1876075 Firmware Version: 21.00M21 User Capacity: 320,072,933,376 bytes Device is: In smartctl database [for details use: -P show] ATA Version is: 7 ATA Standard is: Exact ATA specification draft version not indicated Local Time is: Mon Dec 19 17:21:12 2011 CST SMART support is: Available - device has SMART capability. SMART support is: Enabled
检查一下硬盘是否具有 SMART 特性
#smartctl -H /dev/sda
smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright © 2002-8 Bruce Allen Home page is http://smartmontools.sourceforge.net/ START OF READ SMART DATA SECTION SMART overall-health self-assessment test result: PASSED
查看硬盘健康状态
Note: 结果是 PASSED 并不意味着硬盘100%安全,如果结果是Failure一般都有问题,您需要备份数据或更新硬盘。
#smartctl -t short /dev/sda
smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright © 2002-8 Bruce Allen Home page is http://smartmontools.sourceforge.net/ 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 2 minutes for test to complete. Test will complete after Mon Dec 19 17:33:51 2011 Use smartctl -X to abort test.
快速检测硬盘。
#smartctl -l selftest /dev/sda
查看硬盘测试结果
#smartctl -l error /dev/sda
查看出错日志
hdparm 命令
该命令用来获取或设置SATA/IDE设备的参数。实际上hdparm是linux中的一个用户层程序,查看源码会发现这个命令就是向磁盘发送一些ioctl命令。但是注意了,既然可以获取也可以设置,所以使用这个命令的时候务必要小心。当然我们只是为了获取查看硬盘信息,故不会对硬盘及系统造成什么危害。通常会配合 -i 或 -I(大写的i) 选项来取得硬盘的硬件信息。例如序列码等等啊~用法如下: hdparm -i /dev/sdb
语 法:hdparm [-CfghiIqtTvyYZ] [-a <快取分区>][-A <0或1>][-c <I/O模式>][-d <0或1>][- k <0或1>][-K <0或1>][-m <分区数>][-n <0或1>][-p < PIO模式>][-P <分区数>][-r <0或1>][-S <时间>][-u <0或 1>][-W <0或1>][-X <传输模式>][设备]
补充说明:hdparm可检测,显示与设定IDE或SCSI硬盘的参数。
参 数:
-a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。
-A<0或1> 启动或关闭读取文件时的快取功能。
-c<I/O模式> 设定IDE32位I/O模式。
-C 检测IDE硬盘的电源管理模式。
-d<0或1> 设定磁盘的DMA模式。
-f 将内存缓冲区的数据写入硬盘,并清楚缓冲区。
-g 显示硬盘的磁轨,磁头,磁区等参数。
-h 显示帮助。
-i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。
-I 直接读取硬盘所提供的硬件规格信息。
-k<0或1> 重设硬盘时,保留-dmu参数的设定。
-K<0或1> 重设硬盘时,保留-APSWXZ参数的设定。
-m<磁区数> 设定硬盘多重分区存取的分区数。
-n<0或1> 忽略硬盘写入时所发生的错误。
-p<PIO模式> 设定硬盘的PIO模式。
-P<磁区数> 设定硬盘内部快取的分区数。
-q 在执行后续的参数时,不在屏幕上显示任何信息。
-r<0或1> 设定硬盘的读写模式。
-S<时间> 设定硬盘进入省电模式前的等待时间。
-t 评估硬盘的读取效率(不经过磁盘cache)。
-T 平估硬盘快取的读取效率。
-u<0或1> 在硬盘存取时,允许其他中断要求同时执行。
-v 显示硬盘的相关设定。
-W<0或1> 设定硬盘的写入快取。
-X<传输模式> 设定硬盘的传输模式。
-y 使IDE硬盘进入省电模式。
-Y 使IDE硬盘进入睡眠模式。
-Z 关闭某些Seagate硬盘的自动省电功能。
补充说明:hdparm可检测,显示与设定IDE或SCSI硬盘的参数。
测试各硬盘读取速度判断硬盘故障
在服务端命令窗口中执行如下命令
hdparm -t /dev/hda (IDE硬盘)
hdparm -t /dev/sda (SATA、SCSI、硬RAID卡阵列)
hdparm -t /dev/md0 (软RAID设备)
hdparm -tT /dev/sda1
好文要顶 关注我 收藏该文