« SSHクライアントにPoderosa | Kazuの挑戦日記TOP | CentOS 4.3でUPS(APC製ES500)を使う »

APC製ES500 無停電電源装置(UPS)導入

前々から気になっていた停電対策をようやく実現しました!

実家サーバは実家に置いてあるので、自分はそこに住んでいないから、停電やらネットワーク障害があると、いちいち親に電話して「あーだこーだ」やってもらうわけだけど、やっぱりなかなか親もサーバなんて詳しいわけがないので手こずる。

で、5月頭に関東各地で落雷が起きたとき、見事に実家停電!!
幸い、親が家にいて、停電に気付いて知らせてきたので1時間半程度のダウンで済んだけど、やっぱり停電でも電源が落ちないようにするにこしたこたーない。

UPSって会社(というか、データセンタ)にあるし、なんとなく知ってるけど、実際に買って設定したり使ってみたことはないのでまずは下調べから。

そして分かったこと。


  • なにやら非常に高い!何万もする!(まあ、これは予想通り・・・)
  • なにやら異常に重い!10kg~20kgなんてざら!
  • なにやら異常にでかい!ビール24缶入りケースくらいとか!?
  • でも電源タップ型っていうのもある!(これなら小さいし、軽いし、1万円そこそこで買えるじゃない!)
  • 電源管理ソフトっていうのが付属(?)していてサーバの自動シャットダウンが可能!(?)
  • しかも電源管理ソフトで、UPSのバッテリ状況も見られる
  • 停電時は数分~数十分サーバを稼動し続けられる(ものによる)
  • UPSといえばAPC社!と皆が口を揃えるくらいAPC製のものが有名
  • ヤフオクで中古品はバッテリの寿命の問題があるからなるべく新品が無難

ふむ?

電源タップ型で事足りるんなら電源タップ型でいいじゃない!
と調べてみた。
あるじゃな~い!ハート
APC製の電源タップ型UPS。
es500.jpg
電源バックアップES500
バックアップ電源用コンセントは3つあるし、電源管理ソフトも付いている。

これなら、


  • LINUXサーバ(FedoraCore3)
  • 光ファイバーの終端装置
  • GATELOCK X300(ルーター)

この3つをばっちり電源供給させられるから、停電時でも通信が途絶えることはない!
停電が長引いてもサーバは安全に自動シャットダウン可能で、安心!
値段も1万円しないくらい

というわけで早速注文。

注文してから知った。

電源管理ソフトはLINUX非対応!!

ガーーーーーーーん( ̄□||||!!

だったら同じくAPC製のES325SurgeArrest 雷ガードタップ+電源バックアップのほうが5000円しないで買えるし、それでよかったじゃない!

と、必死で調べましたとも。

apcupsdというのがありました。
APCの電源管理ソフトとほぼ同等で、USBケーブルでサーバとつなげられて、LINUXからUPSの電源管理や自動シャットダウンの設定が行える。
しかも、FedoraCoreなら、yumコマンドで簡単にインストールできるし。

apcupsdのインストール

rootユーザになって、以下コマンドを入れる。
# yum install apcupsd
<途中省略>

Transaction Listing:
  Install: apcupsd.i386 0:3.10.18-1.1.fc3.rf - dag
Total download size: 4.4 M
Downloading Packages:
(1/1): apcupsd-3.10.18-1. 100% |=========================| 4.4 MB    00:23
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: apcupsd 100 % done 1/1

Installed: apcupsd.i386 0:3.10.18-1.1.fc3.rf
Complete!
インストールはたったのこれだけ!

apcupsdの設定

設定ファイルは/etc/apcupsd/apcupsd.conf

こんな感じで設定(オリジナルから変更した箇所のみ)

[root@linux apcupsd]# diff apcupsd.conf apcupsd.conf.org | grep ^"<"
< UPSNAME APC ES500
< UPSCABLE usb
< UPSTYPE usb
< DEVICE /dev/hiddev0
< UPSCLASS netmaster
< UPSMODE net
< NETPORT 6544
< MASTER linux.ieoj.org
< LOGSTATS on
< DATATIME 60
< FACILITY DAEMON

BATTERYLEVEL 5 という箇所があって、これが「バッテリの残りが5%を切ったらサーバを自動シャットダウンする」という意味で、この設定を使うことにする。なるべくMTTR(平均故障時間)を減らす、という意味で。

停電が長引いても、極力稼動させて、どうしてもしょうがないときのみ、自動シャットダウンする、という感じ?

上記、設定できたら、後は起動するだけ!

・・・と、その前に接続を確認しておきましょうね。。

LINUXサーバとUPSを接続

  • UPSをコンセントから取り、LINUXサーバ、回線終端装置、ルータの電源をUPSの電源から取る。
  • UPSとLINUXサーバをUPS付属のUSBケーブルでつなぐ

apcupsdの起動

# service apcupsd start
無事上がって「OK」が出ればOK!

ちなみに、USBケーブルがうまくつながってなかったり何か問題があると、

Tue May 23 18:12:10 JST 2006  apcupsd FATAL ERROR in smartsetup.c at line 177
PANIC! Cannot communicate with UPS via serial port.
Please make sure the port specified on the DEVICE directive is correct,
and that your cable specification on the UPSCABLE directive is correct.
Tue May 23 18:12:10 JST 2006  apcupsd error shutdown completed

のようなエラーが発生します。

再起動時にも自動でapcupsdが上がるようにしておきましょう。じゃないとUPS入れた意味が。。

# chkconfig apcupsd on

ES500のバッテリ状況を見る

[root@linux apcupsd]# service apcupsd status
APC      : 001,035,0896
DATE     : Sat Jun 03 00:06:59 JST 2006
HOSTNAME : linux.example.jp
RELEASE  : 3.10.18
VERSION  : 3.10.18 (21 July 2005) redhat
UPSNAME  : APC
CABLE    : USB Cable
MODEL    : APC ES 500
UPSMODE  : Net Master
STARTTIME: Fri Jun 02 16:34:14 JST 2006
SHARE    : NetworkUPS
STATUS   : ONLINE 
LINEV    : 103.0 Volts
LOADPCT  :  13.0 Percent Load Capacity
BCHARGE  : 100.0 Percent
TIMELEFT :  49.8 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
LOTRANS  : 090.0 Volts
HITRANS  : 110.0 Volts
ALARMDEL : Always
BATTV    : 13.5 Volts
NUMXFERS : 1
XONBATT  : Fri Jun 02 20:41:20 JST 2006
TONBATT  : 0 seconds
CUMONBATT: 38 seconds
XOFFBATT : Fri Jun 02 20:41:58 JST 2006
STATFLAG : 0x02000008 Status Flag
MANDATE  : 2004-12-18
SERIALNO : AB0451227405  
BATTDATE : 2000-00-00
NOMBATTV :  12.0
FIRMWARE : 03.p4.A USB FW:p4
APCMODEL : APC ES 500
END APC  : Sat Jun 03 00:07:05 JST 2006

BCHARGE(バッテリチャージ)100%!!
いいじゃない。
TIMELEFT : 49.8 Minutes
ってことは停電時に50分弱持つ、ということかぁ?

apcupsdのログを見る

[root@linux ~]# cat /var/log/apcupsd.events
Fri Jun 02 16:34:15 JST 2006  apcupsd 3.10.18 (21 July 2005) redhat startup succeeded

動作確認

では、本当にUPS君、動いてるの?という確認をしてみましょう。

停電時の状態を手っ取り早く作るには、UPSの電源をコンセントから抜く!

これでES500が「ピー!ピー!」ってブザーが鳴ればOK!
LINUXサーバ、回線終端装置、ルータ、全てちゃんと引き続き動作している!

オッケーじゃないっすか。
電源をコンセントに元通りさしてみましょう。

サーバの画面には、

Broadcast message from root (Fri Jun  2 20:41:20 2006):

Warning power loss detected on UPS APC

Broadcast message from root (Fri Jun  2 20:41:26 2006):

Power failure on UPS APC. Running on batteries.

Broadcast message from root (Fri Jun  2 20:41:58 2006):

Power has returned on UPS APC...

とブロードキャストメッセージが出ている。

ログを見ると、

Fri Jun 02 20:41:20 JST 2006  Power failure.
Fri Jun 02 20:41:26 JST 2006  Running on UPS batteries.
Fri Jun 02 20:41:58 JST 2006  Mains returned. No longer on UPS batteries.
Fri Jun 02 20:41:58 JST 2006  Power is back. UPS running on mains.

と、最後に「Power is back. UPS running on mains.」出ていればOK!

ちなみにroot宛てにメールも届くので、.procmail等使えば、DoCoMoの携帯などに転送することも可能。(ひとまずまだそこまではやらないのでここでは割愛。root宛てメールはPCのメールには転送されてくるようにしてあるので。)

※今回は自動シャットダウンの確認までやってまへん。そもそもUPSのバッテリ残り容量が5%を切るほど停電が長引くことはあまり想定してないので。。(じゃあ何のために自動シャットダウンができるソフト入れたんだ、って感じだけど、まあそのうち動作確認しまひょう。。)

ブラウザからES500の状況を確認する!

yumでインストールした段階で、/var/www/配下に、
[root@linux www]# ll apcupsd
合計 84
-rwxr-xr-x  1 root root 22496  9月  9  2005 multimon.cgi
-rwxr-xr-x  1 root root 15488  9月  9  2005 upsfstats.cgi
-rwxr-xr-x  1 root root 20096  9月  9  2005 upsimage.cgi
-rwxr-xr-x  1 root root 24288  9月  9  2005 upsstats.cgi
というCGIファイルが配置されている。 これをブラウザからアクセスできるようにするために、/etc/httpd/conf.d/apcupsd.confを作成する。 中味は以下。
ScriptAlias /apcupsd/ /var/www/apcupsd/
<Directory /var/www/apcupsd/>
        DirectoryIndex upsstats.cgi
        Options ExecCGI
        order deny,allow
        deny from all
        allow from 127.0.0.1
</Directory>
Localhostからのみアクセス可能としておく。

これでサーバのデスクトップからブラウザを開いて、
「http://localhost/apcupsd/multimon.cgi」と入力。
apcupsd.JPG

apcupsd2.JPG

のようにステータスがチェックできる。

これで、天気予報で「雷があちこちで鳴るかも知れません」って言ってても、はなくそほじりながら「へ~」なんて言ってられる。(笑)
1万円そこらでこの安心が買えるのはでかいですね。

参考サイト:

コピペ用リンク

このエントリーのトラックバックURL:


このエントリーへのリンクURLを含むHTML:

同じカテゴリの記事

トラックバック

サーバー設定/Linux全般/UPS from MEDIC Wiki (PukiWiki/TrackBack 0.3)
MEDIC Wiki (PukiWiki/TrackBack 0.3) - サーバー設定/Linux全般/UPS apcupsdの導入 インストール 基本設定 メール送信 自動起動設定 Web表示設定 八重洲など、バーチャルホスト等がない...

コメントを投稿



RSS

Add to goo
Add to google

はてなRSS
feedpath
Subscribe in Bloglines
Subscribe with livedoor Reader




Tag cloud

お勧め!