Shutdown im Container bei UPS-Betrieb

Begonnen von FrankOverIP, 03 Januar 2021, 11:49:52

Vorheriges Thema - Nächstes Thema

FrankOverIP

Hallo zusammen,

ich bin auf der Suche nach Umsetzungsmöglichkeiten für einen sauberen Shutdown von FHEM bei einem Stromausfall. Es geht um ein Synology NAS mit einer Reihe von Docker Containern - einer davon ist ein FHEM. Wenn es zu einem Problem in der Stromversorgung kommt, soll FHEM das mitbekommen und sich ich sauber beenden, bevor sich das NAS selbst herunterfährt.

Die UPS habe ich noch nicht gekauft - abhängig von den möglichen Lösungswegen wird diese entweder direkt per USB am NAS hängen, oder über eine eigene Netzwerkkarte verfügen.

Hat jemand bei einem solchen Szenario vielleicht aus eigener Erfahrung ein paar Stichworte, mit denen ich mich etwas gezielter einlesen kann? Im Augenblick denke ich an die Network UPS Tools als eigener Container und einen Client im FHEM-Container, der den Zustand der Stromversorgung aktiv überwacht.

Viele Grüße
Frank

Wernieman

Also ...

Eigentlich ist der Anschluß egal, wenn Deine Steuermöglichkeit es mitbekommt. Du kannst auch von einem Container aus andere Container "runterfahren". Desgleichen sotlte die USV, wenn sie denn sauber sich abschaltet, alle Container sauber beenden.

Insofern: KeepItSimpel (KISS Prinzip).

Die Fragen ist also eher:
- Welche Möglichkeiten der Erkennung hast/brauchst Du?
- Willst Du gleich bei jedem "Netzpeak" abschalten, oder erst nach ?5? Minuten?
- Wie lange soll/muß die USV reichen
- Welche "Strommenge" fließt durch die USV?
- etc. ....

Diese Fragen (und noch mehr) mußte ich beantworten, als ich das letzte Mal (beruflich) eine USB gekauft hatte ...

Btw:
Die Batterien in der USV altern
- Monitoring der Batterie Quallität
- Austauschen der Batterie nach X Jahren (Gibt es die Einzeln?)

Btw:
- Die Wandler der Online USV sind nicht 100% Optimal, sondern nur c.a. 80%, d.h. 20% ist Verlust und wird direkt in Wärme umgewandelt .....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

FrankOverIP

Danke für die Antwort. Es geht mir aber in der Tat eher um die Umsetzung der Fragen, die du in deiner Antwort auch aufgeworfen hast, insbesondere ,,Welche Möglichkeit der Erkennung" gibt es.

Stand heut habe ich einen Container mit FHEM. Wie bekommt der nun mit, dass in 5 Minuten das Licht ausgeht?

Synology bekommt die Information direkt von der USV - günstiger per USB, für mehr Geld auch per Netzwerk. Davon werden die Container aber nichts erfahren. Also, wie bekommen die das mit?

Wie schon gesagt, wäre mein erster Ansatz einen Container mit NUT aufzusetzen, der sich die Daten von der USV holt. Im FHEM-Container läuft dann ein NUT client, um sich über den Stand zu informieren. Gibt es Probleme, wird FHEM beendet.

Die Frage ist, ob das ein gutes Vorgehen ist, oder ob es Erfahrungswerte gibt, wie man sowas einfacher/besser realisiert.

Die von dir aufgeworfenen Fragen zur USV selbst muss ich natürlich für mich beantworten. An vielen Stellen sicher auch eine Frage, welche Menge Geld ich dafür in die Hand nehme(n muss).

Viele Grüße
Frank

sledge

Hi,

zwar ohne Synology, dafür mit einem anderen NAS:

Erkennung auf dem NAS mittels APCUPSD, den wiederum kann ich in FHEM über das entsprechende Modul (über das Netzwerk) abfragen.

Andere Alternative (hatte ich vorher) könnte NUT-Utils sein (help NUT). Für meinen Verwendungszweck ist jedoch APCUPSD besser geeignet.

In meinem Fall fahren dann nicht Dockercontainer, sondern virtuelle Maschinen runter - bleibt aber immer das gleiche Prinzip: DOIF / NOTIFY auf das entsprechende Ereigniss und entsprechende Kommandos lostreten.

Als allerletztes fahre ich dann das NAS runter...

War es diese Art von Info, die Du gesucht hast? Oder sollte es schon eine Kaufempfehlung sein?

Gruß,

Tom



FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

FrankOverIP

Hi Tom,

so in etwa auf die Antwort hatte ich gehofft. Das Modul APCUPSD kannte ich noch nicht - damit wird die Steuerung natürlich viel einfacher.  Ein Container mit APCUPSD auf dem Host, der die USV ausliest, das Modul in FHEM greift dann auf die Daten zu. Damit ist der Shutdown gelöst.

Hast du vielleicht noch eine gute Idee, wie es bei einem falschen Alarm laufen kann? Die USV meldet eine kritische Restlaufzeit, FHEM beendet sich und der Strom kommt dann doch zurück? Das würde dann vermutlich ein watchdog machen, der nach z.B. 10 Minuten FHEM wieder startet. Oder gibt es dafür auch eine bessere Lösung?

Besten Gruß
Frank

sledge

Hallo Frank,

Meines Wissens verwenden Synology-NAS bereits für die eigene Erkennung APCUPSD - also kein weiterer Docker-Container erforderlich. Aber da wird Google oder das Handbuch dir sicherlich weiterhelfen.

Bezüglich des "jetzt ist der Strom wieder da": Meine USV hat eine Autonomiezeit von ~30 Minuten, das hat letztens sogar zum Zählerwechsel gereicht. Die Abfrage sieht bei mir wie folgt aus:

1. Wenn USV auf Batterie, ist meine Restlaufzeit >= 5 Minuten. Alles fein
2. Falls < 5 Minuten: Geordnet runterfahren. Fertig

Sollte also der Strom in genau den letzten 4 Minuten und 59 Sekunden Minuten wiederkommen, müsste ich Hand anlegen. Aber ohnehin, da mit Unterschreiten des Schwellenwerts ALLES runtergefahren wird - zwar nacheinander, aber doch zügig. Dauert jetzt keine "Minuten", eher Sekunden. Da wäre dann also auch kein Watchdog oder vglbar oben.

Wenn Du hingegen "nur" FHEM runterfährst, aber den Rechner selber oben lässt... andere Geschichte. Mach ich aber nicht. Genau deswegen fahre ich ja geordnet runter.

Gruß,

Tom
FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

FrankOverIP

Hallo Tom,

die kurze Zeit zwischen dem shutdown für FHEM und dem NAS selbst ist natürlich ein valider Punkt. Der Fall, dass nur FHEM beendet wurde, dürfte eher selten vorkommen. Allerdings führt auch so ein unnötiger Shutdown des NAS dazu, dass dieses wohl auch aus bleiben wird. Oder kann man erzwingen, dass der Host nach dem Shutdown auch für eine gewisse Zeit stromlos geschaltet wird? Wenn das NAS stromlos war und dann wieder Strom bekommt, startet es ja automatisch. Fährt es aber nur runter, bekommt aber doch dauerhaft weiter Strom, wird sich an diesem Zustand erstmal nichts ändern. Das wäre im Urlaub schon recht blöd, wenn das NAS - und damit die ganze Heimautomation - für zwei Wochen ausfiele.

Letztlich geht das aber über meine ursprüngliche Frage hinaus. Der Fahrplan ist erstmal klar und ich habe eine ganz gute Vorstellung, wie ich das Thema angehen kann. Synology verwendet übrigens einen NUT-Unterbau, wie ich jetzt gelesen habe. Tatsächlich finden sich in /usr/syno/etc/ups auch die zugehörigen Konfigurationsdateien. Das Tool dürfte drastisch über meine private Anwendung hinausgehen - was auch immer mir in den Sinn kommt, wird damit wohl eher die Frage aufwerfen wie etwas geht und nicht ob...

Viele Grüße
Frank


Wernieman

#7
Es währe aber blöde, wenn Du bei 5 Minuten Restzeit, wieder Strom, die Geräte hochfährst. Bei einem Stromausfall >30 Minuten wirst Du es heufiger haben, das der Strom "nur mal kurz" wieder da ist. Dann ist die Standzeit Deiner USV-Lösung aber nicht mehr z.B. 30 Minuten, sondern 5 .....

Eine USV hat 3 Aufgaben:
"Stromfilter": Schlechter Strom (Under/Over Volting, Weggefallene Halbwellen etc.) ausbügeln und so den Betrieb der dahinter liegenden Geräte Betrieb sicherer zu machen.
"Strom-Stütze": Einen Ausfall kleiner X Minuten zu überbrücken
"Unkontrollierte Beendigung verhindern": Bei einem Ausfall größer X Minuten die Systeme sauber beenden

Wie Du merkst, steht nirgends etwas vom "sauberen" hochfahren drin. Wenn implementiert, sollte es aber auch fast bei "Voller Ladung" erst erledigt werden. Du könntest versuchen, s über den USV-Deamon hinzubekommen. Der müsste aber auch durchlaufen und dürfte sich nicht selber abschalten. Wenn also der Strom "endgültig" weg ist, d.h. Batterie alle, wird er unsauber beendet ....
Übrigens müsstest Du dazu auch eine USV haben, die bei "so etwas" selber wieder hochfährt. Mir akltuell nicht bekannt (kenne aber auch den aktuellen Markt nicht (mehr)). Kurzgesagt: bei solch einem Fehlerfalle würde ich persönlich den Ausfall der Hausautomatisierung akzeptieren ...

Btw:
Bei meiner letzten berufsmäßigen Kalkulation wurde bei Punkt 1 extra gesagt: Bei "Blitzschlag" sollte lieber die USV Hochgehen als die geschützten Server. Wurde (Sollte) extra mit kalkuliert werden ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

FrankOverIP

Ein interessanter Punkt, den ich nicht auf dem Schirm hatte. Ein frühzeitiger Neustart kann natürlich fatal sein.. So gesehen sollte der Neustart sich wirklich Zeit lassen, bis die USV wieder voll da ist. Die Ausgänge sollten solange ausgeschaltet bleiben und dann wieder automatisch aktiviert werden. Ich muss mich mal einlesen, ob die (halbwegs bezahlbaren) Teile von APC das können. Auch wenn das vielleicht kein Kriterium im professionellen Umfeld ist, würde ich das für's Heim schon schätzen. Im Urlaub ist halt keiner da, der mal eben auf den Knopf drückt.