MSMでRAID状態を確認してみたものの、いちいち見るほどの情報がない。そもそも日ごろRAIDエラーが出た時に確認する程度。やはりメール通知がほしい。そこでいろいろググって、こちらを参考に「megacli 日立」でヒットしたものを使わせていただいた。
やはりメール通知で難航。と、そもそもESXiから送信させようとするから悩む。ということで、発想転換して別仮想マシンからESXiへexpectすることにした。これをcronすればいい。
$ cat raidcheck.sh #!/bin/sh host=192.168.0.10 id=root pass=....... expect -c " set timeout 90 spawn ssh ${id}@${host} expect \"Password:\" { send \"${pass}\n\" expect \"#\" send \"cd /vmfs/volumes/datastore1/MEGACLI;./MegaCli -PDList -aALL | grep "S.M.A.R.T"\n\" } expect eof exit "
上記を実行すると以下のようになる。cutするなど整形の必要有りかな。あ、整形条件変えてMuninでグラフ化するのもおもしろいかも。
$ ./raidcheck.sh spawn ssh root@192.168.0.10 Password: The time and date of this login have been sent to the system logs. VMware offers supported, powerful system administration tools. Please see www.vmware.com/go/sysadmintools for details. The ESXi Shell can be disabled by an administrative user. See the vSphere Security documentation for more information. ~ # cd /vmfs/volumes/datastore1/MEGACLI;./MegaCli -PDList -aALL | grep S.M.A.R.T Drive has flagged a S.M.A.R.T alert : No Drive has flagged a S.M.A.R.T alert : No
・RAIDディスク状態を確認
MegaCli -LDInfo -Lall -aALL
・MegaRAID アダプタのコントローラ情報を表示
MegaCli -AdpAllInfo -aALL
・MegaRAID アダプタの設定内容を表示
MegaCli -CfgDsply -aALL