Linuxで ハードディスクの状態を監視し、異常を検出するとメールで通知する smartdデーモンの利用方法です。
以下の記事で紹介した HDDの SMART情報を監視します。
Linuxでの HDDの S.M.A.R.T.情報の取得と、HDD自己診断の実施方法 パソコン鳥のブログ
インストール・設定
Ubuntu と CentOS に分けて説明します。
Ubuntu14.04
インストールします。
apt-get install smartmontools
/etc/default/smartmontools で、#start_smartd=yes のコメントを外します。
/etc/default/smartmontools
start_smartd=yes
SMART情報の監視間隔を指定する場合は、下記のように指定します。
単位は秒です。
/etc/default/smartmontools
smartd_opts="--interval=1800"
/etc/smartd.conf の最初の DEVICESCAN で始まる行を次のようにします。
「メールアドレス」には、HDDに異常が発生した場合の通知先アドレスを記述します。
/etc/smartd.conf
DEVICESCAN -S on -n standby -m <i>メールアドレス</i> -M exec /usr/share/smartmontools/smartd-runner
起動します。
service smartmontools start
なお、DEVICESCAN に -M test オプションを追加していると、smartmontoolsサービス起動時に、指定されたメールアドレスにテストメールが送信されます。
CentOS6/7
インストールします。
yum install smartmontools
SMART情報の監視間隔を指定する場合は、下記のように指定します。
単位は秒です。
/etc/sysconfig/smartmontools
smartd_opts="" の内容に、--interval=1800 を追加します。
/etc/smartd.conf の最初の DEVICESCAN で始まる行を次のようにします。
「メールアドレス」には、HDDに異常が発生した場合の通知先アドレスを記述します。
CentOS7の場合
/etc/smartmontools/smartd.conf
DEVICESCAN -S on -m <i>メールアドレス</i> -M exec /usr/libexec/smartmontools/smartdnotify -n standby,10,q
CentOS6の場合
/etc/smartd.conf
DEVICESCAN -S on -n standby -m <i>メールアドレス</i>
起動します。
service smartd start
なお、DEVICESCAN に -M test オプションを追加していると、smartmontoolsサービス起動時に、指定されたメールアドレスにテストメールが送信されます。
動作内容
指定された監視間隔で、ハードディスクのSMART情報のチェックが行われます。
エラーを検出したり、SMART項目値に変化があると、syslog(Ubuntu),messages(CentOS) にログ出力されます。
エラー検出の際には、指定したメールアドレスに警告メールが送信されます。
このメールは、Ubuntu ではエラー検出時に一度だけ送信され、以降のチェックの度にメール送信されることはありません。
CentOS でもエラー検出時に一度だけ送信されます。また、smartd起動時にも再度メール送信されます。
警告メールの内容
警告メールは、次の Subject で送信されます。
<タイプ> は、Usage , Health 等の通知種別が入ります。タイプについては後述します。
CentOS7
Subject:<タイプ>
Ubuntu , CentOS6
Subject:SMART error (<タイプ>) detected on host: <ホスト名>
警告メールが送信される通知にはいくつかありますが、ここでは主なものを説明します。
「タイプ」がメールの Subject に入ります。
タイプ:Usage
SMART情報の項目値が、ハードディスクメーカーが指定した閾値以下になった場合に通知されます。
24時間以内の故障が予見されます。
タイプ:Health
ハードディスクのSMART情報チェックで、状態が Bad となっている場合に通知されます。
SMART情報の項目は複数ありますが、その内1つでも、ハードディスクメーカーが指定した閾値以下になっていると、この状態になります。
(タイプ Usage は、SMART情報の各項目それぞれについて通知されます)
ハードディスクの健康状態が障害目前です。
タイプ:SelfTest
HDDの自己診断の結果が、エラーだった場合に通知されます。
自己診断の実施方法については、下記の「HDDの自己診断」を参照して下さい。
Linuxでの HDDの SMART情報の取得と、HDD自己診断の実施方法 パソコン鳥のブログ
タイプ:FailedOpenDevice
監視していたハードディスクが認識できなくなってから24時間経過した場合に通知されます。
例えば、外付けUSBハードディスクが取り外された場合が該当します。
以上、Linuxで HDDの SMART状態を監視し、異常を検出するとメールで通知する smartdデーモンの利用方法でした。
参考
Smartmontools – Community Help Wiki
S.M.A.R.T. – ArchWiki
smartd.conf(5) – Linux man page
S.M.A.R.T. ( スマート 情報 )で ハードディスク の 障害状況 を分析
smartmontoolsのソースコード
コメント