Smart-UPS 700とapcupsdを使ったLAN経由でのシャットダウン

自宅には、ヤフオク!で買った中古のSmart-UPS 700が2台あり(笑)、1台はシリアルケーブルを接続してこのサーバを監視してます。
停電等でバッテリーモードになると、自動的にシャットダウンしてくれます。
しかし、もう1台のUPSにはシリアルケーブルがありません。Windows PCを接続していても瞬停には対応できますが、バッテリ残量が無くなればプチンと落ちてしまうわけです。
サーバでは「apcupsd」というAPC社製UPSを管理できるフリーソフトを使っています。
このソフトのドキュメントなど色々調べてみると、シリアルケーブル接続していないPCをLAN経由でシャットダウンできるようでしたので設定してみました。


今回は、Windows7とXPでテストしてみました。
まずはWindows用のapcupsdプログラムを各Windows PCにダウンロードしてインストールします。最新バージョンの「winapcupsd-3.14.8.exe」をダウンロード。
http://www.apcupsd.com/dl.php
セットアップは簡単です。
途中、インストールするコンポーネントの選択があります。
すべてインストールしてもいいと思いますが、「Tray Applet」と「Multimon CGI programs」は不要と思われたのでチェックを外しました。
20110528-01.JPG
インストール完了後は、apcupsd.confファイルの編集を行ないます。
マスターはこのサーバのapcupsdですので、こちらのapcupsd.confファイルの設定変更も行います。
まずは、スレーブ側のWindowsから。
C:\apcupsd\etc\apcupsd\apcupsd.confをエディタで開いて編集します。
スレーブはバッテリモードになってから約60秒でシャトダウンするようにしました。
UPSがSmart-UPSシリーズだと、バッテリ残量(BATTERYLEVEL)や残り稼働時間(MINUTES)でも制御できると思われますが、WindowsPCが無事に落ちてくれればいいので一定時間でシャットダウンする設定にしました。
また、マスターのapcupsdと通信するので、マスターが動作しているPC(ここではサーバ)のIPアドレスも調べておく必要があります。
UPSCABLE ether
UPSTYPE net
DEVICE サーバのIPアドレス:3551
# BATTERYLEVEL 10
# MINUTES 5
TIMEOUT 60
次に、サーバ側の設定変更。
/etc/apcupsd/apcupsd.confをviなどで編集します。
今回のために修正した箇所は以下の3つ。
Linux用のapcupsdのバージョンによっては、設定項目が異なる場合があります。
最新バージョンを使用するのが望ましいでしょう。
UPSNAME UPS_IDEN
UPSCLASS sharemaster
UPSMODE share
スタンドアロンで使用する場合のconfファイルの設定については、以下URLなどを参照してください。
使用環境によって設定状況は異なると思いますので、自己責任で・・・。
UPSを利用した電源対策(IT media)
http://www.itmedia.co.jp/help/howto/linux/ups/index.html
マスターとスレーブのapcupsdを再起動します。
電源ケーブルを抜いてテスト。
テスト機とかじゃないだけに、ドキドキでした・・・。
約60秒後、Windowsが自動的にシャットダウンしました。ヽ(^◇^*)/



PC・Internet

Posted by simoyan