インフラエンジニアも人間じゃない?

インフラエンジニアの備忘録

ESXi 6.0 U3 + APC BR550S-JP + vMA 6.0.0.1 で電源管理

200年ぶりのブログです。

タイトルの通りESXi 6.0 U3 + BR550S-JP + vMA 6.0.0.1 で電源管理ができるようになったのでまとめておきます。

環境

  • 適当なPC(USBポートがあること)
  • APC BR550S-JP
  • VMware vSphere Hypervisor (ESXi) 6.0 U3
  • vMA 6.0.0.1

事前準備

1.vMAのインストール

適当に入れてIPアドレス等を設定しておきます。
バージョンの指定はないので好きなものを入れてください。

2.ESXiとUPSの接続

付属のUSBケーブルでUPSとESXiの入っているPCを接続します。
うまく認識されれば [仮想マシンのプロパティ] > [ハードウェアの追加] > [USB デバイス] にUPSが出てくるのでこれをvMAに追加します。

f:id:seioe:20171224180240p:plain

出てこない場合は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

落としてきたrpmWinSCP等でvMAに入れてrpmコマンドでインストールします。

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をインストールします。
vMAsuseベースのため以下のパッケージをインストールしました。
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が落ちきる前にホストが落ちるので、そのあたりも注意が必要です。