NEWS
Aus Docker InfluxDB mit Adapter Backitup sichern
-
Hallo zusammen,
nach tagelangem erfolglosen rumprobieren nun mein Hilferuf an euch: Ich komme nicht mit dem Adapter Backitup an meine InfluxDB Daten.
ioBroker V6.3.5
Docker auf Synology NAS
Gemountete Pfade in Docker:
Die Daten liegen auch brav außerhalb des Container auf der NAS:
"guest" hat rw Berechtigungen auf den Ordner:
Einstellungen im Backitup - Interface:
Das Backup von ioBroker läuft auch brav durch, nur an die Daten von InfluxDB komm ich nicht ran, egal welche Pfad-Kombinationen ich im Backitup Adapter auch angebe.
Started iobroker ... [DEBUG] [iobroker] - host.iobroker 7481 states saved [DEBUG] [iobroker] - host.iobroker 8272 objects saved [DEBUG] [iobroker] - Backup created: /opt/iobroker/backups/iobroker_2023_07_25-09_37_21_backupiobroker.tar.gz [DEBUG] [iobroker] - done [DEBUG] [influxDB] - InfluxDB-Backup started ... [DEBUG] [influxDB] - Start InfluxDB Backup ... [DEBUG] [influxDB] - InfluxDB Backup tmp directory created [DEBUG] [influxDB] - Try deleting the InfluxDB tmp directory: "/opt/iobroker/backups/influxDB_2023_07_25-09_37_33_backupiobroker" [DEBUG] [influxDB] - InfluxDB tmp directory "/opt/iobroker/backups/influxDB_2023_07_25-09_37_33_backupiobroker" successfully deleted [DEBUG] [influxDB] - [ERROR] [influxDB] - Error: Command failed: "/volume1/docker/influxdb/data" backup --bucket iobroker_0 --host http://192.168.0.6:8086 -t [ausgeblendetes Token] "/opt/iobroker/backups/influxDB_2023_07_25-09_37_33_backupiobroker" /bin/sh: 1: /volume1/docker/influxdb/data: not found
Könnt ihr mir als blutigem Linux-Anfänger helfen, hier eine Lösung zu finden? Ich bin ja gerade dabei, ioBroker auf eine dedizierte Proxmox-Maschine umzuziehen und mir fehlt im Grunde nur noch die Datenbank.
-
Der Backitup Adapter benötigt das Binary/Programm "influx", um das Backup einer InfluxDB 2.x erstellen zu können. Den Pfad zum Binary muss du hier angeben, falls es nicht im Standardpfad liegt:
Stattdessen hast du hier den Pfad zu den Daten(?) angegeben.
Wie man "influx" in einen Container installiert, ist hier im Forum auch schon oft diskutiert worden, einfach mal suchen.
-
Ja, das hatte ich auch schon probiert mit dem Pfad "/var/lib/influxDB"
Der ist auch im Container gemappt. Es kommt trotzdem die Fehlermeldung[ERROR] [influxDB] - Error: Command failed: "/var/lib/influxdb2" backup --bucket iobroker_0 --host http://192.168.0.6:8086 -t 1e6FDxlS7FbdUeANMfo0lug8QS2IYHLGmWPM8EGqKqwnoB6PF5s0chQEeS65tzTDXWn1z5PtxVZgHfJUs4b_KA== "/opt/iobroker/backups/influxDB_2023_07_25-10_55_08_backupiobroker" /bin/sh: 1: /var/lib/influxdb2: not found
-
Mit
which influxdb
kann man schauen ob und wo das Programm im Path liegt.
Jedenfalls wenn es kein Docker ist. Ob es da so funktioniert weiß ich aber ehrlich gesagt nicht. -
@markus-7 sagte in Aus Docker InfluxDB mit Adapter Backitup sichern:
Könnt ihr mir als blutigem Linux-Anfänger helfen, hier eine Lösung zu finden?
Moin,
Grundwissen:
- Datenbanken bestehen, aus zwei Komponenten
- dem Datenbankmanager (mariaDB, influxDB (influxd)
- einem Client, der auf die Datenbank zugreift, z.B.
mariadb-client
,influxDB(1/2)-client
, oder - eine API, die der Datenbankmanager zur Verfügung stellt
- Man greif nie, nie, niemals direkt auf Files (Dateien) zu, die ein Datenbankmanager irgendwo hinlegt.
In Deinem Fall sieht das jetzt so aus
ioBroker
Docker Container- Adapter für den schreib/lese Zugriff -> influxdb
- Adapter um die
ioBroker
Konfiguration usw. zu sichern -> BackitUp
- der Adapter
BachitUp
soll auch die DatenbankinfluxDB
sichern, dazu- greift er aber nicht auf den
influxDB
Adapter zu, sondern - er nutzt das
influxDB(1/2)-Client
Program, das Du vorher, noch auf demioBroker
Container installieren musst und einer zusätzlichen Variable, die Du beim Bau des Containers mit angeben musst, sieheConfigure ioBroker application: IOB_BACKITUP_EXTDB (optional) Set true for backing up external databases in ioBroker backitup adapter (Make sure your have read the docs)
Configure environment: PACKAGES (optional) Install additional linux packages to your container, packages should be separated by whitespace like this: package1 package2 package3.
- greift er aber nicht auf den
Beim Paket ist entweder anzugeben,
- influxdb-client -> wenn es eine `influxDB V1.x ist
- influxdb2-client -> wenn es eine `influxDB v2.x ist
Diese beiden Pakete installieren das
influxDB-client
Programinflux
in DeinenioBroker
Container, das wieder um derBackitUp
Adapter nutzt um die Backups zu machen.Dann ist hier ein grober Fehler drin, lies mal genau was da steht
Sehe gerade, dass Da schon andere dran sind
VG
Bernd - Datenbanken bestehen, aus zwei Komponenten
-
@dp20eic
Danke Bernd für deine Hinweise, nur bin ich schon zu doof um in der Docker-Shell das Paket influxdb2-client zu installieren:
root@iobroker:/opt/iobroker# apt-get install influxdb2-client Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package influxdb2-client root@iobroker:/opt/iobroker#
Ich glaube, ich schmeiß den Umzug der DB über Board und fange auf Proxmox nochmal bei 0 an. Bin jetzt seit Tagen am Probieren und komme nicht wirklich weiter.
-
@markus-7 sagte in Aus Docker InfluxDB mit Adapter Backitup sichern:
@dp20eic
Danke Bernd für deine Hinweise, nur bin ich schon zu doof um in der Docker-Shell das Paket influxdb2-client zu installieren:
root@iobroker:/opt/iobroker# apt-get install influxdb2-client Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package influxdb2-client root@iobroker:/opt/iobroker#
Ich glaube, ich schmeiß den Umzug der DB über Board und fange auf Proxmox nochmal bei 0 an. Bin jetzt seit Tagen am Probieren und komme nicht wirklich weiter.
Moin,
das tut man so auch nicht, lies Dir mal die Dokumentation https://docs.buanet.de/iobroker-docker-image/docs/#getting-started durch, dann siehst Du, dass Du das während des Docker Bauens schon machen musst.
Grundlagen:
- Docker sind von sich aus dumme Gefäße, die nur das mitbringen, was sie zum Betrieb brauchen, alles andere, wie z. B. Updates der Pakete, geänderte Konfigurationen, sind da nicht vorgesehen, denn auch Docker ist ein Industriestandard, da soll man nicht in den einzelnen Docker Containern herumhantieren und alles kaputt machen.
- Wenn es Änderungen für das eingesetzte Docker-Image gibt, dann kommt das immer komplett neu und muss neu Deployed/gebaut werden
- deswegen gibt es einen persistenten Bereich, der vom neuen Docker-Image nicht überschrieben wird, den es aber wieder einbindet und Du somit Deine Daten nicht verlierst.
VG
Bernd -
@markus-7 sagte in Aus Docker InfluxDB mit Adapter Backitup sichern:
Ich glaube, ich schmeiß den Umzug der DB über Board und fange auf Proxmox nochmal bei 0 an. Bin jetzt seit Tagen am Probieren und komme nicht wirklich weiter.
Moin,
das wird Dir aber auch nicht viel helfen, wenn Du Dir nicht die Grundkenntnisse aneignest, Du verschiebst die Probleme nur auf eine andere Plattform.
Gib nicht auf. Ich behaupte, 90 % der hier Anwesenden haben einen ähnlich steinigen Weg beschritten.
Wichtig ist, wirklich mal in die Dokumentation zu schauen, die wird ja meist nicht aus purer langen Weile geschrieben
Wenn man dann etwas nicht versteht, entweder ausprobieren, oder hier nachfragen, bevor man anfängt etwas zu verwursten.VG
Bernd -
@dp20eic
Naa, aufgeben ist nicht so mein Ding, keine Sorge
Ich versuche eigentlich immer mich einzulesen, schaue dazu Videos, probiere viel, lese wieder und komme dann mit fragen hier an. War schon ganz stolz, dass ich über die Shell jetzt in Proxmox Maschinen aufsetzen und in Teilen auch konfigurieren kann. Und es wird jeden Tag besser. Aber wenn ich tagelang an dem Thema hänge, bin ich leider auch irgendwann frustriert, da ich es mir nicht so schwierig vorgestellt hätte.
Gestern hat ein Freunde es noch hinbekommen, ein manuelles Backup der Datenbank zu ziehen und auf der neuen Maschine einzuspielen. Wäre bloss schön gewesen, wenn ich quasi nahtlos die Daten direkt über ioBroker hätte migrieren können.
Bin mir sicher, hier mich Hilfe von euch noch eine Menge zu lernen - das motiviert mich natürlich auch