smartmontools によるハードディスクの自己診断機能

はじめに

smartmontools は HDD の S.M.A.R.T 情報を簡単に取得できサーバ等のHDD状態を診断してエラーなどがあるとメールでお知らせしてくれる機能を持っています。HDDが完全に故障する前に検知することが可能となりデータの保全をすることが出来ます。 Install

portsのsysutils/smartmontoolsからインストール。

# portinstall sysutils/smartmontools

/etc/rc.confに以下の行を追加

smartd_enable="YES"

設定ファイル

/usr/local/etc/smartd.conf の書き方は、man smartd.confやサンプルファイル(/usr/local/etc/smartd.conf.sample)を参照。 通常は、DEVICESCAN行をコメントアウトした上で、

#DEVICESCAN

# First (primary) ATA/IDE hard disk.  Monitor all attributes, enable
# automatic online data collection, automatic Attribute autosave, and
# start a short self-test every day between 2-3am, and a long self test
# Saturdays between 3-4am.
/dev/ad4 -a -o on -S on -s (S/../.././02|L/../../6/03) -H -m alert@example.com

上記のような書き方をしてればOKです。最後の通知先メールアドレスは適宜変更すること、エラーが検知されるとアラートメールが飛んできます。

テストの内容

  • 毎日2-3時の間にshortテスト
  • 毎週日曜日3-4時にlongテスト

起動

# /usr/local/etc/rc.d/smartd start

コマンド

セルフテスト

shot test

# smartctl -t shot /dev/ada0

long test

# smartctl -t long /dev/ada0

セルフテストの結果表示は smartctl -a /dev/ada0 コマンドの一番最後に出てきます。shortテストで約1分、longテストで約60分時間がかかる

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     20292         -
# 2  Extended offline    Completed without error       00%     20283         -

ステータス確認

# smartctl -a /dev/hda

エラーログを確認

# smartctl -l error /dev/hda
smartctl 6.0 2012-10-10 r3643 [FreeBSD 9.1-PRERELEASE amd64] (local build)
Copyright (C) 2002-12, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
No Errors Logged

ドライブの診断実行例

# smartctl -a /dev/ada0                                                                                        [9/1844]
smartctl 6.0 2012-10-10 r3643 [FreeBSD 9.1-PRERELEASE amd64] (local build)
Copyright (C) 2002-12, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Hitachi Deskstar 7K250
Device Model:     HDS722516VLSA80
Serial Number:    VN6DTECDERW5RA
Firmware Version: V34OA6MA
User Capacity:    164,696,555,520 bytes [164 GB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA/ATAPI-6 T13/1410D revision 3a
Local Time is:    Sun Nov 25 23:00:18 2012 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x80) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Enabled.
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 Offline 
data collection:                ( 3585) seconds.
Offline data collection
capabilities:                    (0x1b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        No Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine 
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        (  60) minutes.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   060    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   100   100   050    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0007   181   181   024    Pre-fail  Always       -       85 (Average 246)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       467
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       2
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   100   100   020    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0012   098   098   000    Old_age   Always       -       20292
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       435
192 Power-Off_Retract_Count 0x0032   099   099   050    Old_age   Always       -       1254
193 Load_Cycle_Count        0x0012   099   099   050    Old_age   Always       -       1254
194 Temperature_Celsius     0x0002   253   253   000    Old_age   Always       -       21 (Min/Max 3/50)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       2
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       0

SMART Error Log Version: 1
No Errors Logged
created:

Back to top