UPS setup
Powering Amahi (Fedora 12, Intel Atom D510MO) with APC Back-UPS ES 550 and NUT
The APC Back-UPS ES 550 is a consumer-grade UPS: the software it comes with does not work in Linux. Instead, you need to use NUT or apcupsd. Google will turn up evidence that both work.
The original NUT instructions that this article is based on came from here and here. The former, by Peter Selinger, are closest to this case, but a lot of the work he had to do is now done for you out of the box. The latter are for a different UPS, but are also fresher.
First, do this:
bash code |
---|
# yum -y install nut nut-client
|
Next, you will need to configure three files in /etc/ups: ups.conf, upsd.users, and upsmon.conf. They will look almost identical to Selinger's:
bash code |
---|
/usr/etc/ups.conf: ---------------------------------------------------------------------- [apc] driver = usbhid-ups port = auto desc = "APC Back-UPS ES 550" /usr/etc/upsd.users: ---------------------------------------------------------------------- [admin] password = password1 actions = SET instcmds = ALL [monuser] password = password2 upsmon master /usr/etc/upsmon.conf: ---------------------------------------------------------------------- MONITOR apc@localhost 1 monuser password2 master MINSUPPLIES 1 SHUTDOWNCMD "/sbin/shutdown -h +0" POLLFREQ 5 POLLFREQALERT 5 HOSTSYNC 15 DEADTIME 15 POWERDOWNFLAG /etc/killpower RBWARNTIME 43200 NOCOMMWARNTIME 300 FINALDELAY 5
|
The next step is to start the UPS service:
bash code |
---|
# upsdrvctl start # service ups stop # service ups start
|
At this point, you should see something like this in your terminal:
bash code |
---|
Starting UPS driver controller: [ OK ] Starting upsd: [ OK ] Starting UPS monitor (master): [ OK ]
|
If you do not, it may be because upsdrvctl refuses to cooperate at first. A reboot will fix that problem. The final step is to make sure that the UPS services start when the server does. For that, the /etc/rc.local file must be edited as follows:
bash code |
---|
echo "Starting UPS driver, daemon, and monitor." /sbin/upsdrvctl start /usr/sbin/upsd /usr/sbin/upsmon
|