先の記事でQNAPにUPSを接続し、QNAPのNUTでクライアントに商用電源の状態を送り、クライアントマシンをshutdownするまでの設定を行ったが、あと1台VMWare ESXiが稼働している。
このマシンにもshutdownの信号を受信できるよう少し調べてみたが、ssh経由でshutdownを行う感じで出来そうだ。
具体的には、QNAPのNUT SERVERからVMwareESXi上に展開したWindowsマシンでNUT CLIENTを建てて、商用電源の喪失信号を受けると、ShutdownScriptを走らせる。
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’”
下記参考ページの構成と私の構成が異なっており、そのまま対応できない。
しかし、非常に参考になる。
参考ページのGuestOSはUbuntuを利用されているが、私の環境ではWindowsなので、WinNUTを使いGuestWindowsホストのupsmon.confにシャッドダウンコマンドにsshを足して設定すれば良さそうだ。
sshの設定は、参考ページと同じで良さそうだ。
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からホストの[構成]-ソフトウェア項目の[仮想マシン起動/シャットダウン]から自動起動設定を選ぶ。
VMwareESXiがGuestOSが何台か稼働中なので、間をみて設定しておくことにする。
参考)
https://lambeden.dyndns.org/wp/?p=83