USV von APC installieren und konfigurieren (apcupsd).
An einem Server sollte man für gewöhnlich eine USV betreiben.
Hier in Deutschland geht es seltener um lange Stromausfälle, kürze
Unterbrechungen für eine Sekunde, kommen jedoch nicht so selten vor.
Um an seinem Proxmox Server eine USV von APC betreiben zu können, geht man wie folgt vor:
Zunächst wird apcupsd installiert.
# apt install apcupsd |
Wer es möchte und benötigt, kann zusätzlich apcupsd-cgi anhängen. Das
ist eine Weboberfläche, die Informationen der USV ausgibt.
Da ich diese Oberfläche nicht brauche, die Informationen sehe ich auf
der Console mit apcaccess oder grafisch in phpSysInfo, gehe ich
hier nicht weiter darauf ein.
Nun öffnet man mit dem Editor seiner Wahl die Datei /etc/apcupsd/apcupsd.conf und passt sie an seine Gegebenheiten an.
# nano /etc/apcupsd/apcupsd.conf |
Wichtig ist in erster Linie die Verbindung zur USV und die Zeiten, wann auf einen Stromausfall reagiert und wann ein Shutdown ausgelöst werden soll.
Bei meiner APC-Back-UPS Pro 1500 sind das folgende Einstellungen:
UPSCABLE usb | Hier den Kabeltyp der USV angeben. Bei den üblichen SOHO USVs meist smart (seriell) oder USB. |
UPSTYPE usb | Hier den USV Typ angeben z.B. apcsmart oder USB. |
DEVICE | Bei USVs mit serieller Schnittstelle /dev/tty**, bei USB leer lassen. |
ONBATTERYDELAY 6 | Zeit in Sekunden, bis auf einen Stromausfall reagiert wird. |
BATTERYLEVEL 5 | Batterielevel in % bei welchem der Shutdown eingeleitet werden soll. |
MINUTES 4 | Batterielevel in Minuten bei welchem der Shutdown eingeleitet werden soll. |
TIMEOUT 0 | Zeit in Sekunden, bis von der USV bei Stromausfall ein Shutdown eingeleitet wird. (0 deaktiviert) |
Die jeweiligen Shutdown-Timer sind abhängig voneinander. Das erste
zutreffende Ereignis löst den Shutdown aus.
Ich empfehle einen Testlauf mit einer Stoppuhr. Überprüfen wie viel Zeit
vergeht, von einem poweroff an der Console bis der Server
abgeschaltet wird. Es sollten dabei natürlich alle VMs aktiv sein. Die
ermittelte Zeit plus 1 - 2 Minuten unter MINUTES eingeben und
man ist auf der sicheren Seite.
Die Option TIMEOUT ist besonders von Bedeutung um das Verhalten von apcupsd zu testen.
Als nächstes muss die Datei /etc/default/apcupsd angepasst,
# nano /etc/default/apcupsd |
und die Konfiguration mit ISCONFIGURED=yes auf "erfolgt" gesetzt werden.
Mit systemctl start apcupsd oder beim nächsten Systemstart wird apcupsd gestartet.
Ein Problem besteht jedoch, zumindest hier.
Bei einem Stromausfall läuft alles ganz normal wie gewollt. Zum
angegebenen Zeitpunkt wird der Proxmox heruntergefahren.
Es wird jedoch kein Killpower ausgeführt, dass heißt, die USV bleibt in
Betrieb, bis letztendlich die Batterie vollständig erschöpft ist.
Um das zu verhindern muss die Datei /etc/apcupsd/killpower angepasst werden.
# nano /etc/apcupsd/killpower |
Dort steht bereits alles, ist aber Auskommentiert. Es geht darum, /usr
und /var beim Shutdown noch einmal zu mounten.
Es muss im Grunde nur das jeweilige Auskommentieren, also die Raute "#"
entfernt werden.
#!/bin/sh
mount -n -o ro /usr
mount -n -o ro /var
mount | awk '/ext4/ { print $3 }' | while read line; do
mount -n -o ro,remount $line
done
exit 0
So funktioniert bei mir auch der killpower von apcupsd unter Proxmox.