Openfilerで、RAIDのデグレードなど致命的エラーが発生した場合、メールでSEに通知するように出来る。しかし、標準ではESMTPなど認証を用いる外部のメールサーバを用いることは出来ない。
sendmail-cfスクリプトの強制インストール
/use/shareディレクトリに、sendmail-cfがインストールされていないため、他のLinuxマシンよりディレクトリごとコピーする (私はCentOS 5.2のものを丸ごとコピーして利用)。
あるいは、sendmail-cfがインストールされている他のマシンで、sendmail.mcの変換作業を行うという手段もある… お好きなほうをどうぞ w
「sendmail-cf.centos5.tarのダウンロード」
(今回利用したものを欲しい人はどうぞ。保証など一切無いですけど…。/usr/share/sendmail-cf/ ディレクトリで解凍する)
sendmailの設定
外部のSMTPサーバ(ユーザ認証あり)を用いるように、sendmail.mcを修正。(次の例でmail.example.com は自分の利用するメールサーバに合わせること)
define(`SMART_HOST',`esmtp:[mail.example.com]')
define(`ESMTP_MAILER_ARGS',`TCP $h 587') ← この行は新規追加
FEATURE(authinfo, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`authinfo') ← この行は新規追加
dnl EXPOSED_USER(`root')dnl ← この行は無効化
MASQUERADE_AS(`mail.example.com')dnl
FEATURE(masquerade_envelope)dnl
上記の修正を済ませたら、次のように変換を行い、sendmail.cfを作成する。
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
次に、ESMTP認証ファイルを作成する。
次の例で、日本語のところは、適宜、メールサーバへのログオンアカウントに合わせて設定する。認証方式はLOGINという文字列に置き換える。(CRAM-MD5をサポートしているなら、その文字列でもよい)
echo AuthInfo:SMTPサーバー名 \"U:ユーザー名\" \"P:パスワード\" \"M:認証方式\" > /etc/mail/authinfo
makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo
ここまで済めば、sendmailを再起動(/etc/rc.d/init.d/sendmail restart)して、mailコマンドで外部アドレスへメールが送信できるか確認を行う。
異常時メール送信の設定
"System"タブの、"Notification"メニューで設定する。
Mail Server (Optional) は空欄のままにしておく。(sendmailが自動的にリレーするため)
異常時メールのサンプル
RAID-1がデグレードしたときのメールの例
Sat 13 Jun 2009 07:42:20 PM JST
localhost.localdomain
This email has been automatically generated by
Openfiler to inform you that a DegradedArray event has been
detected on the RAID array /dev/md2.
Full details are listed below
_____________________________________________________
/dev/md2:
Version : 00.90.03
Creation Time : Sat Jun 13 09:31:39 2009
Raid Level : raid1
Array Size : 144512 (141.15 MiB 147.98 MB)
Used Dev Size : 144512 (141.15 MiB 147.98 MB)
Raid Devices : 2
Total Devices : 1
Preferred Minor : 2
Persistence : Superblock is persistent
Update Time : Sat Jun 13 19:42:01 2009
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
UUID : b0d3d94b:44ac3d03:8ce88a09:7f68adb5
Events : 0.32
Number Major Minor RaidDevice State
0 8 3 0 active sync /dev/sda3
1 0 0 1 removed