Edit
無停電電源装置(UPS)とは?

緊急な電圧変化や、停電などにおいて一時的に内蔵されている電池から電源を供給し、システムに以上があったとこを連絡する機能を持っている。このたびAPCの500WのUPSを購入したので、Centosシステムと接続する。

Edit
接続

最近のAPCのUPSには、USBケーブルを通して情報を受け取るようなケーブルが不足しているが、同梱されているソフトはWindows用なため、Linuxの連動ソフトである「apcupsd」のソースからインストールを行う。
公式ホームページ

Edit
Install

# wget http://ncu.dl.sourceforge.net/sourceforge/apcupsd/apcupsd-3.14.14.tar.gz
# tar zxvf apcupsd-3.14.14.tar.gz
# cd apcupsd-3.14.14
# ./configure --enable-usb --with-upstype=usb --with-upscable=usb
# make
# make install

Edit
設定ファイルの作成

# emacs /etc/apcupsd/apcupsd.conf
  UPSCABLE usb
  UPSTYPE usb
  DEVICE            <- USBの場合は設定の必要なし
  MINUTES 1
  TIMEOUT 30                    <- 電源異常時の待機期間30秒、その後shutdown

Edit
各項目について。

項目名概要
UPSCABLE無停電電源装置との接続ケーブルのタイプ。最近はUSBが多い
UPSTYPE無停電電源装置との接続タイプ。これもUSBが多いが、古いタイプだとRS232C接続をUSBに変換しているタイプもある
MINUTESバッテリ稼働可能と思われる予想残り時間が指定の時間(分)を切った場合にシャットダウンを行うかどうかを指定する。サーバーがシャットダウンに要する時間より少し長めに設定する
BATERYLEVEL指定すると、バッテリの残量が指定したパーセンテージを下回った場合にシャットダウンを行う。初期値は5.(5%を下回ったらシャットダウン)-1を設定すると,パーセンテージによるシャットダウン動作が無効
TIMEOUTッテリに動作が切り替わってから何秒後にシャットダウンするかを設定。初期値は30(30秒)

Edit
起動

# chkconfig --add apcupsd
# chkconfig --list | grep apcupsd
# chkconfig apcupsd on
# service apcupsd start

起動後の状態を確認する

# /sbin/apcaccess status

Edit
Centos 7

現在のバージョンでは、centos7(systemd) に正式対応していないため、手動でシステム登録する。(通常インストール後に行う)

<system fileの作成>

# vi /etc/systemd/system/apcupsd.service
  [Unit]
  Description=ApcUps Service
 
  [Service]
  Type=simple          // or forking
  User=root
  Group=root
  ExecStart=/sbin/apcupsd -f /etc/apcupsd/apcupsd.conf
  TimeoutSec=300
  PrivateTmp=true
  Restart=always
 
  [Install]
  WantedBy=multi-user.target

<登録>

# systemctl --system daemon-reload
# systemctl enable apcupsd

<確認>

# systemctl list-unit-files -t service | grep apcups

<起動>

# systemctl start apcupsd

Edit
テスト

Edit
接続チェック

# /sbin/apctest

ここで、Getting UPS capabilities...SUCCESS と表示されれば、ケーブルが 接続され、APC内部の情報が取得できることが確認できる。

Edit
動作テスト

一度UPSの電源を引き抜き、正しく動作するか確認。

Edit
サーバーのBIOSを設定し自動起動に。

電源が復旧した場合に、自動的にサーバーが起動するように、BIOSの電源管理で、Restore on AC/Power Lossの設定を「Power On」に設定する。