HDDに異常があればメール通知する smartdの利用方法

ALL
スポンサーリンク

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のソースコード

コメント