Network UPS Tools (NUT) For USB UPSs On CentOS 5.5

This tutorial shows how to configure and use Network UPS Tools (NUT) software with an USB (Uninterruptible Power Supply) on CentOS 5.5. NUT is a software which supports several thousand models. To check if your UPS is supported, this is the link to the HCL: http://www.networkupstools.org/stable-hcl.html

Install NUT dependencies:

yum install net-snmp-libs gd httpd

Download the latest CentOS NUT rpm release for your architecture from: http://geekery.blog.com/category/linux/nut-ups-rpms/

NOTE: you can also download NUT from EPEL repository or the tarball directly from the NUT official site (http://www.networkupstools.org/)

Install downloaded rpms:

rpm -Uvh nut-2.6.0-2geekery.$(uname -i).rpm nut-cgi-2.6.0-2geekery.$(uname -i).rpm nut-client-2.6.0-2geekery.$(uname -i).rpm powerman-2.3.5-2geekery.$(uname -i).rpm

 

Common Configuration

This is the configuration for my Eaton Powerware 5115 USB UPS. Edit the driver controller configuration file, choosing the correct driver for your UPS. You can read on the HCL which is the right driver to use. My UPS it isn't officially supported, but I found that the bcmxcp_usb driver works well, so I defined a new UPS section that begins with the name of the UPS in brackets (in my case: 5115), followed by the driver (bcmxcp_usb) and the port device (with USB UPSs choose automatic port detection).

vi /etc/ups/ups.conf
[5115]
        driver = bcmxcp_usb
        port = auto

Now choose your NUT running mode: I chose standalone mode because the UPS is power supplying only one server, but you can also use NUT in network client/server mode.

vi /etc/ups/nut.conf
MODE = standalone

Configure the IP address and port where upsd daemon listens for. The upsd.conf file control access to the server and some other parameters. In a standalone installation you can leave it at default configuration, listening to localhost.

vi /etc/ups/upsd.conf
LISTEN 127.0.0.1 3493

Now define a upsmon user/password in upsd.users file. The user I define is "local_mon" with password "PASSWORD" and upsmon role "master". We will use this user with the upsmon component of NUT.

vi /etc/ups/upsd.users
[local_mon]
    password = PASSWORD
    upsmon master

Upsmon is the UPS monitor and shutdown controller that will monitor and tell how to shut down the system when necessary. Edit the MONITOR directive inserting the UPS name defined in ups.conf, followed by the IP address or hostname configured in upsd.conf and by the credentials and upsmon role defined in upsd.users. Leave the other directives to the default values specified.

vi /etc/ups/upsmon.conf
MONITOR 5115@localhost 1 local_mon PASSWORD 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

 

USB Configuration

If you you installed a NUT rpm release from http://geekery.blog.com/category/linux/nut-ups-rpms/ you can find a nut udev rule file for CentOS at this path: /lib/udev/rules.d/62-nut-usbups.rules

If you are installing a USB UPS, softlink this file in udev rules directory:

ln -s /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d/62-nut-usbups.rules

and reload udev rules and trigger device detection with these commands:

udevcontrol reload_rules
udevtrigger
Share this page:

0 Comment(s)