详解smartctl工具---服务器硬盘状态监控(附实例说明)

oLiGuangZhi 2019-03-27

概述

分享下之前对某台服务器做的一个硬盘监控,主要是通过smartctl工具来实现,下面是测试的一个过程。


XX服务器磁盘空间

[root@localhost media]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 99G 70G 24G 75% /
tmpfs 48G 76K 48G 1% /dev/shm
/dev/sdb2 485M 42M 418M 10% /boot
/dev/sdb1 500M 156M 345M 32% /boot/efi
/dev/mapper/VolGroup-lv_home 77G 5.7G 68G 8% /home

这里可以看到用了sdb硬盘

附:smartmontools介绍

smartmontools是一款开源的磁盘控制,监视工具,可以运行在Linux,Unix,BSD,Solaris,Mac OS,OS/2,Cygwin和Windows上,同时它还可以从启动光盘或启动软盘运行,支持ATA/ATAPI/SATA-3(到-8)位的硬盘和 SCSI硬盘,另外还支持磁带设备,它的老家在smartmontools.sourceforge.NET,实际上它是一个软件包,包括了两个实用程序:smartctl和smatd。它监控的硬盘必须具有S.M.A.R.T特性,目前所有硬盘都有这个特性,但默认情况下通常没有开启这个功能,有两种方法来开启这个特性:1)通过BIOS设置选项2)通过smartctl命令。利用它可以测试硬盘的健康状况,并在发生故障前进行预警。


测试硬盘是否支持S.M.A.R.T

[root@localhost media]# smartctl -i -d scsi /dev/sda
[root@localhost media]# smartctl -i -d scsi /dev/sdb

详解smartctl工具---服务器硬盘状态监控(附实例说明)

说明:参数-i指出显示设备信息,-d指出设备类型,有些指定的设备类型为ata,如果是SCSI硬盘,就指定scsi了,最后的/dev/sda就是设备(df命令查询设备)。

从返回的信息中,可以看到硬盘的生产厂家,型号,序列号,容量,是否支持SMART,目前SMART开启没有。结果的最后两行就是我们需要的信息,从这里可以看出,/dev/sdb硬盘是支持SMART技术的,目前已经启动它。/dev/sda硬盘提示“Device does not support SMART”的信息就说明目标硬盘不支持SMART,不能使用这套软件包进行测试和监控。


开启SMART特性

#smartctl -s on -d ata /dev/sda

参数-s就是用来开关SMART特性的,如果加上参数值on就表示开启,如果参数值是off就表示关闭。


测试

[root@localhost media]# smartctl -H -d scsi /dev/sdb
[root@localhost media]# smartctl -H -d scsi /dev/sda

详解smartctl工具---服务器硬盘状态监控(附实例说明)

说明:参数-H指定显示目标硬盘的健康状态


其它一些有用的参数

-A 显示支持的SMART属性,参考命令:

#smartctl -A sda

返回内容:

详解smartctl工具---服务器硬盘状态监控(附实例说明)

说明:

-a 显示设备所有的SMART信息。

-l error 列出硬盘错误日志。如果显示没有错误最好,如果显示了大量的错误信息,那就该着手准备替换硬盘了。

-l selftest 列出自行测试结果。


利用smartd进行自动监控

smartd是smartmontools软件包中的一个实用程序,可以单独运行,也可以注册为系统服务,Windows上的注册命令为:

>smartd install

注册后,打开services.msc,可看到一个名叫“SmartD Service”服务,并设置为“自动”启动。

在非Windows平台上可通过向/etc/rc.d/init.d添加smartd脚本,其实在安装smartmontools软件包的时候 通常会安装到这个位置,只需要在对应的启动级别下做一个软链接就可以了。

smartd的配置文件为smartd.conf(Windows和非Windows平台都叫这个名字,Windows平台与 smartd.exe在同一个目录下,非Windows平台位于/etc目录下),在这个配置文件中已经内置许多种监视方法和参数说明:

[root@localhost ~]# locate smartd.conf
/etc/smartd.conf
/usr/share/doc/smartmontools-5.43/smartd.conf
/usr/share/man/man5/smartd.conf.5.gz

关于smartctl这里面其实还有个-m 参数,我们可以利用它将监视报告以邮件的形式发送给指定的E-mail地址,这样设备管理员坐在电脑前就可以掌控所有硬盘设备的健康状况了。

后面小编会分享更多linux方面的内容,感兴趣的朋友走一波关注哩~

详解smartctl工具---服务器硬盘状态监控(附实例说明)

相关推荐