UPS設定 apcuspd マスター スレーブ

                                                                                                                                          • -

UPS設定 apcuspd マスター スレーブ

                                                                                                                                          • -

■概要
UPSのシャットダウン、復電時のブートの設定を行う。

server1
 マスター
 UPSからシリアル接続する。
 一番最後までシャットダウンさせない。
 シャットダウン開始時間 5分

server2,3,4
 スレーブ
 マスターからethernet経由で、停電の情報を取得する。
 マスターより早くシャットダウンさせる。
 シャットダウン開始時間 3分

UPS APC_3000VA 100V
特に設定はいらない。
シャットダウンモードになると、ランプが上から下にかけて点滅する。

                                                                                                                                          • -

BIOS設定

各serverのBIOSの設定で自動起動の設定をする。これをしないと復電時に起動しない。
[Server]-[AC-LINK]を[PowerOn]にする。

                                                                                                                                          • -

■server1にapcuspdの設定を行う。

server1をマスターにする。
その他をスレーブにする。

マスター
server1 192.168.1.101

スレーブ
server2 192.168.1.102
server3 192.168.1.103
server4 192.168.1.104

                                                                                                                                          • -

■itablesの設定

[root@server1 sysconfig]# cd /etc/sysconfig/
[root@server1 sysconfig]# vi iptables

  • A RH-Firewall-1-INPUT -s 192.168.1.0/255.255.255.0 -j ACCEPT

[root@server1 sysconfig]# /etc/init.d/network restart

ローカルネットはフリー接続にする。

                                                                                                                                          • -

■apcuspdの設定

●ダウンロード
[root@server1 src]# wget 'http://jaist.dl.sourceforge.net/project/apcupsd/rpms%20-%20Stable/3.14.7/apcupsd-3.14.7-1.el4.
i386.rpm'

=> `apcupsd-3.14.7-1.el4.i386.rpm'
jaist.dl.sourceforge.net をDNSに問いあわせています... 150.65.7.130
jaist.dl.sourceforge.net|150.65.7.130|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 469,369 (458K) [application/x-redhat-package-manager]

100%[=============================================================================>] 469,369 1.52M/s

13:18:40 (1.51 MB/s) - `apcupsd-3.14.7-1.el4.i386.rpm' を保存しました [469369/469369]

●インストール
[root@server1 src]# rpm -ivh apcupsd-3.14.7-1.el4.i386.rpm
警告: apcupsd-3.14.7-1.el4.i386.rpm: V3 DSA signature: NOKEY, key ID a57b2d90
Preparing... ########################################### [100%]
1:apcupsd ########################################### [100%]


[root@server1 src]# cd /etc/apcupsd/
[root@server1 apcupsd]# cp -p apcupsd.conf apcupsd.conf.org
[root@server1 apcupsd]# vi apcupsd.conf

UPSNAME APC_30_1
UPSCABLE smart
UPSTYPE apcsmart
DEVICE /dev/ttyS0
BATTERYLEVEL 5
MINUTES -1
TIMEOUT 300
ANNOY 120
ANNOYDELAY 60
KILLDELAY 180

TIMEOUTがバッテリー動作からシャットダウン開始までの時間

                                                                                                                                          • -

■サービス設定
rpmインストール時に自動で設定されている。

[root@server1 sysconfig]# /etc/init.d/apcupsd start
[root@server1 sysconfig]# /etc/init.d/apcupsd stop

■確認テスト
/etc/init.d/apcupsd stop
/sbin/apctest
UPS情報が出力される。

/etc/init.d/apcupsd start
/sbin/apcaccess
UPS情報が出力される。

                                                                                                                                          • -

■テスト
UPSの元電源を抜いて1分後にシャットダウンがスタートするか確認する。

シャットダウンしたのでOK
逆に起動のテストがまだ。

                                                                                                                                          • -

■server2にapcuspdの設定を行う。(スレーブの設定)

                                                                                                                                          • -

[root@server2 ~]# cd /usr/local/src/
[root@server2 ~]# wget 'http://jaist.dl.sourceforge.net/project/apcupsd/rpms%20-%20Stable/3.14.7/apcupsd-3.14.7-1.el4.i386.rpm'

●インストール
[root@server2 src]# rpm -ivh apcupsd-3.14.7-1.el4.i386.rpm
警告: apcupsd-3.14.7-1.el4.i386.rpm: V3 DSA signature: NOKEY, key ID a57b2d90
Preparing... ########################################### [100%]
1:apcupsd ########################################### [100%]

[root@server1 src]# cd /etc/apcupsd/
[root@server1 apcupsd]# cp -p apcupsd.conf apcupsd.conf.org

↓スレーブ用の設定
[root@server1 apcupsd]# vi apcupsd.conf

UPSNAME APC_30_1
UPSCABLE ether
UPSTYPE net
DEVICE 192.168.1.101:3551
BATTERYLEVEL 5
MINUTES -1
TIMEOUT 180
ANNOY 120
ANNOYDELAY 0
KILLDELAY 0
NETSERVER on
UPSCLASS shareslave
USERMAGIC 192.168.1.102

TIMEOUTがバッテリー動作からシャットダウン開始までの時間

                                                                                                                                          • -

■サービス設定
rpmインストール時に自動で設定されている。

[root@server2 sysconfig]# /etc/init.d/apcupsd start
[root@server2 sysconfig]# /etc/init.d/apcupsd stop

■確認テスト
/etc/init.d/apcupsd stop
/sbin/apctest
UPS情報が出力される。

/etc/init.d/apcupsd start
/sbin/apcaccess
UPS情報が出力される。

                                                                                                                                          • -

■テスト結果

瞬電テスト
縮退メッセージ出力後、復電メッセージ出力、再起動されないのでOK


長時間停電テスト
縮退メッセージ出力後、スレーブ3分後シャットダウン、マスタ5分後シャットダウン。
復電時に、自動boot確認でOK


ネットワークケーブル切断テスト
スレーブは、シャットダウンしなかった。
マスタのみシャットダウン。

スイッチは、UPS内にいれておくこと。

シャットダウン時復電テスト
シャットダウン時に復電した場合は、自動bootしない。

                                                                                                                                          • -

UPSの情報をWebで表示する。

■apcupsd-multimon-3.14.7-1.el4.i386.rpmのインストール

[root@server1 ~]# cd /usr/local/src/
[root@server1 src]# wget 'http://jaist.dl.sourceforge.net/project/apcupsd/rpms%20-%20Stable/3.14.7/apcupsd-multimon-3.14.7-1.el4.i386.rpm'

[root@server1 src]# yum install gd

[root@server1 src]# rpm -ivh apcupsd-multimon-3.14.7-1.el4.i386.rpm
警告: apcupsd-multimon-3.14.7-1.el4.i386.rpm: V3 DSA signature: NOKEY, key ID a57b2d90
Preparing... ########################################### [100%]
1:apcupsd-multimon ########################################### [100%]

[root@server1 cgi-bin]# cd /var/www/cgi-bin/

[root@server1 cgi-bin]# mkdir apcupsd/
cgi-bin直下にできるので、apcupsdディレクトリに移動させる。
[root@server1 cgi-bin]# cp -p *.cgi ./apcupsd/

合計 108
drwxr-xr-x 2 root root 4096 8月 21 15:55 .
drwxr-xr-x 6 root root 4096 8月 7 16:19 ..

  • rwxr-xr-x 1 root root 24713 8月 2 22:43 multimon.cgi
  • rwxr-xr-x 1 root root 17964 8月 2 22:43 upsfstats.cgi
  • rwxr-xr-x 1 root root 23873 8月 2 22:43 upsimage.cgi
  • rwxr-xr-x 1 root root 26347 8月 2 22:43 upsstats.cgi

apacheの設定にcgiに設定を追加する。
[root@server1 conf]# cd /etc/httpd/conf
[root@server1 conf]# cp -p httpd.conf httpd.conf.090821

↓コメントを外す。
LoadModule cgi_module modules/mod_cgi.so

↓を追加
#apcupsd monitor cgi
ScriptAlias /apcupsd/ "/var/www/cgi-bin/apcupsd/"

Options ExecCGI
Order allow,deny
Allow from all

[root@server1 conf]# /etc/init.d/httpd restart

↓ブラウザより確認
http://192.168.1.101/apcupsd/multimon.cgi

                                                                                                                                          • -

■おまけ

/etc/apcupsdディレクト
APCUPSDの各種設定ファイル
/sbin/apcaccess
apcupsdからUPSの状態を取得し,そのステータスを表示するプログラム
/sbin/apcnisd
ネットワーク経由でほかのコンピュータにUPSの状態を伝えるデーモン
/etc/rc.d/init.d/apcupsd
APCUPSDを起動したり停止したりするためのスクリプト
/sbin/apctest
APCUPSDの動作を確認するためのバイナリプログラム
/sbin/apcupsd
APCUPSDの本体。デーモンとして起動させる
/usr/share/doc/apcupsd-3.8.5ディレクト
APCUPSDのドキュメント類

                                                                                                                                          • -