APC SmartUPSの新型(SmartUPS-XXX LCD)タイプでapcupsdを使うときのメモ

1.APC SmartUPSの新型
最近APC SmartUPSはモデルチェンジして前面にLCDが付いたタイプに更新されています。旧型はLCDが有りません。

きちんと確認していませんが、2015/9/30現在 LCDタイプでない旧型は SmartUPS  750RMのみ販売されているようです。

なので新規購入したら、おおかた LCDタイプになります。

2.新型(LCD)に対応したapcupsdのバージョン
APC SmartUPSで停電連動でサーバの自動shutdownを行なうツールはメーカー純正のソフトウエアとフリーソフトのapcupsdがあります。純正の方は割愛しまして、フリーソフトの話です。

http://www.apcupsd.org/

古いバージョンのapcupsdは新型のUPSには未対応です。 

バージョン3.14.11以降で サーバとシリアルケーブル接続で対応

http://www.apcupsd.org/wordpress/apcupsd-3-14-11-released/

バージョン3.14.13以降でサーバとUSB接続で対応です。

http://www.apcupsd.org/wordpress/apcupsd-3-14-13-released/

3.UPS側の設定
新型のUPSでapcupsdを使う時はUPSのファームウエアを最新にして、動作モードをMODBUSに変更する必要があります。更新にはWindowsマシンが必要です。

http://apcupsd.cvs.sourceforge.net/viewvc/apcupsd/apcupsd/ReleaseNotes?pathrev=Release-3_14_11

以下の記事が非常に役にたちます。

http://www.on-sky.net/~hs/index.cgi?date=20140813

上記のページを参考にファームの更新と動作モードの変更を行なってみてください。

注意：ファームウエア更新時はUPSの給電が止まります。そのため、接続されているサーバは事前に停止させて下さい。

3.1.手元のUPSのバージョン
参考までに手元にありましたSmartUPS-XXX LCDのファームウエアの初期バージョンと2015/9に最新のファームウエアに更新後のバージョンを挙げておきます。

2015/3購入: Smart UPS 1500 LCD: 初期: 09.2, 更新後: 09.3
2015/3購入: Smart UPS 3000 LCD: 初期: 失念, 更新後: 09.3
2015/9購入: Smart UPS 1500 LCD: 初期: 08.8, 更新後: 09.3
2017/2購入: Smart UPS 1500 LCD: 初期: 09.3 (更新不要)

ここで面白い(?)のは後から購入した2015/9のUPSの方がファームが古かった事です。製造年月日も古かったです。流通の関係ですかね？

3.2.起動待機時間
本筋からは外れますが、SmartUPSが停電から復旧した時に給電開始するまでの「起動待機時間」の設定を行ないました。復電後すぐにまた停電することがありますので。

apcupsdの設定(/etc/apcupsd/apcupsd.conf)項目に

```/etc/apcupsd/apcupsd.conf
# UPS delay after power return (seconds)
# WAKEUP 000 060 180 300   (default = 0)
WAKEUP 60
```

とかありますが、こちらの設定は試しましたが有効になってないようです。

同じ設定がSmartUPSのLCDタイプは本体の設定パネルで設定できます。

マニュアルCDROMより
```
   CDROM Disk -> SmartUPS 750-3000VA Tower -> Operation and Maintenance
   -> 990-3534C Japanese.pdf
```

なのですが、なかなか設定項目が見つかりません。こちらのページが役にに立ちました。

http://www.apc.com/site/support/jp/ja/faq/index.html?page=content&country=ITB_JAPAN&lang=ja&locale=ja_JP&id=FA53594&redirect=true

4.サーバ側の設定
先ほど述べましたが、apcupsdの古いバージョンは新型UPSに未対応ですので新しい3.14.11以降にする必要があります。

4.1.CentOS6.X

CentOS6.Xの環境でリポジトリepelを導入し

https://fedoraproject.org/wiki/EPEL/ja

apcupsdを導入すると(yum install apcupsd)、バージョン3.14.12-1.el6が導入されます。　(追記2017/4/9: EPELからapcupsdがなくなってました。詳細不明)

http://dl.fedoraproject.org/pub/epel/6/i386/repoview/apcupsd.html

なので、こちらでシリアル接続の場合のみ対応可能です。(このバージョンはUSB接続は未対応)

```/etc/apcupsd/apcupsd.conf
UPSCABLE smart
UPSTYPE modbus
DEVICE /dev/ttyS0　(マザーボードによってはS1等の場合あり)
```

そのほかの設定パラメータはマニュアル参照下さい。ただし先ほども述べましたが、一部パレメーターは実際は動作しないようです。私は何時も以下のパラメーターしか設定していません。６０秒停電だったらshutdownしろという設定です。

```/etc/apcupsd/apcupsd.conf
TIMEOUT 60
```

設定後、UPSとサーバをシリアルケーブルで接続して下さい。シリアルケーブルは本体付属品です。

サーバのサービスの自動起動登録してサービスを立ち上げてみて下さい。

```
/sbin/chkconfig apcupsd on
/sbin/service apcupsd restart
```

数分待って、状態を確認してみてください。

```
/sbin/service apcupsd status
（抜粋）
CABLE    : Custom Cable Smart
DRIVER   : MODBUS UPS Driver
（抜粋）
STATUS   : ONLINE
（抜粋）
FIRMWARE : UPS 09.3 / 00.4
```

ここでSTATUSがONLINEになってるか確認下さい。そうでない場合はUPSと通信が出来てません。

UPSの電源ケーブルを抜いて実際にshutdown動作が起きるか確認してください。

4.2.CentOS5
CentOS5でリポジトリEPELで提供されているapcupsdは3.14.10です。

http://dl.fedoraproject.org/pub/epel/5/i386/repoview/apcupsd.html

そのため、EPELで導入しても新型UPSには未対応です。

ソースコードから最新のapcupsdを導入して下さい。

```
tar xvf apcupsd-3.14.13.tar.gz
cd apcupsd-3.14.13
./configure
make
su
make install
exit
```

以上。