User Tools

Site Tools


computing:linux:ups:cyberpower

Configure CyberPower UPS Monitoring on Linux

PowerPanel Business 4 Linux

Installation

:!: Tested with XCP-ng 8.2 and a CyberPower CPS1500AVR UPS.

:!: Connect the included USB or serial cable to UPS.

:!: We use the Local version for single servers with USB or serial cable connected UPSs.

wget https://dl4jz3rbrsfum.cloudfront.net/software/ppb490-linux-x86_x64.sh
chmod +x ppb470-linux-x86_x64.sh
./ppb470-linux-x86_x64.sh

Check that services started:

systemctl status ppbed.service
systemctl status ppbwd.service

Access

Default credentials:

Username Password
admin admin

Use a web browser from a workstation:

http://ip.of.linux.svr:3052

Configuration

We don't want the server to shut down immediately upon power failure…we want to wait until the battery gets low before we actually run the shutdown command.

Edit the PowerPanel configuration file:

vi /etc/pwrstatd.conf

And change:

powerfail-shutdown = no    #we want to shut down the UPS when the battery gets low, not when the power fails
shutdown-sustain = 200     #set this to a little longer than it takes to shut your server down
lowbatt-threshold = 15     #don't run the battery completely dead

Restart the service:

/etc/init.d/pwrstatd restart

or

service pwrstatd restart

Commands that run upon power-fail and low-battery events are also specified in the /etc/pwrstatd.conf configuration file. By default, it specifies:

/etc/pwrstatd-powerfail.sh

and

/etc/pwrstatd-lowbatt.sh

Testing

You may want to change the lowbatt-threshold to 90 so the box shuts down in the shortest time, then change it back when finished testing.

lowbatt-threshold = 90

service pwrstatd restart

tail -f /var/log/pwrstatd.log

XenServer

:!: These settings are probably not ideal, but are a good start. I think the goal would be to confirm that all VMs are shut nown properly before issuing the shutdown command.

Modifications to above for XenServer:

vi /etc/pwrstatd.conf

And change:

powerfail-shutdown = no    #we want to shut down the UPS when the battery gets low, not when the power fails
shutdown-sustain = 600     #set this to a little longer than it takes to shut down all VMs and your server
lowbatt-threshold = 35     #don't run the battery completely dead and give time to shut down
lowbatt-duration = 60      #allow the script to run for 60 seconds before the shutdown
vi /etc/pwrstatd-lowbatt.sh

and append:

xe vm-shutdown power-state=running --multiple
computing/linux/ups/cyberpower.txt · Last modified: 2023/05/10 14:02 by gcooper