KapfenbergWas passiert, wenn …?Energie und KostenSicherheit und Zugriff

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.

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?

  1. 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.
  2. Entscheide Speichermedium und Abschaltstrategie zusammen. Auf SD-Karte rechnet man anders als auf SSD.
  3. Miss mit dem Stecker, nicht mit der Anzeige. Zwei Minuten beantworten die Frage, was wirklich an der USV hängt.
  4. Zeig die Restlaufzeit, nicht den Ladestand. Hundert Prozent sagen nichts über eine Batterie, die keine Last mehr trägt.
  5. Ü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.