ESXi 6.0 U3 + APC BR550S-JP + vMA 6.0.0.1 で電源管理
200年ぶりのブログです。
タイトルの通りESXi 6.0 U3 + BR550S-JP + vMA 6.0.0.1 で電源管理ができるようになったのでまとめておきます。
2.ESXiとUPSの接続
付属のUSBケーブルでUPSとESXiの入っているPCを接続します。
うまく認識されれば [仮想マシンのプロパティ] > [ハードウェアの追加] > [USB デバイス] にUPSが出てくるのでこれをvMAに追加します。
出てこない場合はUSBポートを変えるとうまくいったりします。
このあたりはマザボによるようなのでうまくいかないときは色々試す必要があります。
どうしてもうまくいかない場合はPCIe接続のUSBボードを買ってきて、PCIデバイスをUPSに認識させる手もあります。
3.vMAに管理apcupsdのインストール
以下のサイトから apcupsd-3.14.8-1.su112.x86_64.rpm をダウンロードします。
ftp://ftp.pbone.net/mirror/ftp.gwdg.de/pub/linux/misc/suser-sbarnin/suse112/x86_64/RPMS/
このサイトが参考になりました。
VMware 6.0 + vMA 6.0 で APC RS 550 で電源管理をしてみた | MaCaCa.JP
4.apcupsdの設定
設定ファイルを編集します。
/etc/apcupsd/apccontrol
シャットダウン時に実行するコマンドを指定できるので以下のように設定します。
スクリプトの場所はどこでもokです。
SHUTDOWN=/home/vi-admin/esxi_shutdown.sh
/etc/apcupsd/apcupsd.conf
電源制御については好きなように変更してください。
※見づらいので既存のコメント行は削除しています。
#USPの接続方式 UPSCABLE usb UPSTYPE usb # バッテリー運転になってからシャットダウンを始めるまでの猶予時間 # この時間内に復電した場合は何もしない ONBATTERYDELAY 60 # シャットダウンを開始するバッテリーレベル(%) # バッテリー残量が指定した値を下回った場合はシャットダウンを開始する BATTERYLEVEL 40 # シャットダウンを開始するランタイム # バッテリーで運転できる予想時間が指定した値を下回った場合はシャットダウンを開始する # (ランタイムはUPSの本体でも確認可能) MINUTES 4
設定が終わったらrootユーザで /sbin/apctest を実行し、接続確認を行います。
※うまく接続できていてもたまに失敗するようなので何度か試してみてください。
2017-12-24 18:36:14 apctest 3.14.8 (16 January 2010) suse Checking configuration ... Attached to driver: usb sharenet.type = DISABLE cable.type = USB_CABLE You are using a USB cable type, so I'm entering USB test mode mode.type = USB_UPS Setting up the port ... Hello, this is the apcupsd Cable Test program. This part of apctest is for testing USB UPSes. Getting UPS capabilities...SUCCESS Please select the function you want to perform. 1) Test kill UPS power 2) Perform self-test 3) Read last self-test result 4) View/Change battery date 5) View manufacturing date 6) View/Change alarm behavior 7) View/Change sensitivity 8) View/Change low transfer voltage 9) View/Change high transfer voltage 10) Perform battery calibration 11) Test alarm 12) View/Change self-test interval Q) Quit Select function number: q 2017-12-24 18:37:01 End apctest.
接続確認が問題なければ apcupsd のサービスを自動起動するように設定しておきます。
5.sshpassのインストール
sshに接続する際にパスワード認証させるためにsshpassをインストールします。
vMAはsuseベースのため以下のパッケージをインストールしました。
https://download.opensuse.org/repositories/network/SLE_11_SP4/x86_64/sshpass-1.06-7.1.x86_64.rpm
6.シャットダウンスクリプトの作成
/etc/apcupsd/apccontrolで指定したシャットダウンスクリプトを作成します。
今回は /home/vi-admin/esxi_shutdown.sh を指定しているのでそこに作成します。
#!/bin/bash sshpass -p P@ssw0rd ssh -o 'StrictHostKeyChecking no' -l root 192.168.0.1 poweroff
パスワード・ユーザ名・接続先IPは環境に応じて変更してください。
事前にこのスクリプトを単体で実行してESXiがシャットダウン出来ることを確認しておくのが良いと思います。
7.シャットダウンテスト
実際にUPSの電源を引っこ抜いてうまく止まるか試しましょう。
ESXi側の自動シャットダウンの時間が短すぎるとゲストOSが落ちきる前にホストが落ちるので、そのあたりも注意が必要です。