Noodstroomvoorziening voor de Server (UPS)

Netstroom is erg betrouwbaar in Nederland. Omdat de server nu voortdurend wordt gebruikt voor de opslag van de gegevens thuis, is het nodig ervoor te zorgen dat de stroomvoorziening van de server niet onverhoeds wordt onderbroken. Stroomuitval kan leiden tot schade aan de gegevens. Daarom wordt de voeding van de server geregeld via een UPS.

We zullen NUT gebruiken als onze software voor het beheer van de UPS:

sudo apt install nut

Controleer de NUT hardware-compatibiliteitslijst om erachter te komen welk stuurprogramma voor uw UPS werkt. Voor mijn APC UPS is de juiste driver “usbhid-ups”. Het is ook vereist om de poort waarmee de ups zijn verbonden te identificeren en dus:

lsusb

Verwachte output is:

system@hover:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
system@hover:~$

Zoek de lijn waar de UPS wordt genoemd. Het apparaat wordt geïdentificeerd door Bus 001 Device 002 wat we nodig hebben in de volgende stap.

Pas de het configuratie bestand aan:

sudo nano /etc/nut/ups.conf

Voeg aan het einde van het bestand de volgende regels toe:

maxretry = 3
[ups]
  driver = usbhid-ups
  port = /dev/bus/usb/001/002
  desc = "APC CS350VA"

Sla het bestand op en kopieer het naar de juiste locatie:

sudo cp /lib/udev/rules.d/50-udev-default.rules /etc/udev/rules.d/

Dan reboot het systeem:

sudo reboot

Set up /var/run/nut:

sudo mkdir /var/run/nut

Neem waar dat de directory mogelijk reeds bestaat. Pas eigendom en rechten toch aan:

sudo chown root:nut /var/run/nut
sudo chmod 770 /var/run/nut
sudo chown root:nut /etc/nut/upsd.conf /etc/nut/upsd.users /etc/nut/hosts.conf
sudo chmod 0640 /etc/nut/upsd.conf /etc/nut/upsd.users /etc/nut/hosts.conf

Pas het NUT deamon configuratie bestand aan:

sudo nano /etc/nut/upsd.conf

Voeg de volgende regels toe aan het einde van het bestand:

LISTEN hover
LISTEN 192.168.88.100 3493
LISTEN ::1 3493
LISTEN 127.0.0.1 3493

Test het ups.conf bestand:

sudo upsdrvctl start

Normale uitvoer:

Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
Using subdriver: APC HID 0.96

Herlaadt deamon:
sudo upsd -c reload

Maak een nieuwe gebruiker in Ubuntu server met de naam en het wachtwoord hetzelfde als gemaakt in /etc/nut/upsd.users. WebMin kan worden gebruikt om dit voor elkaar te krijgen. Zorg ervoor dat deze gebruiker (monuser) tot de groep ‘root’ behoort

Vervolgens moeten we enkele gebruikers instellen om toegang te krijgen tot de informatie en wijzigingen aan te brengen.

sudo nano /etc/nut/upsd.users

Voeg aan het einde van het bestand de volgende regels toe:

[monuser]
	password = password
	actions = SET FSD
	instcmds = ALL
	upsmon master
# or upsmon slave
[monuserslave]
	password = password
	upsmon slave

Sla het bestand op en open het UPS Monitor configuratie bestand:

sudo nano /etc/nut/upsmon.conf

Voeg de volgende regel toe:

MONITOR ups@testserver:3493 1 monuser paswoord master

Sla het bestand op. Nu moeten we NUT instellen om in stand-alone modus te draaien. Open het volgende bestand:

sudo nano /etc/nut/nut.conf

en voeg de volgende regel aan het bestand toe:

MODE=standalone

Sla het bestand op en herlaad de cliënt::

sudo service nut-client reload

Nu kunnen we zien dat het werkt door:

sudo upsc ups@yourserver:3493

Normale uitvoer zijn zijn:

Init SSL without certificate database
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 50

Installeren van de grafisch display voor status van de UPS:

Om de status van de UPS te kunnen bekijken is het mogelijk om een webpagina met relevante informatie te bekijken. Installeer de software voor deze functie:

sudo apt install nut-cgi
Dan pas het configuratie bestand aan:
sudo nano /etc/nut/hosts.conf
Voeg de volgende regel toe:

MONITOR ups@testserver:3493 'APC UPS on Hover'

Sla het bestand op en update Apache:
sudo a2enmod cgi
sudo service apache2 restart
Dan kan je de rapportage bekijken via:
http://192.168.1.100/cgi-bin/nut/upsstats.cgi

De UPS besturen

Het is mogelijk om commando’s naar de ups te sturen. Zie de volgende lijst met mogelijke opdrachten. Toon de beschikbare commando’s:

sudo upscmd -l ups@testserver:3493

beeper.disable - Disable the UPS beeper
beeper.enable - Enable the UPS beeper
beeper.mute - Temporarily mute the UPS beeper
beeper.off - Obsolete (use beeper.disable or beeper.mute)
beeper.on - Obsolete (use beeper.enable)
load.off - Turn off the load immediately
load.off.delay - Turn off the load with a delay (seconds)
load.on - Turn on the load immediately
load.on.delay - Turn on the load with a delay (seconds)
shutdown.reboot - Shut down the load briefly while rebooting the UPS
shutdown.return - Turn off the load and return when power is back
shutdown.stayoff - Turn off the load and remain off
shutdown.stop - Stop a shutdown in progress
test.battery.start.deep - Start a deep battery test
test.battery.start.quick - Start a quick battery test
test.battery.stop - Stop the battery test
test.panel.start - Start testing the UPS panel
test.panel.stop - Stop a UPS panel test

Het is mogelijk de beeper in de UPS uit te schakelen door:
sudo upscmd ups@testserver:3493 beeper.disable

Notice that “ups@testserver:3493” is the full address to access the UPS. A username “monuser”and passwoord “paswoord” will need to be specified.
This looks like this

system@testserver:~$ sudo upscmd ups@testserver:3493 beeper.disable
Username (root): monuser
Password:
OK
system@testserver:~$

or, if you want in one go on the command line:

sudo upscmd -u monuser -p paswoord ups@testserver:3493 beeper.disable

Aanpassen van variabelen in de UPS

upsrw biedt je de mogelijkheid om de lees- / schrijfvariabelen in uw UPS te bekijken en te wijzigen. Het stuurt via de server upsd commando’s naar uw driver, die de hardware voor u configureert.

sudo upsrw ups@testserver:3493

Mogelijke output ziet er als volgt uit:

[battery.charge.low]
Remaining battery level when UPS switches to LB (percent)
Type: STRING
Maximum length: 10
Value: 10

[battery.runtime.low]

Remaining battery runtime when UPS switches to LB (seconds) Type: STRING Maximum length: 10 Value: 120

[input.sensitivity]

Input power sensitivity Type: STRING Maximum length: 10 Value: medium

[input.transfer.high]

High voltage transfer point (V) Type: STRING Maximum length: 10 Value: 266

[input.transfer.low]

Low voltage transfer point (V) Type: STRING Maximum length: 10 Value: 180

[ups.delay.shutdown]

Interval to wait after shutdown with delay command (seconds) Type: STRING Maximum length: 10 Value: 20

[ups.delay.start]

Interval to wait before (re)starting the load (seconds) Type: STRING Maximum length: 10 Value: 30

Om een waarde te veranderen in de UPS:

sudo upsrw -u monuser -p paswoord -s input.transfer.high=266 ups@testserver:3493

De reactie op dit commando zou OK moeten zijn. Als er geen reactie volgt kan de variabele niet worden aangepast.

Laatst Bijgewerkt op 1 juni 2022.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *