APC の 2U ラックマウント型 UPS (無停電電源装置) と周辺機器の導入について。
設置
ラックレールの取り付け
私が使用している 19 インチラックは「ぷらっとホーム」で売られていたオープンラック Plat`Home バージョン (奥行き 60cm ほどの旧バージョン) です。簡易ラックなのでレールは本来の方法で取り付けることができませんでした。フレーム前後に直接取り付けています。なお、UPS のような重い機器はラックの最下部に収めとラックが安定します。
奥まで収まらないので金具を作る
無事にレールの取り付けはできました。ところが、 UPS をレールに沿って収めようとしたところ、最後まで収まりません。レールと UPS 本体のラックマウント用金具が当たってしまうためです。これはラックの奥行きが 60cm しかないのが原因です。レールを少し加工するか、レールを延長する金具を作り、レールを少し延ばす方法で解決できそうでした。個人的に修復不能な改造は好まないので、コの字型の金具を作ってレールを延ばすことで対応しました。1mm でもずれると使い物にならないので、念入りに設計しなければなりませんでした。
取り付けは成功。ラックの裏側に金具を取り付けて、レールがわずかに延びるようにしました。
気づいたことなど
とにかく重い!
わかっていたことですが、やはり重いです。過去に実家で設置してたとき、その部屋は畳の部屋だったため、ラックのキャスタ部分の畳は 2cm 以上へこんでしまいました。もっとも、これは UPS の重みだけではありませんが。
動作音とリアのファン
動作音については導入前最も気にしていたことです。メーカのサイトで製品の写真を見ると、リアにファンがついていることがわかります。このファンがうるさいのではないかと予想していました。結果として、ファンが回るとうるさいです。しかし、このファンはバッテリ使用中のみ回ります。つまり、通常時や充電時には回りません。ただし、ファンが回っていなくても無音ではありません。トランスのうなり音のようなわずかな音がします。私の環境ではサーバの動作音にかき消されて気にならない程度です。
apcupsd を使ってモニタ
停電の際、UPS のバックアップ時間に電源が普及しない場合、サーバを安全にシャットダウンする必要があります。 そのようなソフトウェアとして、APC 純正の PowerChute があります。しかし、Java の実行環境を用意したり、GUI での設定になるなど少々面倒なため、私はオープンソースの apcupsd を使うことにしました。
PowerChute 用ケーブルの入手
まず、UPS の情報をサーバで取得するためのシリアルケーブルを用意しなければなりません。コネクタの形状は D-Sub 9 ピンですが、汎用のシリアルケーブルとは結線が違うらしく、専用のケーブルが必要になります。私は安価で手に入れたかったため、ネットオークションを利用しました。詳細な情報を取得できる Smart Signaling 専用ケーブル Interface Kit: C (AP9824LJ)
インストール
apcupsd は SourceForge.net: Project Info - Apcupsd UPS control software からダウンロードできます。以下、 Red Hat Enterprise Linux 4 (以下 RHEL4) でのインストールと起動方法です。 RHEL4 用バイナリが用意されていないため、SRPM から RPM を作成することにします。 GPG キーも配布されているので、GPG キーをインポート後、ダウンロードした SRPM に対して rpm -K でパッケージの安全性を確認してから作業を行います。
# rpm -ihv /PATH_TO/apcupsd-3.12.2-1.i386.rpm
設定
apcupsd の設定ファイルは /etc/apcupsd.conf です。この中の UPSCABLE、UPSTYPE、DEVICE さえ正しく設定すれば残りはデフォルトのままでも動作します。
- UPSCABLE
- ケーブルのタイプです。Interface Kit: C を使用する場合は smart です。
- UPSTYPE
- UPS のタイプです。Smart-UPS シリーズに直接接続する場合は smartups です。
- DEVICE
- UPS の情報を取り込むデバイスを指定します。 1 番目のシリアルポートに接続する場合、/dev/ttyS0 です。
よって、これらの部分は以下のようになります。
UPSCABLE smart UPSTYPE smartups DEVICE /dev/ttyS0
当然ながら、停電時の動作も細かく設定が可能です。詳細は apcupsd.conf の中にコメントで丁寧に記述されているため、ここでは省略します。
起動
手動で起動するには…。
自動起動するようにしておきます。
apcupsd が起動した状態で /etc/init.d/apcupsd status を実行すれば UPS の状態が取得できます。
MRTG でグラフ
HATANO's Diary:2002年4月上旬 2002/4/6(Sat) %2[comp] MRTGでapcupsdのデータをの方法を参考にしました。そのまま使えます。そのままなので、ここでは紹介しません (単なるコピーになってしまいます!) 。参照先でもあるように、 MRTG では小数を扱えないため、最初に 100 倍して MRTG でもとに戻します。
- Load Capacity
- Internal Temperature
周辺機器 Share UPS 8-Port Interface Expander
できればサーバ 1 台につき 1 台の UPS を用意したいものですが、設置スペースの都合上困難でした。結果として、1 台の UPS に複数のサーバを接続することとなってしまいます。そのため、UPS に複数のサーバを接続するには何らかの周辺機器が必要になります ※。 手軽なものとしては 2 ポート増設が可能な拡張カードもありますが、それ以上に接続する可能性があったため、8 ポート増設できる Share UPS 8-Port Interface Expander (AP9207) を使うことにしました。
apcupsd の機能を使えばマスタ/スレーブ構成としてマスタとなるサーバにだけシリアルケーブルを接続し、スレーブに対してはネットワーク経由で対応することが可能になります。しかし、マスタとなるサーバに問題は発生したときのことを考えると、周辺機器を使った方が安全といえます。純正オプションにもネットワーク対応製品があり、後述の Network Management Card などがそれです。これらの場合、ネットワークに問題が発生したときや、使用するネットワークが異なる場合は使用できないため、私はできる限りシリアルケーブルで接続することにしています。
各ポートについて
- Advanced Post Shutdown + UPS Control
- 1 番ポート。詳細な情報を取得できます。ケーブルは Smart Signaling 専用の Interface Kit: C (AP9824LJ) が使用でき、apcupsd の設定は UPS を直接接続する場合と同じです。
- Basic Ports Shutdown
- 2 〜 8 番ポート。給電状態やバッテリ状態など、シャットダウンに最低限必要な情報のみ取得できます。 Linux の場合、使用するケーブルは Smart Signaling 専用の Interface Kit: B (AP9823) となります。
Basic Ports Shutdown ポートに接続する場合の apcupsd の設定
apcupsd で 2 〜 8 番の Basic Ports Shutdown ポートを使用する場合の設定です。
- UPSCABLE
- Interface Kit: B を使用する場合は simple です。
- UPSTYPE
- UPS のタイプは backups にします。
- DEVICE
- UPS の情報を取り込むデバイスを指定します。コンピュータの 1 番目のシリアルポートに接続する場合、/dev/ttyS0 です。
よって、以下のようになります。
UPSCABLE simple UPSTYPE backups DEVICE /dev/ttyS0
周辺機器 Network Management Card EX
Network Management Card EX (AP9617) を使えば、UPS をネットワークへ接続することができます。ウェブブラウザに対応したウェブインタフェイス (SSL も可能) の他に SNMP、Telnet、SSH にも対応し、各種設定や UPS の情報をリモートで取得することができます。SNMP で取得した情報を元に apcupsd を使用することも可能です。さらに、SNMP Trap や E メールを使ってイベントを通知することもできたりと、かなり多機能です。
apcupsd の設定
UPSCABLE、UPSTYPE、DEVICE さえ正しく設定すれば残りはデフォルトのままでも動作します。あらかじめ SNMP の Access Control で接続を許可するクライアントの設定を行っておく必要があります。
- UPSCABLE
- ネットワークなので ether となります。
- UPSTYPE
- UPS のタイプは snmp にします。
- DEVICE
- 次のような書式になります。 IPアドレス:ポート:MIB:コミュニティ名
Network Management Card の IP アドレスが 192.168.XXX.XXX、コミュニティ名が public の場合、以下のようになります。
UPSCABLE ether UPSTYPE snmp DEVICE 192.168.XXX.XXX:161:APC:public
バッテリの寿命と温度
OEM 版 Smart-UPS に付属の取扱説明書によると、バッテリ交換の目安はラックの周囲温度が 25 ℃以下で約 2 年
とあります。さらに、周囲温度が 10 ℃高くなるとバッテリの寿命が 1/2 になる特性を持っています。
とあります。
現在 UPS を設置している部屋は冬を除いて常時冷房を使用しているため、この点は問題ないといえます。
更新履歴
- 2006-04-14
- 大幅に更新。周辺機器関連を追加。 blog で取り上げたネタを加える。
- 2004-06-06
- 公開。