ファイルサーバー君に定期的にzpool statusさせて、異常があれば自分のメアド宛にメールをさせるようにする。
まず、FreeBSDに入っているsendmailをすでにおったててある自家メールサーバにリレーする設定に変更。
# cd /etc/mail
# make
とすると、ファイルサーバのホスト名.mcというファイルができるので、その中の
dnl define(`SMART_HOST',`mailhub.example.com')
を
define(`SMART_HOST', `自分のメールサーバホスト')
に変更。
# make install
# make restart
でsendmailの設定完了。
これでメールが出せる。
通知スクリプトは
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
ZSTAT=`zpool status`
NUM=`echo "$ZSTAT" | grep DEGRADED | wc -l`
if [ $NUM != 0 ] ; then
echo "Sending emergency mail"
cat <<EOF > /tmp/mail.txt
From:fileserver
Cc:
To: 自分のメールアドレス
subject: Server disk damaged!
EOF
echo "$ZSTAT" >> /tmp/mail.txt
cat /tmp/mail.txt | sendmail -t
rm /tmp/mail.txt
fi |
という感じで異常があればzpool statusの中身をメールさせる。
これをcronで10分おきくらいでまわしておくと、一応安心して放っておけるという寸法。