2005年08月10日

UPS(無停電電源装置)を購入する

停電対策に UPS(無停電電源装置)を設置しようと思い、ネットで色々調べてみると、APC製の UPS と Apcupsd というフリーソフトで Fedora Core 3 のサーバ機の自動シャットダウンが実現出来るようだったので、APC製 UPS を購入してみました。

シリーズが何種類かあって、それらの明確な差がよく分からなかったのですが(^^;、容量は少ないものでも僕の環境では十分だったので、おそらく一番安いAPC ES 500(型番:BE500JP)を購入しました。

サーバ機と UPS との通信ケーブルは専用のUSBケーブルのみでしたが、サーバ機にUSBが使えたので問題ありませんでした。

投稿者 ゆう : 06:21 | コメント (0) | トラックバック (0)

2005年08月13日

Apcupsd のインストール

UPS に付属していたソフトは Linux では使えないので、Apcupsd, a daemon for controlling APC UPSes をたどって、Apcupsd をインストールしました。

ダウンロード

# wget http://jaist.dl.sourceforge.net/sourceforge/apcupsd/apcupsd-usb-3.10.18-1.fc3.i386.rpm

/tmp フォルダへコピー

# cp apcupsd-usb-3.10.18-1.fc3.i386.rpm /tmp

インストール

# rpm -ihv /tmp/apcupsd-usb-3.10.18-1.fc3.i386.rpm

投稿者 ゆう : 07:57 | コメント (0) | トラックバック (0)

2005年08月16日

Apcupsd の設定

/etc/apcupsd/apcupsd.conf を編集する

# vi /etc/apcupsd/apcupsd.conf

下記のようにしました。ほとんどがデフォルトです。
TIMEOUT 300で、バッテリに動作が切り替わってから300秒後にシャットダウンするようにしてあります。

UPSCABLE usb
UPSTYPE usb
DEVICE /dev/hiddev0
LOCKFILE /var/lock
ONBATTERYDELAY 6
BATTERYLEVEL 5
MINUTES 3
TIMEOUT 300
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 0.0.0.0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS standalone
UPSMODE disable
STATTIME 0
STATFILE /var/log/apcupsd.status
LOGSTATS off
DATATIME 0

投稿者 ゆう : 07:11 | コメント (0) | トラックバック (0)

2005年08月18日

APC ES 500+Apcupsd の動作確認

Apcupsd を起動する。

# /etc/init.d/apcupsd start

Apcupsd 自動起動設定

# chkconfig apcupsd on

自動起動設定の確認

# chkconfig --list apcupsd

状態の確認

# /sbin/apcaccess status

下記のように表示されます。

APC : 001,033,0830
DATE : Wed Aug 10 01:58:31 JST 2005
HOSTNAME : server.wave440.com
RELEASE : 3.10.18
VERSION : 3.10.18 (21 July 2005) redhat
UPSNAME : server.wave440.com
CABLE : USB Cable
MODEL : APC ES 500
UPSMODE : Stand Alone
STARTTIME: Wed Aug 10 01:43:27 JST 2005
STATUS : ONLINE
LINEV : 101.0 Volts
LOADPCT : 1.0 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 90.6 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 300 Seconds
LOTRANS : 090.0 Volts
HITRANS : 110.0 Volts
ALARMDEL : Always
BATTV : 13.6 Volts
NUMXFERS : 0
TONBATT : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
STATFLAG : 0x02000008 Status Flag
MANDATE : 2005-07-26
SERIALNO : AB0531221316
BATTDATE : 2000-00-00
NOMBATTV : 12.0
FIRMWARE : 03.p4.A USB FW:p4
APCMODEL : APC ES 500
END APC : Wed Aug 10 01:59:15 JST 2005


実際の動作確認
直接、UPSへの電源供給コンセントを抜いて停電状態にしてみました。
上記の設定の場合、5分後に自動でシャットダウンされました。

投稿者 ゆう : 06:40 | コメント (0) | トラックバック (0)

2005年08月20日

Webで状態管理を行う

apcupsd にはWeb用管理ツールも用意されています。
View image 1

一番左「System」の「Local Host」をクリックすると、
View image 2

一番右「Data」の「All data」をクリックすると、
View image 3

cgiプログラム群は、/etc/apcupsd/cgi/ に格納されています。
このディレクトリをhttpで参照できるように、たとえば下記の場所へコピーすると、
http://サーバアドレス/cgi-bin/multimon.cgi でアクセス出来ます。

# cp /etc/apcupsd/cgi/* /var/www/cgi-bin/


もし、このディレクトリに他の CGI を置いていなくて、アクセスは内部からのみしか出来ないようにするのであれば httpd 設定ファイルを下記のように編集すればいいと思います。

# vi /etc/httpd/conf/httpd.conf

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

<Directory "/var/www/cgi-bin">
   AllowOverride None
   Options None
 #Order allow,deny
   Order deny,allow
 #Allow from all
   Deny from all
   Allow from 127.0.0.1
   Allow from 192.168
   Allow from ::1
</Directory>

または、上記とは別の方法で、cgi スクリプトをコピーせずに httpd 設定ファイルの ScriptAlias の定義をすることでも実現可能です。
下記は、デフォルトの /cgi-bin/ の ScriptAlias を書き換えた例ですが、

# vi /etc/httpd/conf/httpd.conf

 #ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
ScriptAlias /apcupsd/ "/etc/apcupsd/cgi/"

<Directory "/etc/apcupsd/cgi">
   AllowOverride None
   Options None
 #Order allow,deny
   Order deny,allow
 #Allow from all
   Deny from all
   Allow from 127.0.0.1
   Allow from 192.168
   Allow from ::1
</Directory>

この場合、http://サーバアドレス/apcupsd/multimon.cgi でアクセスすることになります。

投稿者 ゆう : 10:45 | コメント (0) | トラックバック (0)

トラックバック

このカテゴリーのトラックバックURL:
http://www.wave440.com/blog/mt-trbk.cgi/54