USV unter Debian einrichten (Eaton 3S 550)
Mit NUT (Network UPS Tools) eine Eaton 3S 550 USV unter Debian konfigurieren – automatisches Herunterfahren von Docker-Containern und sauberem System-Shutdown bei Stromausfall.
Die Eaton 3S 550 kommuniziert per USB mit dem Server. Unter Debian übernimmt NUT (Network UPS Tools) die Überwachung und steuert den geordneten Shutdown.
NUT installieren
sudo apt install nut nut-client nut-server
USV erkennen
sudo nut-scanner -U
Die Eaton 3S 550 wird als usbhid-ups erkannt.
Konfiguration
/etc/nut/ups.conf
[eaton3s]
driver = usbhid-ups
port = auto
desc = "Eaton 3S 550"
/etc/nut/upsd.conf
LISTEN 127.0.0.1 3493
/etc/nut/upsd.users
[upsmon]
password = sicheres-passwort
upsmon master
/etc/nut/upsmon.conf
MONITOR eaton3s@localhost 1 upsmon sicheres-passwort master
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h now"
NOTIFYCMD /usr/sbin/upssched
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower
NOTIFYFLAG ONLINE SYSLOG+WALL
NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC
NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC
NOTIFYFLAG FSD SYSLOG+WALL+EXEC
NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC
/etc/nut/upssched.conf
CMDSCRIPT /etc/nut/upssched-cmd
PIPEFN /var/run/nut/upssched.pipe
LOCKFN /var/run/nut/upssched.lock
AT ONBATT * START-TIMER shutdown 300
AT ONLINE * CANCEL-TIMER shutdown
Der Timer startet bei Stromausfall und löst nach 300 Sekunden (5 Minuten) den Shutdown aus. Kommt der Strom vorher zurück, wird er abgebrochen.
Shutdown-Skript
/etc/nut/upssched-cmd
#!/bin/bash
case "$1" in
shutdown)
logger "USV: Strom weg – fahre Docker-Container herunter"
docker stop bitcoin-node
docker stop $(docker ps -q)
sleep 10
/sbin/shutdown -h now
;;
esac
sudo chmod +x /etc/nut/upssched-cmd
NUT-Modus setzen
/etc/nut/nut.conf
MODE=standalone
Dienste starten
sudo systemctl enable nut-server nut-monitor
sudo systemctl restart nut-server nut-monitor
Outlet-Steuerung (Router-Steckdose)
Die Eaton 3S 550 hat schaltbare Steckdosen. Nach erfolgreichem System-Shutdown schaltet die USV die Steckdose des Routers automatisch ab:
upsrw -s outlet.1.switch=0 -u upsmon -p passwort eaton3s@localhost
Sobald die Netzspannung zurückkehrt, startet die USV die Outlets wieder – Server und Router fahren vollautomatisch hoch.
Status prüfen
upsc eaton3s@localhost
Wichtige Werte: ups.status (OL = online, OB = on battery), battery.charge, ups.load.