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 (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
查看硬盘健康状态
# 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