NEWS
[gelöst] BackItUp InfluxDB: 2 Buckets sichern/wiederherst.?
-
Guten Tag,
ich bin mit meiner ioBroker-Installation (Raspi 4, SD-Karte) gerade auf Bookworm umgezogen.
Dabei habe ich Probleme mit der InfluxDB-Restaurierung. Auf dem alten Raspi sind 2 Buckets ("iobroker" und "iobroker-Langzeit") vorhanden. Dementsprechend auch 2 Instanzen des InfluxDB-Adapters.
Beim Sichern per Backitup und anschließendem Restaurieren scheint aber nur der 1. Bucket wieder zurückgespielt zu sein. Die Daten im 2. Bucket sind leer.
Deshalb meine grundsätzliche Frage:
Werden standardmäßig automatisch alle Buckets gesichert, oder muss man dies im Backitup-Adapter separat aufführen? Das hat auch nicht geklappt.
Ich konnte die Daten nur durch ein manuellesinflux backup
und
influx restore
wiederherstellen.
InfluxDB v2.7.5, InfluxDB-Adapter 4.0.2
Update:
Die Daten sind jetzt alle wieder restauriert.
Die Frage bleibt aber, wie man 2 Buckets sichert/restauriert per Backitup-Adapter. -
@iobroker2001 sagte in BackItUp InfluxDB: Wie 2 Buckets sichern/restaurieren?:
Werden standardmäßig automatisch alle Buckets gesichert, oder muss man dies im Backitup-Adapter separat aufführen?
Es werden genau die Buckets gesichert, die du im Adapter angegeben hast.
Die Frage bleibt aber, wie man 2 Buckets sichert/restauriert per Backitup-Adapter.
"Wer nicht nur eine Datenbank sichern will, kann die Option "Sicherung mehrerer Systeme" aktivieren und im Anschluss seine Datenbanken in der Tabelle definieren."
Siehe hier:
https://github.com/simatec/ioBroker.backitup/blob/master/docs/de/backitup.md#influxdb-backup -
@marc-berg Danke, dann mache ich das jetzt wohl richtig.
Meine 2 Influx-Instanzen haben auch 2 Backupdateien geliefert - entsprechend den 2 Buckets:
Ich wollte nun ein Restore der beiden Buckets machen, um den Ernstfall zu proben.
Habe dazu ein SD-Karten-Image von vor 5 Tagen im Raspi gestartet und beginne mit
influxDBxxxxLangzeitxxxx.tar.gz
und versuche es zu restaurieren.
Im Restore-Dialog erscheint dann:Started restore ... [DEBUG] [influxDB] - Created tmp directory [DEBUG] [influxDB] - Start infuxDB Restore ... [DEBUG] [influxDB] - influxdb.0 is stopped [DEBUG] [influxDB] - influxdb.1 is stopped [ERROR] [influxDB] - 2024/02/21 11:30:46 INFO: Restoring bucket "ecd164dc8277c2c5" as "iobroker-Langzeit" Error: failed to restore bucket "iobroker-Langzeit": 422 Unprocessable Entity: bucket with name iobroker-Langzeit already exists [DEBUG] [influxDB] - Try deleting the InfluxDB tmp directory [DEBUG] [influxDB] - InfluxDB tmp directory was successfully deleted [DEBUG] [influxDB] - infuxDB Restore completed successfully [EXIT] influxDB restore done [DEBUG] [influxDB] - influxdb.0 started [DEBUG] [influxDB] - influxdb.1 started
Die Daten wurden nicht restauriert, trotz der Meldung "infuxDB Restore completed successfully".
Das gleiche passiert bei der Restaurierung des Buckets "iobroker".
Was läuft da falsch? In den Einstellungen ist angekreuzt, die alten Daten vorher zu löschen:
-
@iobroker2001 sagte in BackItUp InfluxDB: Wie 2 Buckets sichern/restaurieren?:
Error: failed to restore bucket "iobroker-Langzeit": 422 Unprocessable Entity: bucket with name iobroker-Langzeit already exists
Was läuft da falsch? In den Einstellungen ist angekreuzt, die alten Daten vorher zu löschen:
Das funktioniert leider nicht so wie gedacht. Du müsstest also die Buckets vor dem Restore manuell löschen und darauf achten, dass in der Zeit zwischen Löschen und Restore nicht wieder Daten reinpurzeln, die wiederum das Bucket anlegen würden.
-
@marc-berg Danke für die Hilfe!
Dein vorgeschriebener Weg funktioniert, ich mache es jetzt so (und habe es für mich dokumentiert, für den Fall der Fälle):
Backup wie oben beschrieben, ergibt 2 TAR.GZ-Dateien täglich (je 1 für einen Bucket).
Restore:
- Beide InfluxDB-Adapter stoppen
- Beide Buckets in der InfluxDB löschen, z. B. sehr einfach über die GUI.
- Mit BackItUp-Adapter ein Restore der beiden Buckets nacheinander ausführen.
- Beide InfluxDB-Adapter wieder starten.
Danke!