さてvSphere Management Assistant 5が導入できたところで電源管理ソフトapcupsdのインストールと設定を行います
vMA 5.0はベースがNovell SUSE Linux Enterprise 11(64bit)なので今回は下記のrpmパッケージを利用しました
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/apcupsd-3.14.8-1.su112.x86_64.rpm
当方のAPC UPSは年期の入ったBK350J(バッテリー交換済み)で接続ケーブルは940-0020Cです
サポート終了製品でバッテリの提供が停止しているので、そろそろ替え時なんですが…
- sshでvMAにログイン
- apcupsd-3.14.8-1.su112.x86_64.rpmをDownload
- apcupsdをInstall
- /etc/apcupsd/apcupsd.confの編集
- UPS Testing
- apcupsdを起動
- UPSに接続テスト
sshでvi-adminでログインします
apcupsd-3.14.8-1.su112.x86_64.rpmをDownloadします。vMA 5.0はwgetが利用できますのでこれでDownloadしました。事前にDownloadしてsftpでvMAにUploadもできます
vi-admin@vma5:~> mkdir work
vi-admin@vma5:~> cd work/
vi-admin@vma5:~/work> wget ftp://ftp.pbone.net/mirror/ftp.gwdg.de/pub/linux/misc/suser-sbarnin/suse112/x86_64/RPMS/apcupsd-3.14.8-1.su112.x86_64.rpm
–2012-04-24 17:52:50– ftp://ftp.pbone.net/mirror/ftp.gwdg.de/pub/linux/misc/suser-sbarnin/suse112/x86_64/RPMS/apcupsd-3.14.8-1.su112.x86_64.rpm
=>apcupsd-3.14.8-1.su112.x86_64.rpm'
Resolving ftp.pbone.net... 85.14.85.4
Connecting to ftp.pbone.net|85.14.85.4|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /mirror/ftp.gwdg.de/pub/linux/misc/suser-sbarnin/suse112/x86_64/RPMS ... done.
==> SIZE apcupsd-3.14.8-1.su112.x86_64.rpm ... 390130
==> PASV ... done. ==> RETR apcupsd-3.14.8-1.su112.x86_64.rpm ... done.
Length: 390130 (381K)100%[======================================>] 390,130 165K/s in 2.3s
2012-04-24 17:52:57 (165 KB/s) - apcupsd-3.14.8-1.su112.x86_64.rpm’ saved [390130]
Proxy Server経由でないとInternetに繋がらない場合は/etc/wgetrc(システム設定)か~/.wgetrc(ユーザ設定)を編集します
# You can set the default proxies for Wget to use for http and ftp.
# They will override the value in the environment.
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
apcupsdをインストールします
vi-admin@vma5:~/work> sudo rpm -ivh apcupsd-3.14.8-1.su112.x86_64.rpm
vi-admin’s password:
warning: apcupsd-3.14.8-1.su112.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID a81af992
Preparing… ########################################### [100%]
1:apcupsd ########################################### [100%]
insserv: warning: script ‘K01vmware-vifpd’ missing LSB tags and overrides
insserv: warning: script ‘K01vmware-vma’ missing LSB tags and overrides
insserv: warning: script ‘vmware-vifpd’ missing LSB tags and overrides
insserv: warning: script ‘vmware-vma’ missing LSB tags and overrides
apcupsd 0:off 1:off 2:on 3:on 4:off 5:on 6:off
warningが出ています。おそらくchkconfigでapcupsdを登録するときに既存のvmware関連のスクリプトのLSBの記述不足が原因だと思われます。もともとvMAはVMwareからの提供なのであまり気にしなくていいのかな?
設定ファイルの/etc/apcupsd/apcupsd.confをUPS,ケーブルにあわせて設定します
vi-admin@vma5:~/work> sudo vi /etc/apcupsd/apcupsd.conf
取り敢えず最低限の変更箇所は
# UPSCABLE
UPSCABLE 940-0020C
# UPSTYPE DEVICE
UPSTYPE backups
DEVICE /dev/ttyS0
# If during a power failure, the UPS has run on batteries for TIMEOUT
TIMEOUT 60
/sbin/apctestを使ってUPSと通信できるかテストします
(apcupsdが起動しているとテストできません)
サーバーを落とすことはできないので取り敢えず1)だけテストしました
vi-admin@vma5:~> sudo /sbin/apctest
2012-04-24 20:10:35 apctest 3.14.8 (16 January 2010) suse
Checking configuration …
Attached to driver: dumb
sharenet.type = DISABLE
cable.type = APC_940_0020C (simple)
mode.type = BK
Setting up the port …
Doing prep_device() …
Hello, this is the apcupsd Cable Test program.We are beginning testing for dumb UPSes, which
use signaling rather than commands.
Most tests enter a loop polling every second for 10 seconds.1 ) Test 1 – normal mode
2 ) Test 2 – no cable
3 ) Test 3 – no power
4 ) Test 4 – low battery (requires test 3 first)
5 ) Test 5 – battery exhausted
6 ) Test 6 – kill UPS power
7 ) Test 7 – run tests 1 through 5
8 ) Guess which is the appropriate cable
Q) QuitSelect test number: 1
For the first test, everything should be normal.
The UPS should be plugged in to the power, and the serial cable
should be connected to the computer.Please enter any character when ready to continue:
2012-04-24 20:12:04 IOCTL GET: 4004 RTS
2012-04-24 20:12:14 Test 1: normal condition, completed.
apcupsdを起動します
vi-admin@vma5:~> sudo /etc/init.d/apcupsd start
Starting UPS monitoring: done
UPSに接続して確認します
vi-admin@vma5:~> sudo /sbin/apcaccess
APC : 001,012,0353
DATE : 2012-04-24 18:29:23 +0900
HOSTNAME : vma5.rootlinks.net
VERSION : 3.14.8 (16 January 2010) suse
UPSNAME : vma5.rootlinks.net
CABLE : APC Cable 940-0020C
MODEL : BackUPS
UPSMODE : Stand Alone
STARTTIME: 2012-04-24 18:29:01 +0900
LINEFAIL : OK
BATTSTAT : OK
STATFLAG : 0x07000008 Status Flag
END APC : 2012-04-24 20:03:42 +0900
これでvMAがシリアルケーブルを通じてUPSと通信できているのが確認できました
それでは試しにUPSの電源ケーブルを抜いてみます。警告音がなり電源喪失を知らせてますが30秒ぐらいで復旧させました
それではapcupsdのログを確認してみます
vi-admin@vma5:~/work> cat /var/log/apcupsd.events
2012-04-24 18:08:19 +0900 apcupsd FATAL ERROR in dumbsetup.c at line 65
Cannot open UPS port /dev/char/serial/uart0: No such file or directory
2012-04-24 18:08:19 +0900 apcupsd error shutdown completed
2012-04-24 18:12:47 +0900 apcupsd FATAL ERROR in dumbsetup.c at line 65
Cannot open UPS port /dev/char/serial/uart0: No such file or directory
2012-04-24 18:12:47 +0900 apcupsd error shutdown completed
2012-04-24 21:25:42 +0900 Power failure.
2012-04-24 21:25:48 +0900 Running on UPS batteries.
2012-04-24 21:26:12 +0900 Mains returned. No longer on UPS batteries.
2012-04-24 21:26:12 +0900 Power is back. UPS running on mains.
電源喪失、復旧が検知できているので大丈夫そうです
ちなみにログに記録されていますがapcupsd.confにDVICE /dev/char/serial/uart0を記述したら起動しませんでした。しかし通常の /dev/ttyS0で良かったとは意外でした