>> HOME >> CentOS 4 MENU >> APC製CS500 無停電電源装置(UPS)導入
停電だったり、ブレーカーが落ちたりと、以前から家の電源がよく落ちます。なので、やっと 無停電電源装置( UPS )を買いました。購入したのは APC 製 CS500 無停電電源装置 ( UPS ) です。
付属の電源管理ソフトは LINUX 非対応ですので、比較的広く使われているフリーソフトの APCUPSD を使用します。

1. 機器の接続
2. USB 通信ポートの認識作業
1 ) udev 設定ファイル /etc/udev/rules.d/50-udev.rules の編集
2 ) サーバーの再起動
3. apcupsd のインストール
4. apcupsd の設定
5. apcupsd の起動と自動起動設定
1 ) apcupsd の起動
2 ) apcupsd の自動起動設定
6. 動作確認
1 ) USP の状態確認
1 ) 停電模擬試験
1 ) 復電模擬試験
7. ブラウザから UPS の状態を確認する
1 ) apcupsd アクセス設定ファイル /etc/httpd/conf.d/apcupsd.conf の編集
2 ) Apache 再起動
3 ) ブラウザから UPS の状態を確認する
1. 機器の接続
サーバーマシンと APC 製 CS500 無停電電源装置 ( UPS ) を 付属の USB ケーブルで繋ぎます。
電源ケーブルは、後ほど動作確認を行いますので、サーバーマシンは安全のため、通常のコンセントへ繋ぎます。
2. USB 通信ポートの認識作業
USB 通信ポートが認識された場合は /dev/usb/hiddev0 などのデバイスが作成されます。
USB 通信ポートが自動で認識されない場合は以下の作業を行います。
1 ) udev 設定ファイル /etc/udev/rules.d/50-udev.rules の編集
[root@linux ~]# vi /etc/udev/rules.d/50-udev.rules 

# 最終行に以下を追加
BUS="usb", SYSFS[idVendor]="051d", NAME="usb/hiddev%n"
2 ) サーバーの再起動
[root@linux ~]# shutdown -r now 

Broadcast message from root (pts/0) (Sat Aug 19 12:17:24 2006):

The system is going down for reboot NOW!
3. apcupsd のインストール
[root@linux ~]# yum -y install apcupsd 
Setting up Install Process
Setting up repositories
dries                     100% |=========================|  951 B    00:00
dag                       100% |=========================| 1.1 kB    00:00
update                    100% |=========================|  951 B    00:00
base                      100% |=========================| 1.1 kB    00:00
addons                    100% |=========================|  951 B    00:00
extras                    100% |=========================| 1.1 kB    00:00
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for apcupsd to pack into transaction set.
apcupsd-3.10.18-1.2.el4.r 100% |=========================|  65 kB    00:00
---> Package apcupsd.i386 0:3.10.18-1.2.el4.rf set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 apcupsd                 i386       3.10.18-1.2.el4.rf  dries             4.4 M

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 4.4 M
Downloading Packages:
(1/1): apcupsd-3.10.18-1. 100% |=========================| 4.4 MB    00:14
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: apcupsd                      ######################### [1/1]

Installed: apcupsd.i386 0:3.10.18-1.2.el4.rf
Complete!
4. apcupsd の設定
apcupsd 設定ファイル /etc/apcupsd/apcupsd.conf を編集します。
---------------------------------【apcupsd-3.14.3-1 以前の場合】---------------------------------

[root@linux ~]# vi /etc/apcupsd/apcupsd.conf 

## apcupsd.conf v1.1 ##
#
#  for apcupsd release 3.10.18 (21 July 2005) - redhat
#
# "apcupsd" POSIX config file
#
# ========= General configuration parameters ============
#
# UPSNAME xxx
#   Use this to give your UPS a name in log files and such. This
#   is particulary useful if you have multiple UPSes.  This does not
#   set the EEPROM.
# UPS の名前を指定
UPSNAME APC CS 500
#
# UPSCABLE [ simple    | smart     | ether     | usb |
#            940-0119A | 940-0127A | 940-0128A | 940-0020B |
#            940-0020C | 940-0023A | 940-0024B | 940-0024C |
#            940-1524C | 940-0024G | 940-0095A | 940-0095B |
#            940-0095C | M-04-02-2000 ]
#
# defines the type of cable that you have.
# USB に変更 (接続に用いるケーブルの種類)
UPSCABLE usb
#
# Old types, still valid, are mapped to the new drivers
#
#           keyword       driver used
# UPSTYPE [ backups        dumb
#         | sharebasic     dumb
#         | netups         dumb
#         | backupspro     apcsmart
#         | smartvsups     apcsmart
#         | newbackupspro  apcsmart
#         | backupspropnp  apcsmart
#         | smartups       apcsmart
#         | matrixups      apcsmart
#         | sharesmart     apcsmart
#
# *** New driver names. They can be used directly
#       rather than using one of the above aliases.
#
# UPSTYPE [ dumb | apcsmart | net | usb | snmp | test]
#
# defines the type of UPS you have.
# USB に変更 (UPSの機種)
UPSTYPE usb
#
#
#DEVICE  /dev/
# name of your UPS device
#
# Here a table of the possible devices related with the UPS drivers.
#
# Driver   Device                    Description
# dumb     /dev/tty**                Serial character device
# apcsmart /dev/tty**                Serial character device
# usb                         A blank DEVICE setting enables
#                                    autodetection, best choice for most
#                                    installations.
# net      hostname:port             Network link to a master apcupsd
#                                    through NIS
# snmp     hostname:port:vendor:community
#                                    SNMP Network link to an SNMP-enabled
#                                    UPS device. Vendor is the MIB used by
#                                    the UPS device: can be "APC" or "RFC"
#                                    where APC is the powernet MIB and RFC
#                                    is the IETF's rfc1628 UPS-MIB.
#                                    Port is usually 161.
# USB デバイスを指定
DEVICE /dev/usb/hiddev0
  :
  :
# MASTER 
# サーバー名 (HOSTNAME) を指定
MASTER linux.mountainbigroad.jp
  :
  :


---------------------------------【apcupsd-3.14.3-1 以降の場合】---------------------------------

[root@linux ~]# vi /etc/apcupsd/apcupsd.conf 
## apcupsd.conf v1.1 ##
#
#  for apcupsd release 3.14.3 (20 January 2008) - redhat
#
# "apcupsd" POSIX config file

#
# ========= General configuration parameters ============
#

# UPSNAME xxx
#   Use this to give your UPS a name in log files and such. This
#   is particulary useful if you have multiple UPSes. This does not
#   set the EEPROM. It should be 8 characters or less.
#UPSNAME
# UPS の名前を指定
UPSNAME APC CS 500

# UPSCABLE 
#   Defines the type of cable connecting the UPS to your computer.
#
#   Possible generic choices for  are:
#     simple, smart, ether, usb
#
#   Or a specific cable model number may be used:
#     940-0119A, 940-0127A, 940-0128A, 940-0020B,
#     940-0020C, 940-0023A, 940-0024B, 940-0024C,
#     940-1524C, 940-0024G, 940-0095A, 940-0095B,
#     940-0095C, M-04-02-2000
#
# USB に変更 (接続に用いるケーブルの種類)
UPSCABLE usb

# To get apcupsd to work, in addition to defining the cable
# above, you must also define a UPSTYPE, which corresponds to
# the type of UPS you have (see the Description for more details).
# You must also specify a DEVICE, sometimes referred to as a port.
# For USB UPSes, please leave the DEVICE directive blank. For
# other UPS types, you must specify an appropriate port or address.
#
# UPSTYPE   DEVICE           Description
# apcsmart  /dev/tty**       Newer serial character device,
#                            appropriate for SmartUPS models using
#                            a serial cable (not USB).
#
# usb                 Most new UPSes are USB. A blank DEVICE
#                            setting enables autodetection, which is
#                            the best choice for most installations.
#
# net       hostname:port    Network link to a master apcupsd
#                            through apcupsd's Network Information
#                            Server. This is used if you don't have
#                            a UPS directly connected to your computer.
#
# snmp      hostname:port:vendor:community
#                            SNMP Network link to an SNMP-enabled
#                            UPS device. Vendor is the MIB used by
#                            the UPS device: can be "APC", "APC_NOTRAP"
#                            or "RFC" where APC is the powernet MIB,
#                            "APC_NOTRAP" is powernet with SNMP trap
#                            catching disabled, and RFC is the IETF's
#                            rfc1628 UPS-MIB. You usually want "APC".
#                            Port is usually 161. Community is usually
#                            "private".
#
# dumb      /dev/tty**       Old serial character device for use
#                            with simple-signaling UPSes.
#
# pcnet    ipaddr:username:passphrase
#                            PowerChute Network Shutdown protocol
#                            which can be used as an alternative to SNMP
#                            with AP9617 family of smart slot cards.
#                            ipaddr is the IP address of the UPS mgmt
#                            card. username and passphrase are the
#                            credentials for which the card has been
#                            configured.
#
# USB に変更 (UPSの機種)
#UPSTYPE apcsmart
#DEVICE /dev/ttyS0
UPSTYPE usb
  :
  :
主な設定項目
設定項目説明
UPSCABLE接続に用いるケーブルの種類を設定
UPSTYPEUPSの機種を設定
BATTERYLEVELバッテリの残量が指定したパーセンテージを下回った場合にシャットダウンを行う
MINUTESバッテリ稼働可能と思われる予想残り時間が指定の時間(分)を切った場合にシャットダウンを行う
TIMEOUTバッテリに動作が切り替わってから何秒後にシャットダウンするかを設定
UPSCLASSマスターなのかスレーブなのかを設定
UPSMODEネットワーク機能を有効にするならnet
NETACCESSネットワーク機能を有効にするならtrue
NETTIMEマスタとスレーブ間でデータを転送する間隔(秒)を設定
NETPORT通信で利用するTCPポート番号を設定
MASTERスレーブ側でマスターとなるホストのIPアドレスを設定
SLAVEマスター側でスレーブとなるホストのIPアドレスを設定
USERMAGICスレーブ側で識別子として設定。複数のスレーブがある場合には別々の識別子を設定する
5. apcupsd の起動と自動起動設定
1 ) apcupsd の起動
[root@linux ~]# service apcupsd start 
Starting UPS monitoring:                                   [  OK  ]
2 ) apcupsd 自動起動設定
[root@linux ~]# chkconfig apcupsd on 
[root@linux ~]# chkconfig --list apcupsd 
apcupsd         0:off   1:off   2:on    3:on    4:on    5:on    6:off
6. 動作確認
1 ) USP の状態確認
[root@linux ~]# service apcupsd status 
APC      : 001,038,0929
DATE     : Sat Aug 19 12:03:21 JST 2006
HOSTNAME : linux.mountainbigroad.jp
RELEASE  : 3.10.18
VERSION  : 3.10.18 (21 July 2005) redhat
UPSNAME  : APC
CABLE    : USB Cable
MODEL    : APC CS 500
UPSMODE  : Stand Alone
STARTTIME: Sat Aug 19 12:02:19 JST 2006
STATUS   : ONLINE
LINEV    : 000.0 Volts
LOADPCT  :  25.0 Percent Load Capacity
BCHARGE  : 100.0 Percent
TIMELEFT :  41.4 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
OUTPUTV  : 100.0 Volts
DWAKE    : 000 Seconds
DSHUTD   : 000 Seconds
LOTRANS  : 000.0 Volts
HITRANS  : 000.0 Volts
ITEMP    : 29.2 C Internal
ALARMDEL : Always
BATTV    : 13.5 Volts
LINEFREQ : 50.0 Hz
NUMXFERS : 0
TONBATT  : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x02000008 Status Flag
SERIALNO : AB0629120762
BATTDATE : 2006-07-12
NOMBATTV :  12.0
FIRMWARE : 8.h10.A USB FW:h10
APCMODEL : APC CS 500
END APC  : Sat Aug 19 12:03:47 JST 2006
2 ) 停電模擬試験
実際には停電を起こすことは出来ないので、UPS のコンセントを抜き、警告メッセージが出力されれば OK です。
※ この情報は即座に root へもメールされます。
Broadcast message from root (Sat Aug 19 10:32:19 2006):

Warning power loss detected on UPS linux.mountainbigroad.jp
3 ) 復電模擬試験
サーバーがシャットダウンされる前に UPS のコンセントを戻します。
電力が回復した旨のメッセージが出力されれば OK です。
Broadcast message from root (Sat Aug 19 10:32:27 2006):

Power has returned on UPS linux.mountainbigroad.jp...
7. ブラウザから UPS の状態を確認する
1 ) apcupsd アクセス設定ファイル /etc/httpd/conf.d/apcupsd.conf の編集
必要に応じて /etc/httpd/conf.d/apcupsd.conf を編集します。
[root@linux ~]# vi /etc/httpd/conf.d/apcupsd.conf 

ScriptAlias /apcupsd/ /var/www/apcupsd/
<Directory /var/www/apcupsd/>
        DirectoryIndex upsstats.cgi
        Options ExecCGI
        order deny,allow
        deny from all
        allow from 127.0.0.1
</Directory>
2 ) Apache 再起動
[root@linux ~]# service httpd reload 
httpd を再読み込み中:                                      [  OK  ]
3 ) ブラウザから UPS の状態を確認する
ブラウザで 「http://mountainbigroad.jp/apcupsd/multimon.cgi」 アクセスし、以下のようなページが表示されることを確認します。
UPS Status Page
また、 「LocalHost」 のリンクをクリックして以下のようなページが表示されることを確認します。
UPS Status Page