Da es bei uns öfters mal zu Stromschwankungen kommt und mir deshalb schon die ein oder andere Festplatte kaputt gegangen ist, hab ich mich zum Kauf einer USV entschlossen. Die Wahl fiel auf eine APC Back-UPS Pro 900.
Sollte der Strom einmal länger wegbleiben, ist es hilfreich, wenn sich die angeschlossenen Rechner bei niedrigem Batteriestand selbst herunterfahren.
Der Aufbau ist eigentlich relativ simpel:
------- -------------- ------------ | USV | --- USB --- | USV-Server | --- Netzwerk --- | Firewall | ------- -------------- | ------------ | | ------- ----------| NAS | | ------- | | -------- ----------| DHCP | --------
Da die USV nur einen USB-Anschluss hat, muss man einen Server aufsetzten. Von diesem aus kann man den USV-Status im Netzwerk verteilen. Für diesen Job ist ein Raspberry wie gemacht.
aptitude install apcupsd apcupsd-doc apcupsd-cgi
Da meine USV per USB angebunden ist, muss man in der Datei /etc/apcupsd/apcupsd.conf
ein paar Werte angepasste werden.
Zunächst sollte man die Kabelart wählen, mit der die USV angeschlossen ist:
UPSCABLE usb
Dann muss man noch definieren, wie die Kommunikation über das USB-Kabel abläuft
UPSTYPE usb
Um den Netzwerkstatus des USV-Servers abfragen zu können, muss man den Server aktivieren.
NETSERVER on NISIP 0.0.0.0 NISPORT 3551
Zum schluss muss man noch in der /etc/default/apcupsd
den Wert für ISCONFIGURED von „no“ auf „yes“ setzen und den Dienst neu starten
/etc/init.d/apcupsd start
Für ein Webinterface braucht man einen Webserver. Meine Wahl fiel auf Apache2
aptitude install apache2
Das Paket für das Webinterface wurde bereits am Anfang installiert und muss nur noch aufgerufen werden. Der link ist http://server/cgi-bin/apcupsd/multimon.cgi
Da es mir zu Blöd war, immer die URL einzugeben, habe ich auf die Seite per META-Tag verwiesen. Dazu den folgenden Code-Schnipsel als Standard-Webseite benutzen.
Auf jedem Rechner, der automatisch heruntergefahren werden soll, muss auch der APC-Daemon installiert werden
aptitude install apcupsd apcupsd-doc
apcupsd-cgi ist nicht notwendig, da wir nicht per Weboberfläche zugreifen wollen
Die USV ist über Ethernet angeschlossen, deshalb:
UPSCABLE ether
Die genauen angaben zu USV-Server trägt man danach ein
UPSTYPE net DEVICE <USV-IP>:3551
Da wir den Status nicht im Netzwerk freigeben wollen, müssen wir den Netzwerk-Daemon auf localhost beschränken (lokale apcaccess-Abfrage ist dann immer noch möglich)
NETSERVER on NISIP 127.0.0.1 NISPORT 3551
Zum schluss muss man auch hier noch in der /etc/default/apcupsd
den Wert für ISCONFIGURED von „no“ auf „yes“ setzen und den Dienst neu starten
/etc/init.d/apcupsd start
fertig
Eine pfSense Firewall ist, mit den richtigen Paketen, zum APC-Daemon kompatibel.
Einfach unter System
→ Packages
das Paket Apcupsd installieren und unter Services
→ Apcupsd
konfigurieren.
Die Einstellungen sind die gleichen wie unter UPS-Client beschrieben.
Auch für verschiedene NAS-Geräte gibt es ein apcupsd-Modul.
Hersteller | Website |
---|---|
Thecus | http://german.thecus.com/sp_app_intro.php?APP_ID=177 |
Synology | http://forum.synology.com/enu/viewtopic.php?f=27&t=19378 |
QNAP | über IPKG installierbar |
Das Programm apcupsd wurde vom Hersteller auf Windows portiert.
Hilfreiche Tipps zum einrichten findet man hier
Es gibt mehrere Einstellungen, um den Rechner herunter zu fahren. Alle Einstellungen werden in der Datei /etc/apcupsd/apcupsd.conf
gemacht.
Option | Auswirkung |
---|---|
ONBATTERYDELAY 6 | Zeit in sec vom Entdecken eines Stromausfalls bis zum onbattery-Event |
Das erste erreichte Ereignis bewirkt das Herunterfahren: | |
BATTERYLEVEL 5 | Herunterfahren bei Unterschreiten der Restladung in % |
MINUTES 3 | Herunterfahren bei Unterschreitung der Restlaufzeit der UPS in sec |
TIMEOUT 0 | Timer zum Herunterfahren bei Stromausfall nach x sec (0 disabled) |
ANNOY 300 | Aufforderung zum Ausloggen vor Shutdown alle 5 min |
ANNOYDELAY 60 | erste Aufforderung zum Ausloggen 60 sec nach Stromausfall |
NOLOGON disable | Verhindert das Einloggen mit /etc/nologin nach bestimmter Zeit |