linux:查看磁盘硬件信息hdparm,smartctl

Posted konglingbin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 [email protected]
上边的配置表示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 (C) 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 (C) 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 (C) 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




























































以上是关于linux:查看磁盘硬件信息hdparm,smartctl的主要内容,如果未能解决你的问题,请参考以下文章

linux命令总结

Linux查看所有用户用啥命令

linux速查命令

牛逼!Linux命令速查手册出炉!

debian查看硬盘序列号

Linux系统信息