Umzug einer FHEM Installation mit configDB und DBlog auf anderen Rechner

Begonnen von Pyrphoros, 17 September 2017, 22:37:41

Vorheriges Thema - Nächstes Thema

Pyrphoros

Hallo,

erst einmal ein Hallo an alle Mitglieder hier und auch ein Danke an alle. Ich lese hier schon eine ganz Weile in aller Stille mit und mir wurde hier schon öfters geholfen.

Ich bin die letzten Tage allerdings schier Wahnsinnig geworden. Leider habe ich trotz allen stöbern hier im Forum nichts gefunden, also frage ich jetzt einfach mal.

Ausgangssituation:
Ich wollte meine funktionierende FHEM Installation nach Docker umziehen. Soweit so gut, Docker läuft mittlerweile mit FHEM drinnen, nur nicht ganz so wie ich wollte.
Ich muss dazu sagen ich benutze sowohl die configDB als auch DBlog auf MySQL zum halten der Daten, was auch bisher tadellos funktioniert hat.
Blauäugig wie ich war habe ich angenommen, das ich mittels einer Sicherung das System einfach umziehen kann, aber das funktioniert leider nicht.
Ich habe die configDB.conf sowie die db.conf angepasst und habe die Datenbank im DockerContainer neu installiert und einen Restore gefahren. FHEM startet mit folgender Meldung:

looking for table: fhembinfilesave
testing: #1
found: `configDB`.`fhemb64filesave`
found: `configDB`.`fhemconfig`
found: `configDB`.`fhemstate`
found: `configDB`.`fhemversions`
table not found


und beendet sich sofort danach wieder. Keine weiteren Meldungen, nichts. (nebenbei, die Meldung "table not found" irritiert total bis ich endlich im Forum herausgefunden habe das die wohl normal ist). Ich habe dann angefangen schleifen zu drehen, sprich:

  • ohne Datenbank starten -> klappt
  • nur mit DBlog -> klappt
  • mit frischer configDB -> klappt
  • und so weiter ..
Um das ganze etwas abzukürzen, es haut mit beiden Datenbanken einfach nicht hin. Irgendetwas scheint in der configDB drinnen zu stehen was das System augenblicklich wieder stoppt.
Ich war auch nicht in der Lage "verbose" auf 5 zu setzen. Ich habe das dann von Hand in der Datenbank gemacht, hat aber nichts bewirkt.
Ohne Docker konnte ich ein neues FHEM mit der configDB starten, nur die DBlog konnte ich nicht aktivieren, weil in der alten Datei als host der localhost angegeben war, nur mittlerweile sollte da eine IP stehen. Auf dem Dateisystem habe ich alles korrekt geändert, nur die Änderungen ziehen nicht.
Ich habe es direkt im LogDevice mit rereadcfg probiert, habe in der configdb die db.conf gelöscht und neu importiert. Hatte den gleichen Effekt als ob in China ein Sack Reis umkippt.
Ich gehe mal stark davon aus, das der Fehler zwischen meinen Ohren liegt, aber ich komme einfach nicht darauf. Nach dem Roman meine Fragen:

  • Wie bekomme ich geänderte Datenbank Parameter für die DbLog in die configDB?
  • Was könnte FHEM so schlagartig ohne Fehlermeldung beendet haben wenn ich meine alte configDB benutze, mit einer leeren hat es ja funktioniert.

Ich hoffe mal meine Schilderung war nicht zu wage, aber ich habe keine Logs (außer dem Schnipsel oben) welche ich hier anhängen könnte.

Ich hoffe einer von Euch hat eine Idee.

Gruß
Oliver

Pyrphoros

Ist meine Frage so schräg? Hat vielleicht jemand eine Idee?

Besonders würde mich interessieren wie ich die DBlog Konfiguration in der configDB ändern kann, über das Dateisystem funktioniert es zumindest nicht.

Gruß
Oliver

Amenophis86

Ich meine es gab mal einen ähnlichen Thread, wo configDB und DBLog sich gegenseitig behindert haben. Ansonsten kannst du zB Betateilchen, als Maintainer von configDB, oder DS_Starter, als mit Maintainer von DBLog, auf den Thread aufmerksam machen.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

KillRob

Hallo,

ich hatte ein ähnliches Verhalten als ich nach configDB migriert habe. Ich wollte MySQL und nicht SQLlite.
DBlog lief ohne Problem. Dafür gab es auch ein SQL-File zum erstellen der Datenbank und Tabellen.
configDB legt seine Struktur selbst an. Man muss nur die DB vorher erstellen und hier ist mir ein kleiner, inzwischen korrigierter, Fehler unterlaufen:
Zu wenig rechte auf der configDB. FHEM schmiert sofort ab und hat nicht eine Zeile im LOG hinterlassen :-(

Eine Frage zu deiner Docker Config:
Du verwendest IPs? 172.17.x.y ?
Die IPs sind dynamisch. Es sollte lieber mit "--link" und der Kennung der DB laufen. So habe ich zumindest betreibe ich meine Web-Seiten...

Gruß
Robert

Pyrphoros

Meine Rechte auf den Datenbanken funktionieren bei mir, das ist kein Problem. Bis vor dem Umzug hat ja alles funktioniert, nur die Migration wollte nicht.
Mittlerweile läuft alles tadellos auf Docker, nur musste ich die Konfiguration halt manuell übertragen, das war ein gigantischer Aufwand, bei mir ist recht viel drinnen.

Was nach wie vor aussteht ist das Ändern der DBlog Konfiguration in der configDB. Das muss doch irgendwie möglich sein.

Was Docker betrifft, die Container laufen in einem eigenen Netzwerk und werden dort über die Container Namen referenziert, das funktioniert auch famos, keine Probleme damit.

Danke für den Hinweis, ich werde versuchen dort einmal nach zu fragen. Nur wie kann ich betateilchen auf diesen Thread aufmerksam machen?

Amenophis86

Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

CoolTux

PM geht bei Udo nicht, musst ne Mail senden. Einfach bei Udo seinem Profilbild auf den Briefumschlag klicken.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Amenophis86

Und ich dachte er hat PM wieder aktiviert. Hab extra geschaut bei ihm und gesehen, dass ich drauf klicken kann. Gerade mal getestet, Block Info kommt erst, wenn man auf senden klickt :) Aber ja, Email geht.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

DS_Starter

Nur mal als Idee, configDB habe ich nicht im Einsatz und kann es nicht testen.
Reicht nicht das geänderte db.conf in configDB neu zu mportieren ?

configdb fileimport ./db.conf

Grüsse
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Pyrphoros

leider hat das mit

configdb fileimport ...

nicht funktioniert, ich hatte sogar vorher die db.conf in der DB gelöscht, auch mittels des configdb Befehls. Nix zieht.

Ich probiere es mal via Email bei Betateilchen, ich hoffe er hat eine Idee, das kann so schwer ja nicht sein.

Gruß
Oliver

betateilchen

#10
Den Thread verfolge ich schon eine ganze Zeit, aber es sind einfach viel zu wenig Informationen, um wirklich helfen zu können.

Zitat von: Pyrphoros am 22 September 2017, 21:27:28
leider hat das mit
configdb fileimport ...
nicht funktioniert,


  • Was hat daran nicht funktioniert?
  • Konnte die Datei nicht importiert werden?
  • Gab es eine Fehlemeldung? Wenn ja - welche?
  • Wie sieht die DEF des dblog-devices aus?
  • Was liefert die Ausgabe von "configdb filelist"?
  • ...

Grundsätzlich haben configDB und DbLog datenbankseitig nichts miteinander zu tun, deshalb können sie sich auch nicht gegenseitig blockieren, wie hier im Thread schonmal vermutet.




Und das hier:

Zitat von: KillRob am 20 September 2017, 08:59:49
Zu wenig rechte auf der configDB. FHEM schmiert sofort ab und hat nicht eine Zeile im LOG hinterlassen :-(

erklärt sich durch ein bisschen Nachdenken von selbst. In welches LOG sollte FHEM irgendwas protokollieren, wenn während des Starts irgendwas schiefgeht und zu diesem Zeitpunkt logischerweise noch gar keine Log-devices existieren können...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

KillRob

Ich widerspreche nur ungern, aber wenn auf der configDB zu wenige Rechte sind und logDB schon seit Tagen funktioniert... und wie hier vom Entwickler geschrieben:
    Grundsätzlich haben configDB und DbLog datenbankseitig nichts miteinander zu tun, deshalb können sie sich auch nicht gegenseitig blockieren, wie hier im Thread schonmal vermutet.

Könnte man mit ein bisschen Nachdenken darauf kommen, dass FHEM in logDB eine Fehlermeldung schreibt!

betateilchen

oh, ein Popcorn-Thread, in dem mal wieder jeder meint, alles besser zu wissen. Na dann...

Dafür ist mir im Moment aber meine Zeit zu schade. Da geh ich lieber weiter Umzugskisten packen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Pyrphoros

Zitat von: betateilchen am 23 September 2017, 12:45:13
oh, ein Popcorn-Thread, in dem mal wieder jeder meint, alles besser zu wissen. Na dann...

Dafür ist mir im Moment aber meine Zeit zu schade. Da geh ich lieber weiter Umzugskisten packen.

Hi,

tut mir leid, ich weiß es wirklich nicht besser und ich habe die Anfrage ja ursprünglich gestellt.
Vergessen wir mal die Problem mit dem Umzug auf Docker, leider kann ich Dir keine weiteren Informationen geben, da ich wirklich keine habe. Das mit der configDB habe ich dadurch gelöst, das ich einfach eine neue erstellt habe und meine Daten von Hand übertragen, das läuft jetzt auch unter Docker vorzüglich. Ich habe zu dem Zeitpunkt noch mit IP Adressen gearbeitet. Für die configDB bin ich die bereits los geworden, nur für das Blog bekomme ich einfach nicht den Hostnamen statt der IP gesetzt.
Ich habe eine neue db.conf in das System Verzeichnis kopiert, die ist da und erhält die richtigen Daten.
Ich habe mit den configDB Befehlen fileimport die neue db.conf importiert und durchgestartet -> nix
Ich habe mittels der configDB Befehle die db.conf gelöscht, durchgestartet und danach neu importiert und wieder durch gestartet -> wieder nix

Der DbLog Eintrag in FHEM zeigt unter dbconn stets den selben Eintrag:
dbconn: mysql:database=fhemLogDB;host=192.168.100.12;port=3306

Es muss doch eine Möglichkeit geben diesen Eintrag zu ändern. Wie ich schon sagte, wahrscheinlich liegt der Fehler zwischen meinen Ohren. Hast Du bitte eine Idee wie ich das geändert bekomme ohne persönlich bei der Datenbank vorbei zu schauen und es von Hand zu ändern?

Da Du umzuziehen scheinst, alles Gute dafür.

Gruß
Oliver

DS_Starter

Hallo Oliver,

bis das eigentliche Problem gelöst ist, könnte ich dir anbieten eine DbLog-Version zur Verfügung zu stellen, bei der du über ein Attribut das Lesen der db.conf aus dem Dateisystem erzwingen könntest.
Dann hättest du zumindest erstmal die Möglichkeit die db.conf im Dateisystem so anzupassen wie benötigt, zu testen und in die DB zu loggen bis die Ursache bzw. Lösung für das eigentliche Problem gefunden ist, bzw. betateilchen den Umzugsstress hinter sich gelassen hat.

Wenn du das möchtest bzw. für dich sinnvoll ist, würde ich mich da mal dransetzen.

Grüße
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter