Influxdb mit persistenten Speicher nachrüsten

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

diba

Benutzer
Registriert
23. Okt. 2021
Beiträge
3
Reaktionspunkte
0
Punkte
1
Hallo an alle,
ich habe folgendes Problem, ich hatte vor einiger Zeit einen Docker Container mit Influxdb 1.8.4 aufgesetzt. Das funktioniert auch gut. Ich habe allerdings den Fehler gemacht, daß ich keinen persistenten Spicher nach Anleitung erstellt habe. Nun möchte ich einen neuen Container erstellen und die Daten in den neuen richtig angelegten Container umsetzen. Kann mir jemand einen Tipp geben wie ich das mache??

Gruß Dirk
 
die Dokumentation unter https://hub.docker.com/_/influxdb lesen und ein lokales Verzeichnis auf das Influx Dataverzeichnis mounten, z.B. -v /volume1/docker/influxdb:/var/lib/influxdb
 
Ich verstehe den OP so, dass die Daten im Container gelandet sind und eben nicht in einem Verzeichnis in das ein Volume-Bind gemapped ist
Die bisherigen Daten müssen auf irgendeinem Weg konsistent aus dem Container "rauskopiert" werden.

Wenn einem egal ist, ob die Daten konsistent sind, dann könnte man versuch bei laufendem Container die Daten mit docker cp aus dem Container auf den Host zu kopieren. Allerdings haben gerade Datenbankdateien die angewohnheit ihre Dateien "offen" zu halten, so dass eine kopie dann im Zweifel unvollständig oder gar kaputt ist - mit Glück funktioniert es ja vielleicht.

Sauberer wäre es die Daten aus dem copy-on-write-layer Container rauszukopieren.

Schau mal bei ausgeschaltetem Container in Verzeichnis, dass bei sudo docker inspect ${container name oder id} --format '{{.GraphDriver.Data.MergedDir}}' als Rückgabe zurückkommt. An das Verzeichnis kommt man dann natürlich auch nur als root (sudo -i). Dort solltest Du das Influx-Datenverzeichnis auch irgendwo finden und kannst es dir dann rauskopieren.

Das ganze klappt aber nur, wenn Du grundlegende Dinge auf der (SSH) Shell hinbekommst, wie root werden, Verzeichnisse anlegen und Dateien rekursiv kopieren.
 
  • Like
Reaktionen: geimist
Die grundlegenden Dinge in der shell bekomme ich hin. Allerdings ist mir der gesamte Befehl mit den geschweiften Klammern nicht so klar. Muß der Befehl genau so in die shell eingegeben werden? Natürlich die Container id von meinem Container. Oder ist da noch was zu beachten. Sorry für die Fragen.
 
Der Befehl muss in einer Zeile eingegeben werden. Natürlich muss der Platzhalter dabei durch die echte ContainerId ersetzt werden.

Was man zurück bekommt ist den Ort an dem das "zusammengesetzte" Dateisystem (aus Image-Layern + Schreibschicht des Containers selbst) liegt.
Natürlich sollte der Container dazu ausgeschaltet sein, sonst haut es mit der Datenkonsitenz wieder nicht hin.
 
Vielen Dank erst einmal. Ich werde es mal ausprobieren und melde mich dann nochmal zurück.

Gruß Dirk
 
Wie andere Datenbanken kann auch influxdb Backups.
Also mounte dir ein Temp Verzeichnis im alten Container rein, geh in den Container und dann mach dort ein Backup rein.

Neuen Container mit Data bzw. Config Verzeichnis nach außen mounten. DB starten, config ggf. anpassen und dann Backup einspielen.

Alles andere macht ja keinen konsistenten Zustand wenn du was rauskopiert während der Container läuft.
 
  • Like
Reaktionen: geimist und haydibe
Alles andere macht ja keinen konsistenten Zustand wenn du was rauskopiert während der Container läuft.
Jepp. Wobei mein Vorschlag war es aus dem vom Graphdriver bereitgestellten Verzeichnis zu ziehen wenn der Container aus ist - das sollte generisch funktionieren. Ein Backup aus der Anwendung heraus ist natürlich deutlich besser und jederzeit vorzuziehen.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat