HDD のsmart 状態を監視する
HDD のSMARTで値を監視して、ハードウェアの状態が変化したり、故障が近づいたらメール通知しておくことにして、少し安心したい。
準備
sudo apt install smartmontools
smartd の有効化
smartmontoolsを入れたら smartd がついてくる。
sudo systemctl status smartmontools sudo systemctl enable smartd
smartd の設定
設定ファイルは /etc/smartd.conf
になる。 以前では /etc/default にあったらしいけど、systemd導入後のDebianだから変わってると思う。
メール設定
さきに、通知が出来る sendmail を設定しておく必要がありそうだったので、設定した→ Deiban/Exim4を設定して、gmailで通知メールを送出する。 - それマグで!
通知の送信先を設定する。
DEVICESCAN -m takuya@example.com
監視するデバイスの設定
ディスクデバイスのパスを指定する。
/dev/sda -a /dev/disk/by-uuid/beef5axx-50ed-4ad8-xxx-xxxxxxxxxxxxx -a
全部見るなら
DEVICESCAN -a
ちゃんとメールが届くかテストする。
DEVICESCAN -M test
実際には、この設定をまとめて書く
DEVICESCAN -a -M test -m takuya@example.com
ハードディスクの一つずつに設定を書いた場合
/dev/sda -a -M test -m takuya@example.com /dev/sdb -a -M test -m takuya@example.com
みたいにドンドン書く
何か実行させたい時
なにか、実行させたいときは、こんな感じにexec を掛けばいい。
-M exec path/to/file
Debian のデフォルトの場合は
/usr/share/smartmontools/smartd-runner
が起動することになってた。
此のスクリプトの中で、次のディレクトリにあるファイルが状況に応じて実行されるように設定されてた。
/etc/smartmontools/run.d
実際にやってみた例。
takuya@:~$ sudo -e /etc/smartd.conf takuya@:~$ sudo systemctl enable smartd takuya@:~$ sudo systemctl start smartd takuya@:~$ sudo systemctl status smartd ● smartd.service - Self Monitoring and Reporting Technology (SMART) Daemon Loaded: loaded (/lib/systemd/system/smartd.service; enabled) Active: active (running) since 土 2017-03-04 03:41:43 JST; 1 day 23h ago Docs: man:smartd(8) man:smartd.conf(5) Main PID: 27135 (smartd) CGroup: /system.slice/smartd.service └─27135 /usr/sbin/smartd -n --interval=172800 3月 06 03:27:54 acid systemd[1]: Started Self Monitoring and Reporting Technology (SMART) Daemon. Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.