Good to Know Database

Servergilt für Debian 12, Raspberry Pi OS

Wie fährt eine USV meinen Linux-Server bei Stromausfall sauber herunter?

Eine unterbrechungsfreie Stromversorgung hält den Server bei einem Stromausfall ein paar Minuten am Leben. Das hilft aber nur, wenn der Server rechtzeitig merkt, dass der Akku leer wird, und sich selbst sauber herunterfährt. Wie spricht Linux mit der USV?

Von 4 Min. Lesezeit

Lösung

Kurz: Die USV per USB anschließen und einen Dienst installieren, der ihren Zustand liest. Für Geräte von APC ist das apcupsd, für fast alle anderen Hersteller NUT (Network UPS Tools). Beide fahren den Rechner herunter, wenn der Akku unter eine eingestellte Grenze fällt.

Ist die USV erkannt?

lsusb

Die USV sollte mit Herstellernamen in der Liste stehen, etwa „American Power Conversion“ oder „Cyber Power“.

APC-Geräte: apcupsd

sudo apt install apcupsd

In /etc/apcupsd/apcupsd.conf diese Zeilen prüfen beziehungsweise setzen:

UPSCABLE usb
UPSTYPE usb
DEVICE
BATTERYLEVEL 20
MINUTES 5

DEVICE bleibt leer, dann sucht apcupsd die USV am USB selbst. Heruntergefahren wird, sobald der Akku unter 20 Prozent fällt oder nur noch 5 Minuten Laufzeit meldet, je nachdem, was zuerst eintritt. Danach den Dienst neu starten und den Status abfragen:

sudo systemctl restart apcupsd
apcaccess status

STATUS: ONLINE heißt Netzbetrieb, ONBATT Akkubetrieb. BCHARGE und TIMELEFT zeigen Ladung und Restlaufzeit.

Andere Hersteller: NUT

sudo apt install nut

NUT unterstützt die meisten USV-Geräte über den Treiber usbhid-ups. Die Einrichtung verteilt sich auf mehrere Dateien unter /etc/nut/: ups.conf für das Gerät, upsd.users für den Zugang und upsmon.conf für das Herunterfahren. Den Status zeigt danach upsc mit dem Namen der USV.

Nachträge

Wie teste ich, ob das Herunterfahren klappt?

Am sichersten mit einem echten Test: Rechner speichern lassen, was offen ist, dann den Stecker der USV ziehen und beobachten. Vorher BATTERYLEVEL ruhig hoch ansetzen, etwa 80, damit der Test schnell vorbei ist, und danach wieder zurückstellen.

Können mehrere Rechner an einer USV hängen?

Ja. Der Rechner mit dem USB-Kabel liest die USV aus und gibt den Zustand im Netz weiter. Bei apcupsd laufen die anderen Rechner mit UPSCABLE ether und UPSTYPE net und der Adresse des ersten, bei NUT als upsmon-Client. Viele NAS-Systeme können ebenfalls als NUT-Client mitlesen.

Die USV piept, der Server merkt aber nichts

Meist fehlen die Rechte am USB-Gerät, oder ein anderer Dienst belegt es schon. apcupsd und NUT gleichzeitig zu installieren führt zu genau diesem Fehler, es darf nur einer laufen. Das Protokoll zeigt journalctl -u apcupsd beziehungsweise journalctl -u nut-server.

Quellen