LinuxでのS.M.A.R.T.によるHDDの障害検知

LinuxでのSelf-Monitoring, Analysis and Reporting Technology System(S.M.A.R.T.)によるHDDの障害検知を行ないます。
ATAまたはSCSIのディスクにおいて、エラーの検出回数やバッドブロックの数を モニタし、障害を検知します。
開発プロジェクトの調査によると70%の確立で事前検出できると書いてありま す。
詳細はhttp://csl.cse.ucsc.edu/smart.shtml参照。

必要要件

HDDがSMART対応であること

テスト環境

RedHat6.3(kernel 2.4.18-3smp)
Seagate ST340016A
smartsuite-2.1.tar.gz

インストール

$ gzip -dc smartsuite-2.1.tar.gz|tar xvf -
$ cd smartsuite-2.1
$ make
$ su
# mkdir /usr/local/man
# mkdir /usr/local/man/man8
# make install

起動

# /etc/rc.d/init.d/smartd start

ステータスを見る

# /usr/local/sbin/smartctl -a /dev/hda

Device: ST340016A  Supports ATA Version 5
Drive supports S.M.A.R.T. and is enabled
Check S.M.A.R.T. Passed.

General Smart Values: 
Off-line data collection status: (0x82) Offline data collection activity 
                                        completed without error

Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever 
                                        been run

Total time to complete off-line 
data collection:                 ( 422) Seconds

Offline data collection 
Capabilities:                    (0x1b)SMART EXECUTE OFF-LINE IMMEDIATE
                                        Automatic timer ON/OFF support
                                        Suspend Offline Collection upon new
                                        command
                                        Offline surface scan supported
                                        Self-test supported

Smart Capablilities:           (0x0003) Saves SMART data before entering
                                        power-saving mode
                                        Supports SMART auto save timer

Error logging capability:        (0x01) Error logging supported

Short self-test routine 
recommended polling time:        (   1) Minutes

Extended self-test routine 
recommended polling time:        (  31) Minutes

Vendor Specific SMART Attributes with Thresholds:
Revision Number: 10
Attribute                    Flag     Value Worst Threshold Raw Value
(  1)Raw Read Error Rate     0x000f   082   072   034       89113005
(  3)Spin Up Time            0x0003   090   090   000       0
(  4)Start Stop Count        0x0032   100   100   020       62
(  5)Reallocated Sector Ct   0x0033   100   100   036       0
(  7)Seek Error Rate         0x000f   077   060   030       58529376
(  9)Power On Hours          0x0032   098   098   000       2038
( 10)Spin Retry Count        0x0013   100   100   097       0
( 12)Power Cycle Count       0x0032   100   100   020       109
(194)Temperature             0x0022   035   059   000       35
(195)Hardware ECC Recovered  0x001a   082   072   000       89113005
(197)Current Pending Sector  0x0012   100   100   000       0
(198)Offline Uncorrectable   0x0010   100   100   000       0
(199)UDMA CRC Error Count    0x003e   200   200   000       0
(200)Unknown Attribute       0x0000   100   253   000       0
(202)Unknown Attribute       0x0032   100   253   000       0
SMART Error Log:
SMART Error Logging Version: 1
No Errors Logged

エラー検出時の動作

エラー検出時はsyslogにエラーが出ます。
書式は次のようなもの
Device: /dev/hda, Faild attribute: x
syslogのファシリティーはuser、レベルはお知らせがINFO、障害はCRITです。