Auch Linux-Server wollen vor Stromausfall und Stromschwankung geschützt werden. Als Hardware kommt in diesem Beispiel eine APC Back-UPS CS 650 zum Einsatz. Auf der Softwareseite wird auf den APC UPS Daemon zurückgegriffen.
Kleine Hintergrund-Geschichte, warum ich mir eine USV angeschafft habe:
Mal ganz abgesehen davon, das es generell sinnvoll ist, (Heim-)Server die immer Laufen mit einer USV abzusichern, kommt in meinem Fall hinzu, das ich kürzlich wieder in meinen alten Heimatort gezogen bin. In der Vergangenheit gab es hier schon so einige Stromausfälle und leider auch Blitzschäden. Das eigentliche Haus wurde zwar bis dato nie direkt getroffen, aber es genügt ja schon, wenn in das Strom- oder Telefonnetz der Blitz einschlägt.
Vorbereitung
Die USV auspacken, aufbauen und via USB anschließen.
Webserver installieren
Den Befehl “apt-get install apache2” ausführen.
APC UPS Daemon installieren
Einfach den Befehl “apt-get install apcupsd & apcupsd-cgi” ausführen.
APC UPS Daemon konfigurieren
Die Konfigurationsdatei befindet sich unter “/etc/apcupsd/apcupsd.conf”.
Die Konfiguration z.B. mit nano bearbeiten:
UPSNAME APC Backup-UPS CS 650
UPSCABLE USB
UPSTYPE USB
Damit der Daemon gestartet werden kann muss eine Datei namens “apcupsd” unter “/etc/default/apcupsd/” mit folgenden Inhalt
ISCONFIGURED=YES
existieren.
Den Daemon starten:
/etc/init.d/apcupsd start
Web-Interface einrichten
Am schnellsten und einfachsten kann man das Web-Interface einrichten, indem man folgenden Befehl ausführt:
apt-get install apcupsd-cgi
Die CGI-Skripte liegen dann unter “/usr/lib/cgi-bin/apcupsd” und können direkt via Browser aufgerufen werden. Alternativ kann man auch diesen Weg gehen:
– Ein neues Unterverzeichnis für den APC UPS Daemon anlegen:
mkdir /var/www/cgi-bin/apcupsd
– Die APC UPS Daemon-Dateien kopieren:
cp -r /usr/lib/cgi-bin/apcupsd/ /var/www/cgi-bin/apcupsd/
– Nun kann das Web-Interface im Browser über diese URL aufgerufen werden:
http://COMPUTERNAME/cgi-bin/apcupsd/upsstats.cgi
In der Shell kann der aktuelle Status via “/etc/init.d/apcupsd status” abgerufen werden:
Tipp: Mit dem Befehl “apctest” kann man z.B. den Selbsttest der USV durchführen. Um “apctest” erfoglreich ausführen zu können, muss der Daemon beendet sein!
Update 07.04.2014
Artikel um das Paket “apcupsd-cgi” erweitert.
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Hallo Andy,
genau die Info, die ich gesucht habe. Kurz und prägnant dargestellt.
Danke
hallo und vielen dank für die anleitung hat auch alles soweit geklappt.
bis auf “ISCONFIGURED=YES” da hat er immer mit der konfiguration rumgemäkert.
nach dem ich dann aus “YES” “yes” gemacht habe lieft es wie am schnürchen.
Besten dank noch mal :O)
Danke für den Hinweis.
Hallo, eine USV (APC 550) soll es bei mir werden….meine Frage, muss es zwingend der Apache sein? Bei mir läuft lighttd … das sollte doch auch funktionieren oder kann apcupsd nur mit dem Indianer ?
Gute Frage.
So wie ich das sehe im Handbuch sind die CGI-Skripte nicht zwingend an den Apache Webserver gebunden, da dort z.B. auch vom Microsoft IIS die Rede ist.
Letztlich kannst du das schnell und einfach testen, wenn bei dir ohnehin schon der Lighttpd läuft, einfach nach der Installation von apcupsd die CGI-Skripte ins Webserver-Root bzw. ein entsprechendes Unterverzeichnis kopieren und von einem Browser aus aufrufen.
Danke für Deine Infos, das hilft mir schon.
Okay. Ich werde mich hier wieder melden, wenn ich Hardware und Software zusammen gebracht habe.
Ich drück’ dir die Daumen!
Und um es nochmal nochmal etwas einfacher auszudrücken:
Jeder Webserver der CGI kann, kann womöglich verwendet werden.
Getestet hab’ ich es freilich nicht, aber Feedback ist immer willkommen.
Hallo,
ich habe vor mir ein APC Model zuzulegen bin aber nicht ganz schlüsslig welchen, vielleicht könnt ihr mir ja helfen.:
– 30 minuten versorgung
– debian tauglich sein 🙂
– Geräuschlos beim Laden und Verwenden
Und die Frage ob man events auslösen kann mit debian wenn z.b der Stromausfällt oder wieder vom Netz gespeist wird ne art bash script oder so da ich gerne einen befehl absetzen würde der mir eine SMS sendet.
Hallo,
sorry ich nochmals du hast ja das “CS 650” von APC , wie zufrieden bist du damit :)?
Hi Mark,
also ich bin mit der USV soweit zufrieden. War günstig und tut gut.
30 Minuten halten tut sie bei mir aber nicht, das hängt aber natürlich auch immer von der Last ab.
In meinem Fall hängt ein HP DC7800 SFF mit C2D 2.4 GHz, 2GB RAM, 2x HDD dran und idlet mehr oder weniger vor sich hin.
Laut apcupsd ist unter dieser Last (ca. 40%) eine Haltezeit von ca. 13 Minuten drin.
Geräuschlos ist das Teil, da kein Lüfter.
Es kann aber sein, das man bei USVs ohne Lüfter aber z.B. gewisse Geräusche von der Elektronik wahrnehmen kann.
Erfahrungsgemäss hört man meist bei billigen no-name USVs ein Pfeifen.
Mit Skripten beim eintreten von bestimmten Ereignissen kann man arbeiten.
Das wird ganz gern genommen um z.B. andere Computer oder virtuelle Maschinen herunterzufahren.
Bei mir wärs nur ein ->
product: Intel(R) Celeron(R) CPU 2.80GHz , 8 GB RAM – 1-2 Festplatten und 3-4 GSM MODEMS 😉
Glaubst du wie lang wird das halten? 😉
Die Aktions kann ich via webinterface machen oder hast du da was parat für mich ;)) Und welche Kabeln benötige ich da bei amazon irgendwas von fehlenden Kabeln steht :((
großeß danke werd deinen blog lesen und weiterempfehlen 🙂
Nuja, die haben auch schon Strom “gefressen”.
Ich glaub’ am einfachsten wäre es, wenn du mal die Stromaufnahme des Computers messen tust.
Dann hast du schon mal eine Größe, mit der man dann anhand der gewünschten Haltezeit die Leistung der USV festlegen kann.
Messen kannst du per Software wie z.B. Powertop (von mir bislang nicht getestet) oder per Hardware mit einem Energiekostenzähler.
Sowas gibt’s z.B. von Reichelt:
http://www.reichelt.de/Energiemessgeraete/KD-302/3/index.html?;ACTION=3;LA=446;ARTICLE=88135;GROUPID=4033;artnr=KD+302;SID=10T84IU38AAAIAACTkgVA1e33ae5c4ec8b030bc6596aa8ef90f81
Oder du versuchst die Komponenten hier zu finden und bekommst (ebenfalls) eine Pi-mal-Daumen-Peilung der Leistung, die “Verbraten” wird:
http://extreme.outervision.com/psucalculatorlite.jsp
Danke 😉 oder ich bestelle und teste und wenns nichts daugt adios und weiss das es keinen sinn hat sowas schwaches zu nehmen 😉 Wobei 10 Minuten reichen auch völlig 😉 also wärs eigentlich egal =)
Sorry das ich hier so viel poste und frage :X nur du scheinst dich auszukennen =)))
Die frage wäre noch wie mache ich bei aktions strom weg und strom da ausführungen am debian mach bzw. mittels bash? 😉
Schau dir mal die “apcupsd.conf” und “apccontrol.sh” an,
da ist im Grunde alles drüber konfiguriert und geregelt.
An diesen Stellen kann man alles mögliche “verbiegen”.
🙂 denke ich werd bestellen ;))
Welche Kabeln brauch ich noch damit ich den Server mit Strom versorgen kann, via APC UPS ? 😉
Bei der USV von APC sind welche dabei. Das sind Kaltgerätekabel mit 1x Buchse und 1x Stecker, werden auch als Kaltgeräteverlängerung bezeichnet.
Z.B. sowas hier:
Link
Aber es gibt auch USV, an denen normale Steckdosen sind.
Alternativ kann man auch eine Steckdosenleiste mit Kaltgerätestecker nehmen:
Link
hi,
sodale nun hab ichs aufgebaut und funkt auch perfekt server läuft und läuft :)) die frage ist nun MUSS ich damit ich es ansteuern kann via usb / oder so verbunden sein denn hab keinen usb port mehr frei .. :(((
Eigentlich ja. Hast du evtl. die Möglichkeit eine USB-Addon-Karte in deinem Computer zu verbauen? Du kannst natürlich mal versuchen mit einem USB- oder COM-/RS232-Server, je nach dem welche Anschlüsse deine USV bietet, zu testen. Da fehlt mir allerdings die Erfahrung bezüglich USV, wie gut oder schlecht das funktioniert. Mit anderen Geräten wie z.B. Dongle oder USB-Druckern oder auch so manches Mess-/Regeltechnik-System laufen über sowas ohne Probleme.
Hallo,
hab einen Aopen Xcube – und bin da ein wenig überfragt :X hab den selben USV wie du 🙂
Öhm ja, also ich hab’ mal ca. 30 Sekunden lang Bilder via Google angeschaut. Das Ding hat wohl 1-2 PCI-Steckplätze, also liese sich da wohl schon was machen. Im Zweifelsfall aufschrauben und nachschauen.
Danke für das gute Howto… Funktioniert auch mit BR900GI
Hallo Andy,
habe die kompletten Sachen für APC Backup installiert, kann im Raspi mit “sudo /etc/init_d/apcupsd status” sauber auslesen, nur über den Browser http://192.168.x.xxx/cgi-bin/apcupsd/upsstats.cgi komm ich nicht an den APC ran. Alle Dateien sind entsprechend den Vorgaben vorhanden.
Was mache ich falsch ?
Gruß Peter
Gibt’s eine Fehlermeldung?
Hallo Andy,
Eingabe :http://192.168.2.104/cgi-bin/apcupsd/upsstats.cgi
Fehlermeldung lapidar :404 – Not Found
Raspi funktioniert z.B. mit FHEM über die gleiche Adresse, benötige ich noch eine Portangabe ?
Gruß Peter
Hm, unter Raspberry habe ich, mangels Hardware, das nie versucht.
Evtl. weicht die Apache-Konfig vom Debian-Standard ab?!
Was steht denn im Apache Log?
Hallo Andy,
wenn /var/log/apache2/access.log und error.log gemeint ist – die sind leer !
Gruß Peter
Erstelle mal testweise eine html-Datei im Verzeichnis “/var/www/cgi-bin/apcupsd/” und rufe die mal im Browser auf,
nur um mal zu sehen, ob das Verzeichnis vom Apache überhaupt verwendet wird.
Parallel dazu kannst du mal die Apache Konfig. prüfen, ob CGI überhaupt zugelassen ist.