Konfiguration einer APC-USV unter Proxmox

Veröffentlicht von brun am

Wie man eine APC-USV (hier APC CS350) unter Proxmox konfiguriert:

Diese Anleitung basiert auf: https://www.maffert.net/proxmox-debian-usv-ups-von-apc-installieren-und-konfigurieren/

0. USV an Server anschließen und einschalten

  1. Die Steuerung übernimmt das Programm apcupsd. Programm installieren:
apt-get install apcupsd

2. Konfigurationsdatei bearbeiten:

nano /etc/apcupsd/apcupsd.conf

In dieser Datei müssen folgende Dinge geändert werden:

UPSNAME *Beliebigen Gerätenamen eingeben*
UPSCABLE usb
UPSTYPE usb
DEVICE *leerlassen, Programm erkennt die USV automatisch*

NETSERVER on
NISIP 0.0.0.0

In dieser Datei können weiterhin angepasst werden:

  • ONBATTERYDELAY
    • Die Wartezeit zwischen Stromausfall und auslösen des “ON BATTERY”-Event in Sekunden. Standard ist 6 Sekunden damit bei einem kurzen Ausfall nicht direkt eine Aktion ausgelöst wird.
  • BATTERYLEVEL
    • Ist die Grenze in Prozent verbleibender Batteriekapazität, ab wann der Server herruntergefahren wird.
  • MINUTES
    • Wenn die von der USV berechnete verbeleibende Laufzeit kleiner als dieser Wert (in Minuten) ist, wird der Server heruntergefahren.
  • EVENTSFILE
    • Der Pfad zur Log Datei
  • POLLTIME
    • Zeit in Sekunden, wie oft der Server die USV nach ihrem Status “abfragt”

3. Dem Programm “sagen”, dass es fertig konfiguriert ist:

    In der Datei:
nano /etc/default/apcupsd

ISCONFIGURED=yes
    setzen.

4. Programm starten und Funktion prüfen:

apcupsd start
apcaccess status

5. Optional: Webinterface installieren:

apt-get install apcupsd-cgi apache2
a2enmod cgi
systemctl restart apache2

Aufruf der Statusseite unter:

http://SERVERIP/cgi-bin/apcupsd/multimon.cgi

Konfiguration von Slaves

Wenn an der USV weitere Server hängen, können diese so konfiguriert werden, dass im Falle eines Stromausfalls der MASTER-Server (der mit der USV per USB verbunden ist) bei den SLAVES das herunterfahren veranlasst.

Diese Schritte können auch in Proxmox-VMs ausgeführt werden, welche nicht über die Proxmox-Oberfläche heruntergefahren werden können.

Siehe dazu auch https://www.pontikis.net/blog/apc-ups-master-slave-setup-apcupsd

  1. Änderungen in der Konfiguration des Masters:
nano /etc/apcupsd/hosts.conf

Hier eintragen der IP-Adressen der Server, welche als SLAVE arbeiten sollen (dies sollten statische IPs sein!):

# MONITOR <address> "<host description>"
MONITOR 192.168.1.52 "Backup server"
MONITOR 192.168.1.51 "Server 2"
systemctl restart apcupsd.service

2. Konfiguration der SLAVE-Computer:

apt-get install apcupsd
nano /etc/apcupsd/apcupsd.conf

Hier bearbeiten:

UPSCABLE ether
UPSTYPE net
POLLTIME 10
# IP des MASTER COMPUTER (hier 192.168.1.52), Der Standardport für apcupsd ist 3551
DEVICE 192.168.1.52:3551

Den Rest der Konfiguration läuft wie oben ab.

Optional: Webinterface zum schnellen Aufruf der USV-Statusseiten

Ich habe ein kleines Webinterface erstellt, welches den schnellen Zugriff auf die Statusseite und auf das Proxmox-Webinterface ermöglicht.

Zur Nutzung einfach die Folgenden Befehle ausführen:

  1. Eine Datei “index.html” im Webserver-Verzeichnis erstellen
nano /var/www/html/index.html

2. Den Folgenden Inhalt in diese Datei einfügen. Die IP-Addresse zum Proxmox-Webinterface muss noch durch die IP-Adresse des jeweiligen Proxmox-Servers ersetzt werden :

<title>Proxmox-USV</title>
<body>
<h3>USV Status</h3> <br>
<a href="/cgi-bin/apcupsd/multimon.cgi">
apcupsd MultiMon
</a><br>
<a href="/cgi-bin/apcupsd/upsstats.cgi">
apcupsd Stats
</a><br>
<a href="/cgi-bin/apcupsd/upsfstats.cgi">
apcupsd fStats
</a><br><br><br>
<h3>Proxmox Webinterface</h3><br>
<a href="https://192.168.1.12:8006">   <!-- hier IP-Adresse anpassen! -->
Proxmox Webinterface
</a>
</body>

Anschließend die Datei speichern. Nun kann das Interface einfach unter der Server-IP aufgerufen werden (http://–SERVER-IP–).

Kategorien: IT

5 Kommentare

Danyel · 19. September 2021 um 9:26

Geht dieses vorgehen nur mit einer APC usv?

    brun · 20. September 2021 um 14:53

    Ich habe die Software nur mit einer USV der Marke APC getestet. Anhand des Namens “apcupsd” der Software gehe ich davon aus, dass diese Software nur mit APC Modellen kompatibel ist.

Thomas · 22. Oktober 2021 um 12:40

Ich habe hier gerade 3 Server als Proxmox Cluster aufgebaut, jeder Server hat redundante Netzteile und und ist mit 2 unterschiedlichen USVs (von insgesamt 3) verbunden. Wenn nun eine USV ausfällt oder kein Strom mehr hat, bleibe ich entspannt. Nur wenn 2 USVs Alarm schlagen müsste gehandelt werden.
1. Wie mach ich das?
2. Wie verhindere ich das der HA-Cluster anfängt die Maschinen zu verschieben?
Idee?

Gruß Thomas

    brun · 23. Oktober 2021 um 12:41

    Hallo Thomas,
    prinzipiell ist es möglich mehrere USVs durch die Software anzusteuern indem man mehrere config-Dateien anlegt und somit mehrere Instanzen von apcupsd laufen hat (http://www.apcupsd.org/manual/manual.html#controlling-multiple-upses-on-one-machine). Für dein beschriebenes Szenario gibt es meiner Ansicht nach leider keine (einfache) Möglichkeit dieses mit apcupsd umzusetzen. Man könnte eventuell ein script erstellen, welches den USV-status abfragt und das herunterfahren auslöst. Vielleicht kann aber eine andere Software Abhilfe schaffen: NetworkUPSTools (NUT). Damit scheint das möglich zu sein: https://networkupstools.org/docs/user-manual.chunked/ar01s06.html#BigServers.
    Was deine zweite Frage angeht glaube ich, dass es dafür eine Proxmox-interne Einstellung gibt, ich habe leider noch nicht mit HA-Clustern in Proxmox gearbeitet.
    Ich hoffe ich konnte dir ein wenig weiterhelfen.
    LG

Christian · 23. September 2022 um 13:29

Moin,
ich habe das gerade mit einer Tecnoware Exa+2000 aus probiert. Der Server ist Klaglos heruntergefahren. Das Programm scheint auch für andere USVs teilweise zu funktionieren. Zum Glück! Sonst währen 400 € für den fast Müll gewesen. Jetzt kann ich auch meine Fritz!Box daran anschließen, damit ich noch kurz Internet und Telefon habe. Mit der USV hat der Server eine Stunde durchgehalten. War wohl deutlich überdimensioniert. Ich danke für den Beitrag.

Schreibe einen Kommentar

Avatar-Platzhalter

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