USV im Homelab

TrueNAS Scale und Proxmox sicher per USV herunterfahren – APC Back-UPS mit NUT Remote Shutdown

In vielen kleinen Unternehmen oder Homelabs laufen heute mehrere Systeme parallel:
ein NAS mit TrueNAS Scale, ein Virtualisierungshost mit Proxmox und verschiedene
Netzwerkgeräte wie Router oder Switches.

Ein kurzer Stromausfall reicht oft schon aus, um virtuelle Maschinen, ZFS-Pools
oder laufende Dienste unsauber zu beenden. In diesem Beitrag zeige ich ein
einfaches und zuverlässiges Setup, mit dem TrueNAS Scale als zentraler
UPS-Master arbeitet und einen Proxmox-Host automatisch mit herunterfährt.

Ziel des Setups

  • TrueNAS Scale direkt per USB an die USV anbinden
  • Proxmox als Remote-Client überwachen lassen
  • Automatischer Shutdown bei Stromausfall
  • Sauberes Herunterfahren von VMs und ZFS
  • Router/Fritz!Box möglichst lange weiterlaufen lassen

Verwendete Hardware

  • APC Back-UPS RS 550G
  • TrueNAS Scale
  • Proxmox VE
  • Lokales Netzwerk

Architektur

USV (USB)
   │
   └── TrueNAS Scale (NUT Master)
            │
            └── Netzwerk
                    │
                    └── Proxmox VE (NUT Client)
  

TrueNAS Scale konfigurieren

Die USV wird direkt per USB mit dem TrueNAS-System verbunden.
TrueNAS arbeitet anschließend als zentraler NUT-Server.

UPS-Service aktivieren

  • System Settings → Services → UPS
  • UPS Mode: Master
  • Driver: APC ups 2 Back-UPS Pro USB
  • Port: automatisch erkannt

Empfohlene Einstellungen


Shutdown Mode: UPS goes on battery
Shutdown Timer: 30
Host Sync: 15
Power Off UPS: deaktiviert
  

Remote Monitoring aktivieren

Wichtig: „Remote Monitor“ aktivieren, damit andere Systeme
den UPS-Status abrufen können.

Optionaler Runtime Override

Besonders bei APC Back-UPS Geräten kann die Runtime-Schätzung
ungenau sein. Ein konservativer Override ist daher sinnvoll.


override.battery.runtime.low = 60
  

Status der USV prüfen


upsc ups@localhost
  

Wichtige Werte:


battery.runtime
battery.runtime.low
battery.charge
ups.status
  

Proxmox als NUT-Client konfigurieren

NUT installieren


apt update
apt install nut-client
  

/etc/nut/nut.conf


MODE=netclient
  

/etc/nut/upsmon.conf


MONITOR ups@192.168.178.100 1 upsmon fixmepass slave
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h now"
POWERDOWNFLAG /etc/killpower
  

Dabei ist:

  • 192.168.178.100 = IP des TrueNAS-Servers
  • ups = Name der USV
  • upsmon/fixmepass = Monitor-User aus TrueNAS

Dienst aktivieren


systemctl enable nut-client
systemctl restart nut-client
  

Verbindung testen

Port-Test


nc -zv 192.168.178.100 3493
  

UPS-Status abrufen


upsc ups@192.168.178.100
  

Log überwachen


journalctl -f | grep -Ei "ups|nut|shutdown|fsd"
  

Praxis-Test

Nach Trennung der Netzspannung sollte folgender Ablauf sichtbar sein:


UPS on battery
→ Shutdown Timer startet
→ FSD (Forced Shutdown)
→ Proxmox fährt herunter
→ TrueNAS fährt herunter
  

Wichtige Erkenntnisse

  • Günstige APC Back-UPS Modelle liefern oft ungenaue Runtime-Werte
  • Nach Akkuwechseln muss sich die Kennlinie teilweise neu einlernen
  • Ein konservativer Timer ist zuverlässiger als Prozentanzeigen
  • 30 Sekunden sind in kleinen Umgebungen meist ausreichend

Fazit

Für kleine Serverumgebungen ist dieses Setup überraschend effektiv.
Selbst günstige APC Back-UPS Modelle reichen aus, um TrueNAS und Proxmox
sauber herunterzufahren und Datenverlust zu vermeiden.

Wer später mehr Monitoring, genauere Akkuwerte oder SNMP nutzen möchte,
kann jederzeit auf eine APC Smart-UPS wechseln.

Für Homelabs, kleine Büros oder private Virtualisierungsumgebungen ist die
Kombination aus TrueNAS Scale, Proxmox und NUT bereits eine sehr robuste
und professionelle Lösung.

Praxis-Eventlog des automatischen Shutdowns

Das folgende Eventlog zeigt den tatsächlichen Ablauf eines simulierten Stromausfalls.
TrueNAS Scale war per USB direkt mit der USV verbunden und arbeitete als zentraler
NUT-Master. Proxmox war als sekundärer NUT-Client über das Netzwerk angebunden.

Zeitlicher Ablauf

Zeit System Ereignis Erklärung
14:33:05 Proxmox Kurzzeitiger Verlust der UPS-Kommunikation Proxmox verlor kurzzeitig die Verbindung zum NUT-Server auf TrueNAS.
Solche kurzen Unterbrechungen können bei Dienstneustarts oder Polling-Wechseln auftreten.
14:33:10 Proxmox UPS-Kommunikation wiederhergestellt Die Verbindung zum TrueNAS-NUT-Server wurde erfolgreich wieder aufgebaut.
Das Remote-Monitoring funktionierte wieder korrekt.
14:33:50 Proxmox USV läuft auf Batterie Proxmox erhielt den Status ONBATT vom TrueNAS-Master.
Die USV hatte damit erfolgreich von Netzbetrieb auf Akkubetrieb umgeschaltet.
14:34:10 Proxmox Forced Shutdown gestartet TrueNAS löste den sogenannten FSD (Forced Shutdown) aus.
Als sekundärer NUT-Client begann Proxmox daraufhin automatisch mit dem Shutdown-Prozess.
14:34:10 Proxmox LOWBATT-Zustand empfangen Zusätzlich wurde der LOWBATT-Status vom NUT-Master übertragen.
Bei günstigen APC Back-UPS Modellen kann diese Einschätzung konservativ ausfallen,
der eigentliche Shutdown wurde hier jedoch über den Timer gesteuert.
14:34:10 Proxmox Automatischer Shutdown gestartet Proxmox führte den konfigurierten Shutdown-Befehl aus und begann mit dem
kontrollierten Herunterfahren des Hosts sowie der virtuellen Maschinen.
14:34:15 TrueNAS Automatischer Power-Fail-Shutdown TrueNAS startete nun den eigenen Shutdown-Prozess,
nachdem zuvor alle verbundenen NUT-Clients informiert wurden.
14:34:20 TrueNAS System Poweroff TrueNAS zeigte die finale Systemmeldung:
„The system will power off now!“
Damit wurde die eigentliche Betriebssystem-Abschaltung eingeleitet.

Gemessene Shutdown-Sequenz


14:33:50  Proxmox erkennt ONBATT
14:34:10  Proxmox erhält FSD und startet Shutdown
14:34:15  TrueNAS startet eigenen Power-Fail-Shutdown
14:34:20  TrueNAS kündigt endgültiges Poweroff an
  

Ergebnis

Der Test zeigte, dass das NUT-Master/Client-Setup korrekt arbeitet:
TrueNAS erkennt das UPS-Event, löst den Forced Shutdown aus
und Proxmox reagiert wie vorgesehen als sekundärer Client.

Der Proxmox-Host begann ungefähr 20 Sekunden nach dem ONBATT-Ereignis
mit dem kontrollierten Shutdown. TrueNAS folgte wenige Sekunden später
und leitete anschließend das endgültige Poweroff ein.

Genau dieses Verhalten ist in kleinen Homelabs oder Büro-Umgebungen erwünscht:
zuerst fährt der Virtualisierungshost sauber herunter,
anschließend folgt das Storage-System.

Netzwerkgeräte wie Router oder Switches können weiterhin an der USV verbleiben
und dadurch noch einige zusätzliche Minuten online bleiben.

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert