停電時の自動シャットダウン の履歴(No.1)
更新目的†
USP の必要性†
WindowsXP で動いているファイルサーバーマシンがあり、 その筐体内にRAIDを組んだHDDが複数台積まれています。
RAIDはHDDの物理的な故障からデータを守るために組んでいる 物で、ある一台が急に動かなくなると言うような故障が生じても データが失われる事はないのですが、一方で論理的な故障には めっぽう弱いという特徴があります。
例えば停電やブレーカーが落ちるなどの原因で、データの書き込み 途中にPCの電源が落ちると、その他の部分も含めて、HDD内の データがまるごと失われてしまうような危険性があります。
そこで、無停電電源装置(UPS)を購入してデータを守る事に しました。
安全な電源断†
UPSは中にバッテリーを持っています。
通電時にこのバッテリーを充電しておき、停電時にはバッテリーから PCへ電力を供給することで、いきなりPCの電源が落ちるという 不幸を避けることができます。
このUPSのバッテリーが空になるまでの時間を使って PCを安全にシャットダウンしたいというのが今回の目的です。
状況†
- ユタカ電機製作所のUPS:UPSmini500 YEUP-051MA
- 最大電力 300W で 5 分間の動作が可能
- 90W なら1時間くらいまでOK
- RS-232c ポートを利用して停電/通電および低バッテリーを通知する機能を持つ
- Linux マシンとWindowsXP マシンが一台ずつ繋がっている
- 基本的にどちらもサーバー用途で常時通電
- Linux マシン:Atom を使った省電力サーバー 〜 60W (シリアルポートを持つ)
- WindowsXP マシン:ファイルサーバー 〜 110W (シリアルポートを持たない)
- LAN用のハブもUPSに繋がっている 〜 10W ?
+--------+ | UPS | - - + +--------+ : 似非 RS-232c ケーブル | 電 | : | 源 | : | ケ | +---------+ | ー +-----| Linux | | ブ +---------+ | ル : LAN | : +----------[hub] | : | +---------+ +----------| WinXP | +---------+
期待する動作†
Linux マシンでUPS状態を常時監視
停電したらすぐに
- WinXP マシンをシャットダウン
さらに、バッテリー残量が10%を切ったら
- Linux マシンもシャットダウン
電源が復帰したら
- WinXP・Linux とも電源ON
Linux マシンでUPS状態を常時監視する†
ユタカ電機でソフトウェアを配布している ので、これを使う。
ちなみに、Linux のディストリビューションは Debian (lenny)
Language:shell
# mkdir yec # cd yec # wget http://www.yutakadenki.jp/support/downloadfile/linux/yec.tgz # tar fxz yec.tgz # ls usvd-2.0.1 yec.tgz # cd usvd-2.0.1/ # which g++ /usr/bin/g++ # make gcc -Wall -c -o usvd.o usvd.c gcc usvd.o -o usvd gcc -Wall -c -o usv_off.o usv_off.c gcc usv_off.o -o usv_off # ls COPYING README etc usv_off usv_off.o usvd.c usvd.o Makefile doc readme.ecn usv_off.c usvd usvd.lsm # cp usvd usv_off /usr/local/sbin/ # cd /etc
Counter: 22876 (from 2010/06/03),
today: 5,
yesterday: 6