○ apcupsd (UPSの制御)

・"APC ES 500 (BE500JP)"無停電電源装置(UPS)を制御します
・Routerサーバをmasterにして、USBケーブルでUPSと接続します
・XenサーバをslaveにしてLANケーブルでmasterと接続します
・apcupsdをソースからインストールし、UPSを制御します

・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文 (英文) を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:apcupsd-3.14.14.tar.gz (http://www.apcupsd.org/)
:BE500JP_SPECver3.pdf (ftp://ftp.apc.co.jp/spec/)

○インストール環境

:OS CentOS 6.8
:selinux permissive or disabled
:インストール先  /usr/local
:言語 LANG=en_US.UTF-8
:ユーザー rootで実行



○apcupsd-3.14.14

・master,slaveともにインストールします
・"--with-cgi-bin" (httpサーバ環境に合わせて下さい)

# cd ~/src
[root@venus:~/src]
# tar zxf apcupsd-3.14.14.tar.gz
# chown -R root:root apcupsd-3.14.14
# cd apcupsd-3.14.14
[root@venus:~/src/apcupsd-3.14.14]
# ./configure --sysconfdir=/etc/apcupsd \
--localstatedir=/var \
--enable-cgi \
--with-cgi-bin=/home/httpd/cgi-bin \
--enable-usb \
--with-upstype=usb \
--with-upscable=usb \
--with-libwrap

・コンパイル

# make

・インストール (アップデートの場合は下記参照)

# make install

・デフォルトの設定ファイルを保存しておきます

# cp -a /etc/apcupsd ~/src/apcupsd31414

# cd ..
[root@venus:~/src]
# tar jcf apcupsd-3.14.14-160609.tar.bz2 apcupsd-3.14.14/

○アップデート

・新規インストールの場合は、次項へ進みます
・ソースの展開・コンパイルの表記は略します

・設定ファイルのバックアップ

# mv /etc/apcupsd /etc/apcupsd.bak

・アップデート

# cd ~/src/apcupsd-3.14.14
[root@venus:~/src/apcupsd-3.14.14]
# make uninstall
# make install

・新旧のオリジナル設定ファイルの差分を取ます

# cp -a /etc/apcupsd ~/src/apcupsd31414
# cd ~/src
[root@venus:~/src]
# diff -urp apcupsd31413 apcupsd31414

・設定ファイルのバックアップをもとに戻す
・設定ファイルの修正は省略します

# cd /etc
[root@venus:/etc]
# mv -f apcupsd apcupsd.orig
# mv apcupsd.bak apcupsd

・selinuxの調整 (有効の場合)

# restorecon -Rv /etc
# restorecon -Rv /sbin
# restorecon -Rv /home/httpd

・再起動します

# service apcupsd restart

○master (Router) の設定

:/etc/apcupsd/apcupsd.conf

・設定変更部分のみ表示しています
・BATTERYLEVEL,MINUTESは早い方を優先します

UPSCABLE
usb

UPSTYPE
usb

DEVICE

・UPSTYPE(usb)の場合は自動設定
LOCKFILE
/var/lock/subsys ・LCK.. ロックファイルの作成場所 (selinux対応)
BATTERYLEVEL
10
・バッテリー残予想10%以下になったら終了処理開始
MINUTES
5
・バッテリー残予想5分以下になったら終了処理開始

:/etc/apcupsd/hosts.conf

・slaveをモニターするので、/etc/apcupsd/hosts.confを変更します

MONITOR 127.0.0.1   "VENUS"
MONITOR 192.168.0.2 "EARTH"

:/etc/hosts.allow

・hosts.allow,hosts.denyでアクセス制御をします

all: 127.0.0.1
apcupsd: 192.168.0. EXCEPT 192.168.0.21

:iptablesの設定

firewall-masqの設定を参照

○slave (Xen) の設定

:/etc/apcupsd/apcupsd.conf

・設定変更部分のみ表示しています
・BATTERYLEVEL,MINUTESは早い方を優先します

UPSCABLE
ether

UPSTYPE
net

DEVICE
192.168.0.1:3551
・masterのIPアドレスと接続ポート
LOCKFILE
/var/lock/subsys
BATTERYLEVEL
15
・バッテリー残予想15%以下になったら終了処理開始
MINUTES
6
・バッテリー残予想6分以下になったら終了処理開始

:/etc/hosts.allow

・hosts.allow,hosts.denyでアクセス制御をします

all: 127.0.0.1
apcupsd: 192.168.0. EXCEPT 192.168.0.21

:iptablesの設定

xen-firewallの設定を参照

○selinuxの調整 (有効の場合)

# restorecon -Rv /etc
# restorecon -Rv /sbin
# restorecon -Rv /home/httpd
# restorecon -Rv /var

○起動・自動起動の設定

・slaveから起動したほうが良い

# service apcupsd start

# chkconfig --add apcupsd
# chkconfig --list apcupsd

○ステータス確認

# /sbin/apcaccess status

○httpアクセスによる確認

・master側のhttpdサーバでmultimon.cgiにアクセスします
・httpdサーバはコンパクトな mini_httpd を使用しています

アクセス例 http://venus.528p.com:8080/cgi-bin/multimon.cgi


○ Copyright(c) 528p.com All Rights Reserved.