ESXi 4.1のUPS連動 その1
※下記はメモであり、間違っている可能性があります!
指摘に関しては歓迎なのでコメに書いてくださーいm<..>m
ESXiを使う機会が増えた。
さて、ここでやらなきゃいけない事が一つ。
そう。UPSとの連動をしなくてはいけないのだっ!
google先生に聞いてみると、SSHでうんたらかんたらで
スクリプトを・・ry
というのがいくつかあった。
うーん。あまり複雑な事はやりたくない。そしてunsupport
な事は極力避けたい。だれでもわかるシンプルなやり方は
無いのか??
vmwareコミュニティサイトを調べていると、それっぽい
perlスクリプトがあった。
http://communities.vmware.com/docs/DOC-11623
ちょっと複雑かな・・?(笑
と思ったが、この方法を試した。
0、ESXiにログインし、バーチャルマシン自動起動・停止の設定を行う。ここはググッテ。
1、VMA4.0のダウンロード
2、ESXi上にVMA4.0をOVFデプロイ
3、VMA4.0上に、shutdownHostViaSOAPAPICall.plを配置
4、shutdownHostViaSOAPAPICall.plの編集
こんなかにユーザ名・パスワードを埋め込む場所がある。
ここを変更
修正箇所
my $host_username = 'hoge';
my $host_password = 'hoge';
5、chmod +x shutdownHostViaSOAPAPICall.pl
6、hostlist.txtの作成
DNS正引き可能ホスト又は、IPアドレスのリストを記載する。ここに記載されたhost(ESXi本体)はshutdown対象となる。
<注意1>
VMAが動作しているhostをshutdownする際は、リストの最後に追加しなければいけないと思う。
VMA動作hostをshutdowsする必要がないなら、listに含める必要な無い。
<注意2>
hostlist.txtに複数ホストを定義する場合、それらのhostは
共通のユーザ名、パスワードを持ち要らなければ失敗する。
スクリプトを弄れば、共通でなくても出来るが今回は
弄らない。
hostlist.txtの記述例***
vi /home/vi-admin/hostlist.txt
esxi.example.com
hoge.example.com
7、apcupsd-3.14.5-1.el5.x86_64.rpmのダウンロード
8、sudo rpm -ivh apcupsd-3.14.5-1.el5.x86_64.rpm
9、sudo vi /etc/apcupsd/apcupsd.confの編集
※ここは、環境にあわせて設定する。
10、sudo vi /etc/apcupsd/apccontrol
修正前
doshutdown)
echo "UPS ${2} initiated Shutdown Sequence" | ${WALL}
${SHUTDOWN} -h now "apcupsd UPS ${2} initiated shutdown"
;;
修正後
doshutdown)
echo "UPS ${2} initiated Shutdown Sequence" | ${WALL}
/home/vi-admin/shutdownHostViaSOAPAPICall.pl /home/vi-admin/hostlist.txt
${SHUTDOWN} -h now "apcupsd UPS ${2} initiated shutdown"
;;
11、apcupsdの起動
sudo /etc/init.d/apcupsd start
エラーが出力されないことを確認し、プロセスを確認。
12、UPSの商用電源をOFFしてみる。
ぴー。ぴー。ぴー。鳴り響く音。後は設定した時間待つ。
VMAのコンソールにブロキャスメッセージが出力される。
バッテリー駆動になったよ!と。
設定した時間になると、apcupsdがシャットダウン信号を
出し、apccontrolが呼ばれる。
Successfullly・・・
というメッセージがコンソールに出力され、ホストがシャットダウンされた。
バーチャルマシン自動起動・停止をしっかり設定していれば、ホストがシャットダウンした際にゲストは、PowerOff/Suspend/Shutdownの行動を取るはず。って事でこんなんでいいのかな?ちょっち乱暴?
次回は違う方法でチャレンジします。