Die USV fährt nichts herunter — und das ist Absicht
Jede Anleitung sagt: bei Stromausfall geordnet herunterfahren. Bei mir bleibt der Pi oben. Der Grund steckt in einer Eigenschaft, die keine USV dazuschreibt.
Inhalt
- Der Haken
- Was das praktisch heißt
- Das kleinere Übel
- Nachgeprüft, nicht behauptet
- Was bleibt, wenn nichts mehr abschaltet
- Erst ins Logbuch, dann aufs Telefon
- Was eigentlich an der USV hängt
- Warum Laufzeit und nicht Ladestand
- Der Teil, der mir am meisten zu denken gegeben hat
- Was nicht geprüft ist
- Und was heißt das?
An meinem Raspberry Pi in Kapfenberg hängt eine USV. Fällt der Strom aus, hält sie Pi, Router und die Anbindung nach außen rund 67 Minuten am Leben.
Was sie nicht tut: den Pi geordnet herunterfahren, bevor die Batterie leer ist. Jede Anleitung empfiehlt genau das. Ich habe es eingeschaltet und innerhalb einer Stunde wieder abgeschaltet.
Hier steht, warum — und warum die Begründung mit einer Eigenschaft zu tun hat, die keine USV in ihr Datenblatt schreibt.
Der Haken
Mit eingeschaltetem Herunterfahren passiert bei fünf Minuten Restlaufzeit Folgendes: Der Pi fährt sauber herunter. Dateisystem zu, alles in Ordnung.
Und dann bleibt er aus.
Denn eine USV gibt ihre Steckdosen nicht ab, solange die Batterie noch Saft hat. Kommt der Strom zurück, während noch Ladung da ist, sieht der Pi nie einen Einschaltmoment. Für ihn hat sich an der Steckdose nichts geändert — da war immer Spannung.
Er käme erst wieder hoch, wenn die Batterie vollständig leerläuft. Oder wenn jemand hinfährt und den Knopf drückt.
Was das praktisch heißt
Ein Ausfall von 90 Minuten, bei dem der Strom nach 50 zurückkommt:
| mit Herunterfahren | ohne | |
|---|---|---|
| Minute 0–45 | läuft auf Batterie | läuft auf Batterie |
| Minute 45 | fährt herunter | läuft weiter |
| Minute 50, Strom zurück | bleibt aus | läuft durch |
| Stunde 2 bis Besuch | totes Haus | alles normal |
Bei einem Haus, in dem man wohnt, wäre das ärgerlich. Bei einem, in dem man nicht wohnt, ist es der Unterschied zwischen „es war kurz dunkel“ und „seit Dienstag meldet sich nichts mehr und niemand weiß warum“.
Das kleinere Übel
Ein Dateisystem, das einen harten Ausfall abbekommt, ist dagegen der günstigere Fall — zumal es ein Journal hat und die Anlage auf einer NVMe-SSD läuft, nicht auf einer SD-Karte.
Das ist eine Abwägung, keine Behauptung. Wer seine Anlage auf einer SD-Karte betreibt, rechnet anders — dort ist ein harter Ausfall tatsächlich gefährlich. Genau deshalb gehört beides zusammen entschieden: Speichermedium und Abschaltstrategie.
Nachgeprüft, nicht behauptet
Dass die Einstellung wirklich tut, was ich annehme, steht im Protokoll des Dienstes — die Abschaltbefehle unterscheiden sich:
mit Herunterfahren SHUTDOWNCMD: /usr/bin/shutdownhost
WARNING: UPS Shutdown will shutdown the host
ohne SHUTDOWNCMD: /run/s6/basedir/bin/halt
halt hält nur den Dienstbehälter an. Der Pi bleibt oben.
Das ist der Unterschied zwischen „ich habe den Haken weggeklickt“ und „ich weiß, was der Haken tut“.
Was bleibt, wenn nichts mehr abschaltet
Die Schwelle bei fünf Minuten Restlaufzeit bleibt eingestellt, obwohl sie nichts mehr auslöst. Sie macht die letzte Warnung berechenbar: Die Batteriewarnung kommt verlässlich bei fünf Minuten und nicht irgendwann.
Und die zwei Warnstufen sind ohne geordnetes Herunterfahren wichtiger als vorher, nicht weniger wichtig. Es gibt keinen sauberen Abschluss mehr. Die letzte Meldung ist alles, was bleibt.
| Restlaufzeit | Meldung | Wozu |
|---|---|---|
| 15 Min | „noch rund 15 Minuten, danach fällt der Pi aus“ | Zeit zu entscheiden, ob man etwas tut |
| 5 Min | „gleich leer — das hier ist die letzte Meldung“ | Markierung im Protokoll, kein Handlungsaufruf |
Die zweite ist ausdrücklich kein Handlungsaufruf. Bei fünf Minuten kann niemand mehr etwas tun, der nicht ohnehin im Haus steht. Sie ist ein Zeitstempel für hinterher: Bis hierhin lief es.
Erst ins Logbuch, dann aufs Telefon
Beide Meldungen schreiben zuerst ins Logbuch und melden dann aufs Telefon.
Der Grund ist banal und wird trotzdem fast immer falsch gemacht: Das Logbuch liegt auf der Platte, die Push-Nachricht muss erst hinaus. Fällt das Netz zugleich mit dem Strom aus, ist die Push-Nachricht weg und der Logbucheintrag da.
Dauerhafte Benachrichtigung und Logbucheintrag bleiben deshalb in jeder Automatik — nicht weil der Router auf der USV hängt, sondern weil ein Ausfall länger dauern kann als 67 Minuten Batterie. Dann ist alles verloren, was nur als Push unterwegs war.
Was eigentlich an der USV hängt
Das wusste ich zuerst nicht, und ich habe es falsch geraten.
Ich hatte aus der Lastanzeige geschlossen: 0 bis 1 Prozent von 520 Watt, der Pi zieht 5 Watt, also hängt nur der Pi dran. Die Rechnung stimmte, die Folgerung nicht.
Dann hat jemand für 112 Sekunden den Stecker gezogen:
20:45:37 Batteriebetrieb Akku 100 % Netzstrom weg
20:46:28 Batteriebetrieb Akku 99 % Eingang 0,0 V Laufzeit 70 min
20:47:29 Netzbetrieb Akku 98 % Eingang 232 V lädt
Und die Zeile, auf die es ankam: In jeder einzelnen Abfrage aus Wien stand „erreichbar“. Die Verbindung ist über den ganzen Ausfall nie abgerissen. Pi, Router und der Adapter zum Außengerät liefen vollständig auf Batterie weiter.
Dieselbe USV meldete während des Ausfalls 0 Prozent Last — und trug in genau diesem Moment geschätzt 20 Watt.
Was an einer USV hängt, sagt einem der Stecker, nicht die Lastanzeige. Ein Steckerzug dauert zwei Minuten und beantwortet die Frage endgültig. Jede Schätzung aus Prozentwerten ist Kaffeesatz.
Deshalb gibt es hier keinen Watt-Sensor mehr. Er hätte null angezeigt, während das halbe Netzwerk daran hängt. Ein Messwert, der zuverlässig null zeigt, wo etwas ist, ist schlimmer als gar keiner — weil ihn beim nächsten Mal jemand glaubt.
Warum Laufzeit und nicht Ladestand
Der zweite Irrtum, den fast jedes USV-Dashboard übernimmt.
Eine tote Bleibatterie zeigt 100 Prozent. Sie nimmt Ladung an, hält sie aber nicht unter Last. Der Ladestand ist damit der unbrauchbarste Wert, den eine USV liefert — und ausgerechnet der, den alle anzeigen.
Aussagekräftig sind drei andere:
- Die Restlaufzeit. Sie bricht als Erstes ein, lange bevor der Ladestand etwas sagt.
- Die Batteriespannung. 13,5 Volt ist gesund; deutlich darunter unter Last heißt Alterung.
- Das Alter. Blei hält drei bis fünf Jahre, ob man es braucht oder nicht. Diese hier ist zweieinhalb Jahre alt — in etwa eineinhalb Jahren springt die Monatsmeldung an, und das ist genau die Absicht.
Der Teil, der mir am meisten zu denken gegeben hat
Die Dokumentation zu diesem Paket beginnt mit dem Satz:
Eine USV ohne Überwachung ist ein Gerät, das jahrelang unbemerkt seinen Dienst tut — und dann unbemerkt aufhört.
Zwei Tage später hörte die Überwachung selbst unbemerkt auf.
Beim Bau eines Dashboards fiel auf, dass sämtliche USV-Entitäten auf „nicht verfügbar“ standen — seit 43 Stunden. Im Protokoll lief im Sekundentakt eine Fehlermeldung. Die Geräteliste des Systems kannte die USV nicht mehr; der Zustand war exakt derselbe wie vor dem Einstecken des Kabels.
Zwei Tage lang hätte ein Stromausfall keine einzige Meldung erzeugt. Keine der fünf Automatiken kann auslösen, wenn die Entität, an der sie hängt, nicht verfügbar ist.
Eine Überwachung, die ihr eigenes Schweigen nicht bemerkt, überwacht nichts.
Deshalb gibt es jetzt zwei weitere Automatiken: eine meldet, wenn der USV-Status zwei Stunden lang nicht verfügbar ist, die andere räumt die Meldung weg, wenn er zurückkommt, und nennt dabei die aktuellen Werte.
Zwei Stunden Karenz, weil jeder Neustart die Entitäten kurz auf „nicht verfügbar“ setzt. Und die Meldung ist bewusst dauerhaft, nicht nur eine Push-Nachricht — sie soll nicht wegwischbar und dann vergessen sein.
Was nicht geprüft ist
Der harte Ausfall selbst. Dafür müsste man die Batterie 67 Minuten leerlaufen lassen, und das ist bisher nicht passiert.
Geprüft sind: der Stromausfall über 112 Sekunden mit vollständiger Meldekette, beide Warnstufen einzeln ausgelöst, und der Unterschied zwischen den Abschaltbefehlen im Protokoll. Was passiert, wenn der Pi tatsächlich mitten im Schreiben den Strom verliert, steht aus.
Und was heißt das?
- Prüf, ob deine USV die Steckdose je abgibt. Davon hängt ab, ob ein geordnetes Herunterfahren dich schützt oder dir das Haus abschaltet, bis du hinfährst.
- Entscheide Speichermedium und Abschaltstrategie zusammen. Auf SD-Karte rechnet man anders als auf SSD.
- Miss mit dem Stecker, nicht mit der Anzeige. Zwei Minuten beantworten die Frage, was wirklich an der USV hängt.
- Zeig die Restlaufzeit, nicht den Ladestand. Hundert Prozent sagen nichts über eine Batterie, die keine Last mehr trägt.
- Überwache deine Überwachung. Das ist der Punkt, an dem ich selbst hereingefallen bin, und er betrifft jede Alarmkette im Haus — nicht nur die USV.
Die eigentliche Lehre ist unbequem: Die Entscheidung gegen das Herunterfahren war richtig, aber sie war nur deshalb überhaupt eine Entscheidung, weil jemand gefragt hat, was danach passiert. Die Voreinstellung hätte das Haus abgeschaltet, und niemand hätte es vorher bemerkt.
Wenn du das verfolgen willst: nimm RSS
Kein Newsletter. Du gibst mir keine Adresse, ich führe keine Liste, und niemand muss einer Einwilligung zustimmen, um zu erfahren, dass ein Artikel fertig ist. RSS ist die ältere und für beide Seiten ehrlichere Lösung.
Wie das geht, und warum kein Newsletter
- 1Hol dir einen Feed-Leser. Ohne Konto geht das mit einer App am Telefon oder einer Erweiterung im Browser; wer mag, nimmt einen Dienst mit Konto.
- 2Trag die Adresse von oben dort ein.
- 3Fertig. Neue Artikel erscheinen von selbst in deinem Leser — ungelesen bleibt ungelesen, und nichts landet zwischen Rechnungen und Werbung im Postfach.
Warum das besser ist: Dein Leser holt die Datei ab. Ich bekomme keine Adresse und kann nicht sehen, wer liest oder ob jemand geöffnet hat. Abbestellen heißt, den Eintrag zu löschen — ohne Link, ohne Bestätigungsmail, ohne mich.