APCUPSDの設定
APCUPSDのインストール後は設定をしてみよう。APCUPSDの設定ファイルは,/etc/apcupsdディレクトリ下のapcupsd.confファイルだ。apcupsd.confファイルには,UPSとの接続に用いるケーブルの種類,UPSの機種,自動的にシャットダウンするタイミングなどを記述する。
RPMパッケージをインストールすると,/etc/apcupsdディレクトリにapcupsd.confファイルのテンプレートが用意されるので,これを変更することで設定を行うのがよいだろう。
接続ケーブルとUPSの機種
apcupsd.confファイルにおいて,まず最初に設定しなければならないのが,UPSの接続に用いるケーブルの種類とUPSの機種だ。この設定は,それぞれUPSCABLEとUPSTYLEの設定項目になる。
・UPSCABLE
UPSCABLE項目では,接続に用いるケーブルの種類を選択する。標準では次のようにsmartと記述されている。
UPSCABLE smart
今回利用するBK 500には「940-0020C」と呼ばれる型番のケーブルが付属されていた(Photo.3)。
そこでUPSCABLEの設定値は940-0020Cに変更する。
UPSCABLE 940-0020C
・UPSTYPE
UPSTYPEには利用するUPSの機種を設定する。標準ではsmartupsになっている。
UPSTYPEsmartups
今回利用するBK 500は、「BackUPS」シリーズなので,次のようにbackupsへ変更する。
UPSTYPEbackups
UPSCABLEとUPSTYPEを設定すれば,概ね正しく動作する。しかし,接続するCOMポート(シリアルポート)によっては,DEVICEという項目も設定しなければならないだろう。
DEVICE項目には,UPSと接続したシリアルポートのデバイス名を指定する。標準では/dev/ttyS0となっており,COM1ポートを示している。もしCOM2ポートに接続するのであれば,DEVICE項目を/dev/ttyS1に変更する必要がある。
シャットダウン動作
次に,停電になってUPSがバッテリ稼動状態になった場合,どのようなタイミングでシャットダウンするのかを設定する。設定項目は,「BATERYLEVEL」,「MINUTES」,「TIMEOUT」の3つだ。
これら3つの設定項目については,どのような設定値が最適なのか運用形態やUPSに接続するコンピュータの消費電流に依存する。このため,本稿では推奨値を記述することは避けた。環境に応じて適切な設定値を設定してほしい。それぞれの詳細は次の通りだ。
なお今回用いるBK 500は,バッテリの残量やバッテリの残量残り時間をコンピュータ側から知ることはできない。そのため,BATERYLEVELとMINUTESの項目はたとえ設定したとしても,無効となる。BATERYLEVELとMINUTESを利用できるのは,現在のところAPC社のSmart-UPSシリーズだけだ。
・BATERYLEVEL
BATERYLEVELでは,バッテリの残量が指定したパーセンテージを下回った場合にシャットダウンを行う指定が可能だ。標準では,次のように5%を下回ったらシャットダウンを行う動作になっている。-1を設定すると,パーセンテージによるシャットダウン動作が無効となる。
BATTERYLEVEL 5
・MINUTES
MINUTESでは,バッテリ稼働可能と思われる予想残り時間が指定の時間(分)を切った場合にシャットダウンを行うかどうかを指定する。標準では,次のようにバッテリ稼働可能予測の残り時間3分を切った時,シャットダウンをするようになっている。-1を設定すると,予測残り時間によるシャットダウン動作が無効となる。
MINUTES 3
・TIMEOUT
TIMEOUTでは,バッテリに動作が切り替わってから何秒後にシャットダウンするかを設定する。標準では次のように0と記述されており,この機能は無効になっていることが分かる。
TIMEOUT 0
BK 500の場合,バッテリの残量や予測残り時間を知ることができないため,TIMEOUTの設定が唯一のシャットダウンタイミングを設定する設定となるだろう。しかし,標準ではTIMEOUTの値が0で無効となっているため,このままではシャットダウン動作は機能しないことになってしまう。
そこでTIMEOUTの値を変更し,BK 500のバッテリが持続しそうな秒数に変更する。環境にもよるが,概ね5分程度はバッテリでの稼働が可能だろう。そこで5分に設定したい場合には,5×60=「300」秒を指定すればよい。
TIMEOUT 300
もちろん,この秒数はUPSに接続する機器の総消費電流に依存するため,一概に300秒で大丈夫だとはいえない。この設定値は,環境により各自適切なものを設定してほしい。機器の裏面を見て,ワット数を確認するのもひとつの方法だ。
なお,上記に示したBATTERYLEVEL,MUNUTES,TIMEOUT以外に,ANNOY,ANNOYDELAY,NOLOGONといった設定項目を変更すると,停電時にバッテリ動作となった際,ユーザーログオンを許可しない,ログオン中のユーザーにメッセージを表示するといった機能も実現できる。ここではBK 500のためその詳細は割愛する。詳細については,APCUPSDのオンラインドキュメントを参照していただきたい。
One Point!
APCUPSDは電源状態をほかのプロセスに渡すため,TCPポート7000番を待ち受け状態として待機する。そのためインターネットに公開されたホストで利用する場合には,TCPポート7000番をパケットフィルタリングなどで塞ぐことを推奨する。なお,apcupsd.confファイルのNETSERVER項目をoffとすれば,TCPポート7000番の待ち受けを停止させることもできるが,その場合には,後述のapcaccessコマンドなどが使えなくなることに注意しよう。