VMware ESXiのUPS連携

[pukiwiki]
自宅サーバはVMware ESXi 5.5上に何台からのゲストOSが稼働している。今までは、対応しているゲストOSだけ自動シャットダウンする様にしていたのだが、サーバのマザーボードを交換したことを機にESXiの自動シャットダウン設定をしてみた。
**構成
-UPS: APC ES500
-サーバ: C2750D4I (Atom C2750)
-OS: VMware ESXi 5.5
**仕組み
私が使っているAPC ES500はSOHO用UPSなので、ESXiそのものへのUPSドライバは提供されていない。なので、ゲストOSの1つ(ubuntu 12.04)にnut(Network UPS Tools)を導入し、ゲストOSに対して、USBパススルーでUPSを接続する。
upsmon.conf内のSHUTDOWNCMDを変更することでゲストOSのシャットダウンを行うのではなく、ESXiにゲストの停止(/bin/shutdown.sh)とESXi自体の停止(poweroff)をSSHで実行する。
#SHUTDOWNCMD “/sbin/shutdown -h +0”
SHUTDOWNCMD “/usr/bin/ssh root@ESXiのIP ‘/bin/shutdown.sh;/bin/poweroff'”
なお、これを動作させるためにはESXi上で以下の設定をしておく必要がある。
+ESXiへのSSHログインができるように設定しておく。~
→vSphere Clientからホストの[構成]-[セキュリティプロファイル]で[サービス]のプロパティを開きSSHを選んでオプションボタンを押す。「ホストに連携して開始および停止」を選んで開始ボタンを押した後、OKボタンを押す。
+nutを入れたサーバからのパスワードなしでコマンドを実行するために、SSHキーを登録する。~
→ESXiサーバの/etc/ssh/keys-root/authorized_keys にパブリックキーを登録する。
+ESXi 上でゲストOSの自動起動・停止を設定しておく。~
→vSphere Clientからホストの[構成]-ソフトウェア項目の[仮想マシン起動/シャットダウン]から自動起動設定を選ぶ。
[/pukiwiki]