运维部落

首页 > Linux > Smartmontools – Linux中监控硬碟的健康状态及温度告警

Smartmontools – Linux中监控硬碟的健康状态及温度告警

Smartmontools – Linux中监控硬碟的健康状态及温度告警

Linux当中没有很多方便又有图形化的监控工具,大部分的监控可以透过SNMP或是其他工具辅助,像我通常都使用单颗硬碟居多,硬碟的健康状况总是得偶尔关心一下,而且老实说我真的没有在意过Linux的硬碟温度,还真是糟糕…..不过既然得知了有方便的工具,当然得使用看看,多关心硬碟一点,寿命久一点!

「Smartmontools」在Linux当中可以透过yum来安装即可,我要安装的同时才发现我系统内原本就有这个套件,之前都没有用到还真是小小浪费了~来看看除了文件档之外有哪些档案呢?

1
2
3
4
5
6
$ rpm -ql smartmontools
/etc/rc.d/init.d/smartd
/etc/smartd.conf
/etc/sysconfig/smartmontools
/usr/sbin/smartctl
/usr/sbin/smartd

原来这工具就是系统内一直都没开啟使用的「smartd」服务啊^^a,一直以来我都没有开啟过,一直以来都只开起【必要开啟的服务】,其他的能省则省。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ smartctl -a /dev/sdb3
smartctl version 5.38 [i686-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
 
=== START OF INFORMATION SECTION ===
Device Model: ST31000333AS
Serial Number: 9TE10MBY
Firmware Version: CC1H
User Capacity: 1,000,203,804,160 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Tue Feb 8 14:25:49 2011 CST
SMART support is: Available - device has SMART capability.
SMART support is: Disabled(未啟动HDD SMART)
 
SMART Disabled. Use option -s with argument 'on' to enable it.(未啟动服务)

啟动服务后就会有一堆硬碟资讯出现了~

真的还不少,展开来看吧! more..

资讯真的是多到眼花撩乱,若不是有特殊的监控项目,还真的不知道该如何著手,而且我的Linux是架设在ESXi上,系统的硬碟其实是看不到SMART的资讯,自己【Mapping Physical Disk to vmdk】的硬碟才可以看的到SMART的讯息,ESXi的硬碟可能还是得从ESXi的方面著手。而我主要要观察的项目為温度,在上方资讯要观察的项目是194这个项次。

自己下指令或是写script观察温度是可行的,不过既然smartd是一个服务,不妨看看设定档,果然有监控的选项即设定,当发生问题时可以主动发信告知,也可以将一些纪录写入syslog,日后有需要查询时也方便许多。仔细查看/etc/smartd.conf的设定档,发现可以监控的项目不少,而且预设的范例都有写在设定档内,若有一些进阶需求,可以翻翻设定档或许会有解答,而我目前只改了一些基本的设定。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# 全域设定寄发邮件的对象
DEVICESCAN -H -m 电子信箱
 
# 每小时纪录194、231、9的讯息到syslog
DEVICESCAN -I 194 -I 231 -I 9
 
# Monitor all attributes except normalized Temperature (usually 194),
# but track Temperature changes >= 4 Celsius, report Temperatures
# >= 45 Celsius and changes in Raw value of Reallocated_Sector_Ct (5).
# Send mail on SMART failures or when Temperature is >= 55 Celsius.
# 应该是温度改变超过4度,温度大於45、55度告警,以及磁区故障系统自动配置备用磁区超过5时告警
/dev/sdb -a -I 194 -W 4,45,55 -R 5 -m 电子信箱
 
# 默默的检查,SMART发生异常时才发出通知
/dev/sdb -H -C 0 -U 0 -m 电子信箱
 
# 更多的设定选项如下
-d TYPE Set the device type: ata, scsi, marvell, removable, 3ware,N, hpt,L/M/N
-T TYPE set the tolerance to one of: normal, permissive
-o VAL Enable/disable automatic offline tests (on/off)
-S VAL Enable/disable attribute autosave (on/off)
-n MODE No check. MODE is one of: never, sleep, standby, idle
-H Monitor SMART Health Status, report if failed
-l TYPE Monitor SMART log. Type is one of: error, selftest
-f Monitor for failure of any 'Usage' Attributes
-m ADD Send warning email to ADD for -H, -l error, -l selftest, and -f
-M TYPE Modify email warning behavior (see man page)
-s REGE Start self-test when type/date matches regular expression (see man page)
-p Report changes in 'Prefailure' Normalized Attributes
-u Report changes in 'Usage' Normalized Attributes
-t Equivalent to -p and -u Directives
-r ID Also report Raw values of Attribute ID with -p, -u or -t
-R ID Track changes in Attribute ID Raw value with -p, -u or -t
-i ID Ignore Attribute ID for -f Directive
-I ID Ignore Attribute ID for -p, -u or -t Directive
-C ID Report if Current Pending Sector count non-zero
-U ID Report if Offline Uncorrectable count non-zero
-W D,I,C Monitor Temperature D)ifference, I)nformal limit, C)ritical limit
-v N,ST Modifies labeling of Attribute N (see man page)
-a Default: equivalent to -H -f -t -l error -l selftest -C 197 -U 198
-F TYPE Use firmware bug workaround. Type is one of: none, samsung
-P TYPE Drive-specific presets: use, ignore, show, showall

大致上我就只有设定那麼一些些,主要还是藉由服务帮忙监控,若是需要更简单的方式监控硬碟温度,可以设定「hddtemp」的服务,不过能侦测的硬碟有限,snmp的资讯似乎也没温度的相关讯息,所以暂时就是简单的设定告警萝!

分类: Linux 标签: , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
您必须在 登录 后才能发布评论.