Backup wiederherstellen ohne Datenverlust

Hallo,

bin noch relativ frisch bei HA und wurschtele mich jetzt so langsam rein, heute habe ich mich mit diversen “vacuum cards” beschäftigt und da einige probeweise aus dem HACS installiert und wieder entfernt.

Am Ende funktionierte die vacuum card dann nicht mehr so, wie sie das beim ersten Versuch getan hatte (mein Roborock wurde nicht mehr erkannt und ich sollte das im YAML händisch eingeben). Da mich das noch überfordert, habe ich auf ein gestriges vollständiges Backup zurückgegriffen und war dann ein wenig genervt, das da dann (natürlich) auch alle aufgezeichneten Sensordaten (Energiedashboard etc.) weg waren. Um das in der Zukunft hoffentlich vermeiden zu können, wollte ich fragen, welche “Dinge” ich denn bei einem “partiellen Restore” dann nicht wiederherstellen sollte (ich gehe davon aus, da bleiben dann die aktuellen Daten vorhanden, die man nicht mit dem Restore überschreibt).

Hoffe ihr könnt mir da weiterhelfen.

Gruß, Jens

Bei einer HA Standard-Installation werden alle Daten in einer SQLite-Datenbank gespeichert und der einfachste Weg nur diese Daten zu sichern und wiederherzustellen ist in dem man einfach die DB-Files sichert. Zu finden unter /homeassistant/
HA_DB_Files

Ja und zwar die Daten die in der Datenbank seit gestern erfasst wurden. Ich bin zwar kein Datenbankexperte, :slightly_smiling_face: aber das “Problem” bei einem Restore, oder auch nur dem zurückschreiben der DB-Files, ist natürlich - sofern man zwischenzeitlich etwas an den Sensoren/Entitäten usw. verändert haben sollte - das sich ggf. die Datenstruktur in der DB verändert hat, weil es jetzt (also z.B. heute) z.B. andere Sensoren gibt die in der DB erfasst werden und diese vielleicht gestern noch nicht da waren. Das Ergebnis kann dann sein das die DB von heute nicht mehr zu dem Backup von gestern passt. D.h. vermutlich ist es keine so gute Idee ein altes Backup mit einer aktuellen DB zu kombinieren.

Stattdessen sollte man m.M.n. lieber vor jeder Änderung ein Backup erstellen und das dann wieder kompl. einspielen falls die Änderung ggf. in die Hose gegangen ist. Wenn man das dann erst morgen oder übermorgen feststellen sollte dann kann man m.M.n. den Verlust von ein paar Aufzeichnungen von Sensordaten durchaus verschmerzen.

Aber vielleicht haben hier ja auch noch andere User andere Ideen/Vorschläge. :slightly_smiling_face:

VG Jim

Hi Jim,

hm… hört sich plausibel an… wäre natürlich ein bisschen schade… klar kann man zur Not auf die Daten verzichten. Schätze die InfluxDB Daten werden genauso zurückgesetzt bei so einem Restore wie die Daten die von HA aufgezeichnet werden, oder?

Die habe ich nämlich schon mal installiert und mitlaufen lassen, obwohl ich noch nicht wirklich etwas damit mache… Aber haben ist besser als brauchen. ^^

Gruß, Jens

Moin,

vorab, ja, Du hast es allgemein gesprochen korrekt verständlich gemacht.

Das Problem ist, dass die SQLite Datenbank eigentlich eine File-Datenbank ist, und die Anbindung über Libraries in einer Applikation erfolgt, nicht wie bei den großen Datenbanken, wo man über Netzwerk, Socket zugreifen kann.
Eine alternative wäre eine Datenbank außerhalb von HA zu erstellen, z. B. eine MariaDB, Postgres, und HA dann dementsprechend umstellen.
Die andere Möglichkeit ist sich ein Testsystem zuzulegen, wenn man HA als VM in Proxmox betreibt, dann kann man das ratzfatz erledigen.
Oder wie schon gesagt, vor Änderungen, wo man den Ausgang nicht kennt, ein Backup machen, dann verliert man nur x Minuten, sollte da mal etwas schiefgehen.

Alle Methoden haben Vor- und Nachteile.

VG
Bernd

P.S.:

Solltest Du die InfluxDB als Add-on in HA installiert sein, ja wenn Du dann das Backup installierst, dann natürlich auch die.
Wobei ich immer mehr dazu tendiere, InfluxDB nicht mehr im Zusammenhang mit HA zu nutzen, denn HA hat eine funktionierende Langzeitstatistik in der eigenen Datenbank. Wenn man HA dann mit einer externen MariaDB verknüpft, dann ist man fein raus und alle Komplikationen, die man mit InfluxDB hat, fallen weg.

in diesem Fall nicht, wenn Du aktuell noch keine Probleme hast, kommen die, wenn die Version, die mit dem Add-on eingespielt wird, Version 1.8, nicht mehr unterstützt wird, und Du dann migrieren musst, zu V 2.7.x, oder sogar, wenn sie denn kommt zur Version 3.x, und auch Dashboards, Panel in Grafana dann angefasst werden müssen, weil sich die Abfragesprache geändert hat.
Also ich würde InfluxDB erst einmal außen vor lassen, die Langzeitdaten in HA selbst sollten 99 % aller Bedürfnisse abdecken, das letzten % lässt sich dann sicherlich auch noch mit den Rekorderfunktion lösen.

Eine weitere Frage zum Thema Backup DB wo ich mir nicht sicher bin!
Habe meine MariaDB extern bzw. ein separater Proxmox lxc.

  1. Ich nehme mal an das dieser bei einem full Backup automatisch gesichert wird?
  2. Und bei einem restore dasselbe?

Der lxc wird natürlich auch mit Prox Backup gesichert!

Gruss

Das kann ich Dir leider nicht sagen. Ich habe im Laufe der Jahre zwar auch schon mal die InfluxDB und MariaDB unter HA genutzt, aber was dann im Fall eines Restores wie passiert kann ich Dir leider nicht sagen.

Wobei man damit das “Problem” von @D4RK1 vermutlich aber auch nicht gelöst hätte. Auch bei einer externen DB weiß man ja nicht was passiert wenn eine alte HA-Version - sprich eine Backup-HA-Version von gestern, vorgestern oder so - dann auf die aktuelleren Daten in z.B. einer MariaDB zugreift. Wie verhält es sich dann mit DB-Einträgen die zwischenzeitlich ggf. von anderen/neueren Sensoren in der DB erfasst wurden. Werden die dann schlicht irgnoriert und was ist mit Sensor-Werten wo der Sensor zwischenzeitlich ggf. einfach nur umbenannt wurde?

Aber wie schon gesagt bin ich kein DB-Experte und daher sind das alles nur irgendwelche Vermutungen von mir. :slightly_smiling_face:

VG Jim

Moin,

soweit mir bekannt, nein. Denn ich glaube nicht, dass HA aus der VM ein Dump auf einem LXC macht, um es dann in einem Backup von HA zu packen.
Das kannst Du aber leicht testen, mach ein Vollbackup von HA aus HA heraus, dann lade Dir das Backup auf einen Rechner und entpacke es und such nach einem MairiaDB Dump.

Nein, denn HA kennt zwar die Verbindung zu Datenbank, aber macht da sicher nicht ein Restore.

Es ist etwas anderes, wenn die MariaDB als Add-on in HA integriert wird, dann wird das natürlich mitgesichert.
Wenn es aber außerhalb von HA läuft, dann bist Du für ein Backup zuständig und nicht mehr HA.

Genau so, in HA gibt es nichts.

nach meinem Verständnis aber schon, denn wenn ich heute um 13 Uhr etwas gemacht habe, z. B. ein zusätzliches Zigbee Gerät integriert habe, dann um 14 Uhr habe ich mir das Dashboard zerschossen und ich spiele das Backup von 5 Uhr morgens ein, dann ist das Zigbee Gerät nicht enthalten und das Dashboard ist auf dem letzten Stand, wenn ich dann das Zigbee Gerät wieder unter gleichem Namen hinzufüge, sind die zuvor schon erfassten Statistikdaten noch in der Datenbank und werde ab dem neu Hinzufügen weiter geschrieben, Du hast dann natürlich einen Versatz von x Minuten, je nachdem wie lange Du brauchst.

Ich fange aber erst an, mir die Developer Dokus durchzulesen, um zu verstehen, was die da wie machen, ob ich es je verstehen werde ist eine andere Frage :slight_smile:

VG
Bernd

Vielen Dank für eure Antworten, leider mir noch alles zu hoch… Ich hatte ursprünglich geplant wie von Simon beschrieben das über Proxmoxx aufzusetzen.
Leider habe ich es weder mit Proxmoxx noch dem HAOS geschafft das irgendwie über das Booten von USB auf den Thinkcentre zu bekommen. Am Ende habe ich dann das HAOS direkt auf die SSD geflashed und damit gings dann. Leider habe ich jetzt so halt kein Proxmoxx drauf.

Zumindest meine ich verstanden zu haben, dass es ohne Proxxmox (o.Ä.) und Installation der DB ausserhalb von HA keine praktikable Lösung gibt um diese “Lücken” zu vermeiden.

Gruß, Jens

Moin,

ok, ein ganz anderes Thema und hat hier mit dem Thread nichts zu tun.
Also entweder Du nutzt die Suchfunktion, denn es gibt zig Threads zum Thema HA Installation unter Proxmox und auch wie man Proxmox installiert.

Nur mal nach Thinkcenter gesucht
https://community.simon42.com/search?q=Thinkcentre

VG
Bernd

Ich glaube da fehlt etwas, sodass ich nicht genau weiß wie und/oder was Du genau sagen wolltest. :slightly_smiling_face:

VG Jim

Moin,

ja, da war der Kopf schon wieder schneller als die Finger :slight_smile:
Ich habe da mal 14 Uhr ergänzt :slight_smile:

Aber es sprengt, glaube ich, das Thema und in der aktuellen Art und Weise, wie das System betrieben wird, ist das ja auch egal, denn das Backup würde immer alles über bügeln.

VG
Bernd

Jepp ich denke auch das sich das Thema “alternatives” Backup/Restore für @D4RK1 erst einmal b.a.W. erledigt hat, sodass wir hier glaube ich nicht mehr weiter darüber diskutieren brauchen was bei welcher DB bei einem Restore (damit) passiert. Mal ganz abgesehen davon das ich weiter oben ja eh schon geschrieben hatte wie ich das machen würde und auch mache. Sprich so:

VG Jim

Ich denke auch, das man entweder an der Instanz herum experimentiert und der Verlust von ein paar Sensor Daten kein Problem darstellt oder man eine zweite Instanz nutzt, um zu experimentieren und die produktive Instanz nicht zu beeinträchtigen.

Am offenen Herzen neue Dinge ausprobieren kann man machen, darf sich aber nicht wundern, wenn der Patient hinterher tot ist. :wink:

Und wenn das Backup ohnehin eingespielt wird, weil man nicht bereit ist die Arbeit in die Korrektur von YAML zu stecken, können die Daten ohnehin kaum relevant gewesen sein.