configDB und Verbindungsabbrüche

Begonnen von cbl, 10 März 2025, 07:51:38

Vorheriges Thema - Nächstes Thema

cbl

Ich bin gerade dabei, meine Backuplösung (Bacula(ris)) zu modernisieren und habe eine noch nicht identifizierte/ eingegrenzte Störung zwischen FHEM und Bacula(ris), während Backups laufen, die auf dem Raspberry Pi 3, auf dem auch die FHEM-Datenbank läuft, auf die angeschlossene Festplatte geschrieben werden.
Der MariaDB-Server bekommt dabei offenbar kurz Schluckauf. FHEM stürzt darüber ab:

DBI connect('database=fhem_config;host=dbserver.fritz.box;port=3306','fhem_config',...) failed: Lost connection to MySQL server at 'reading authorization packet', system error: 104 at configDB.pm line 747.
Gibt es eine Chance, configDB etwas toleranter zu kurzzeitigen Serverunerreichbarkeiten zu machen, den Fehler abzufangen und einen erneuten Verbindungsaufbau zu versuchen?
(Dass das Urproblem vermutlich bei Bacula liegt, weiß ich. Dort werde ich eingrenzen müssen, weshalb der Server kurzzeitig lahm gelegt ist.)


Viele Grüße
Christian

betateilchen

Zitat von: cbl am 10 März 2025, 07:51:38Gibt es eine Chance, configDB etwas toleranter zu kurzzeitigen Serverunerreichbarkeiten zu machen,

Vermutlich nicht. configDB baut überhaupt nur dann eine Verbindung zum Datenbankserver auf, wenn es wirklich notwendig ist, um dort etwas zu lesen oder zu schreiben, danach wird die Verbindung wieder abgebaut.

Warum eine Verbindung gebraucht wird, kann die unterschiedlichsten Ursachen haben. Zum Beispiel möchte das Modul eventTypes zu nicht vorhersagbaren Zeitpunkten Daten schreiben oder ein SVG-device möchte sein gplot File lesen, um eine grafische Darstellung aufzubereiten.

Die entsprechenden Module erwarten eine synchrone Verarbeitung, weil sie selbst gar nicht zwischen fhem.cfg und configDB unterscheiden müssen und genau wegen diesem transparenten Verhalten muss configDB von einer permanenten Verfügbarkeit des Datenbankservers ausgehen können.

Deshalb kann ich das nicht in configDB abfangen und verzögern.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

cbl

#2
Ich habe nun etwas weitergeschaut und testweise die Datenbank auf einen anderen Rechner verschoben. Ich kann damit nun ausschließen, dass der Server, auf dem MariaDB läuft, beeinträchtigt ist vom laufenden Backup. Der Fehler bleibt der gleiche wie im Originalposting.

Das Problem liegt also auf dem Rechner, auf dem FHEM läuft und die Quelle des Backups ist. Die Datenrate habe ich auf 1MB/s beschränkt. Damit fällt das Backup im laufenden Betrieb nicht auf.
Kann ich irgendwie weiter eingrenzen, was diesen Verbindungsabbruch provoziert? Die Logs sind leer bis auf diesen Eintrag aus dem FHEM.log.

Viele Grüße
Christian


P.S.:
DIese Meldung im FHEM.log ist übrigens die einzige, die keinen Timestamp und Loglevel davor trägt.

betateilchen

Zitat von: cbl am 11 März 2025, 11:31:25DIese Meldung im FHEM.log ist übrigens die einzige, die keinen Timestamp und Loglevel davor trägt.

Logisch, die Meldung kommt ja auch nicht aus FHEM, sondern aus der Betriebssytemebene.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!