APC Smart-UPS 700JをFreeBSDで使ってみました。
http://www.ysyslab.co.jp/~kondo/upsd-2.0-100v.tar.gz
を取ってきて
tar zxvf upsd-2.0-100v.tar.gz
cd upsd-2.0-100v
make
su -
make install
でインストールはおしまい。
/etc/upsd
/etc/upsd.conf
がインストールされる。upsd.confをいじると挙動が変わりますが
特別いじらないでこのまま利用します。
ケーブルは付属の黒いやつ(940-0024C)をそのまま使います。
/etc/upsd
とするとupsdが動き出しますので、テストしましょう。
おもむろにUPSの電源ケーブルをコンセントから抜くとコンソールに
Message from syslogd@dns at Tue Jul 25 21:19:22 2000 ...
dns upsd[43068]: *** ALERT! Source power line failed, logout NOW! ***
とお知らせが来ればちゃんと動いています。コンセントに再度プラグ
をさせば
Message from syslogd@dns at Tue Jul 25 21:19:22 2000 ...
dns upsd[43068]: Source power line restored, you may continue your work.
と「電気が復活したよ」と知らせてくれます。
ここまで動けば
/usr/local/etc/rc.d/upsd.sh
#!/bin/sh
case "$1" in
start)
if [ -x /etc/upsd ]; then
/etc/upsd && echo -n ' upsd'
fi
;;
stop)
# Stop daemons.
echo "Shutting down upsd."
PID=`/bin/ps -aux | grep upsd | awk '{print $2}'`
if [ ! -z "$PID" ] ; then
/bin/kill ${PID} 1> /dev/null 2>&1
fi
;;
*)
echo "$0 start | stop"
;;
esac
exit 0
のように書いておくとboot時にupsdが動き出します。
ホントの停電になったときはどういう挙動を示すかと言うと・・・
電源が切れたとsyslogdがお知らせ。
電源容量がある一定以下になるとshutdown処理
その後ホントに電源断
電源が復旧したら電源容量がある一定以上になるまで充電。
十分マシンをドライブできるだけ充電されたら電源を供給開始
めでたしめでたし
となるわけです。
ここで注意・・・ATマザーの計算機は電源スイッチ=ハードウェアスイッチ
なので問題なしなのですが、ATXマザーはソフトウェアスイッチなので
マザーのBIOS設定
AC PWR Loss Restart を Enableにしておかないと、電源が復旧して
UPSがちゃんと働いても再起動をしません。
【おまけ】
APC SmartUPS 1400でもまったく同じに利用できました。が・ShareUPS
UPS Interface Expander(一台のUPSに複数のRS232Cケーブルをつなげ
て複数台の計算機を制御するためのもの)のBasic Ports Shutdownはどう
しても使えませんでした。
あとは /etc/upsd.conf中にコメントアウトしてあるように rsh(ssh)でも使って
リモートマシンへshutdownを送って複数台の計算機を安全にshutdown -h now
すれば良いでしょう。