NEWS
Influxdb 1.8 & 2.6 - Alle Daten nach Neustart weg
-
Nabend zusammen,
ich habe vor geraumer Zeit versucht, bei meinerm Docker/Portainer Influxdb 1.8 auf 2.6 upzugraden, bin aber kläglich gescheitert.
In der Folge habe ich Influx 2.6 parallel installiert und beide Versionen jetzt eine Zeit lang nebeneinander laufengelassen, um z.B. in Grafana die Dashboards anzupassen. Klappte soweit auch ganz gut.
Heute war wegen Neuverkabelung ein Neustart nötig und alle aufgezeichneten Datenpunkte nach dem 19.03. sind in beiden Datenbanken verschwunden. Alles davor ist noch da.
Nach einem Neustart fängt Grafana zB bei 0 an und zeigt mir die neu aufgezeichneten Datenpunkte. Nach dem nächsten Neustart, sind die auch wieder weg und alles geht von vorne los. Mit Ausnahme der Daten vor dem 19.03.
Ich hätte jetzt als erstes vermutet, die Volumes/Binds im Docker/Portainer sind fehlerhaft, aber warum plötzlich bei beiden Datenbanken in separaten Containern und warum sind dann die Daten vor dem 19.03. noch da?
Ist zufällig jemand Erfahrenes diesbzüglich da und hätte nen Tip für mich?Gruß und Dank,
Marian -
Reboote/beende ich die einzelnen Container InfluxDB 1.8, InfluxDB 2.6, ioBroker oder auch Grafana läuft alles tadellos weiter. Das Problem tritt nur auf, wenn ich das Host-System, also den Raspi, neu starte.
-
@t-147 sagte in Influxdb 1.8 & 2.6 - Alle Daten nach Neustart weg:
Reboote/beende ich die einzelnen Container InfluxDB 1.8, InfluxDB 2.6, ioBroker oder auch Grafana läuft alles tadellos weiter. Das Problem tritt nur auf, wenn ich das Host-System, also den Raspi, neu starte.
Das hört sich nach einem Readonly Filesystem an. Ggf. SD defekt?
-
@marc-berg
Guter Tip, danke.SD wird keine benutzt, sondern ein USB-Stick und eine SSD für die Daten.
Und die SSD scheint tatsächlich Probleme zu haben: ich kann auf die Verzeichnisse so oft ich will die Schreibrechte ändern/anpassen, nach jedem Neustart ist das wieder zurückgesetzt.
InfluxDB 2.6 speichert auch keine Settings wie die Retention für den Bucket oder neu erstellte API Tokens... -
-
@thomas-braun said in Influxdb 1.8 & 2.6 - Alle Daten nach Neustart weg:
dmesg -T | grep -i ext4
sagt?
[Mi Mär 29 23:32:33 2023] EXT4-fs (sda1): recovery complete
[Mi Mär 29 23:32:33 2023] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none."recovery complete" bestätigt schon mal Probleme mit dem Filesystem.
Ich hab zwischenzeitig mal alle Daten von der SSD auf nen USB-Stick kopiert und den stattdessen entsprechend gemountet. Damit bleiben die Daten auch nach mehreren Neustarts wieder erhalten.
Euch schon mal herzlichen Dank für die Tips
Die SSD und ihr Dateisystem schau ich mir morgen in Ruhe an.Gruß,
Marian -
Da muss davor noch mehr stehen. Und bitte Konsolenoutput in CodeTags setzen. Liest sich besser.
Das Dateisystem auf dem Datenträger ist aber mit ziemlicher Sicherheit fratze.
-
@t-147 sagte in Influxdb 1.8 & 2.6 - Alle Daten nach Neustart weg:
ich habe vor geraumer Zeit versucht, bei meinerm Docker/Portainer Influxdb 1.8 auf 2.6 upzugraden, bin aber kläglich gescheitert.
In der Folge habe ich Influx 2.6 parallel installiert und beide Versionen jetzt eine Zeit lang nebeneinanderwas bedeutet das genau?
Ich habe installiert
ich versuchte upzudatendocker images verwendet man nicht als VMs
man installiert auch in einem container nix,
ausser man definiert es in einer datei dockerfile, welches die basis und den aufbau eines images beschreibt.
(wenn man weiß was man tut kann man das schon machen, aber nach einem rebuild sind die Änderungen weg)installieren bei docker bedeutet, man sucht sich auf dockerhub ein passenden container, idealerweise vom hersteller oder eines anderen vertrauenswürdigen anbieters
wie bspw sowas
https://hub.docker.com/r/grafana/grafana/
oder
https://hub.docker.com/_/influxdbdefiniert dann für die empfohlenen volumes ein mapping auf die festplatte, so das die beweglichen daten nicht verloren gehen und auch von da sicherbar sind
wenn man die software updaten möchte aktualisiert man das image. da wird dann das dockerfile heruntergeladen und gemäß den anweisungen das image komplett neu aufgebaut. alles was im image gespeichert ist ist dann weg (meist logfiles des betriebssystems etc)
hier der grobe ablauf für alle docker container
Step 1: Check current image version. ...
Step 2: Stop the container. ...
Step 3: Remove the container. ...
Step 4: Pull your desired image version. ...
Step 5: Launch the updated container. ...
Step 5: Verify the update.
normalerweise ist das in wenigen minuten erledigt. das längste ist immer der download des/der images.die im dockerfile vordefinierten volumes, auch wenn man sie nicht gemappt wurden sind dann im volumes verzeichnis von docker (irgendwo unter /var/docker
im portainer kann man die unter dem reiter volumes abrufen, sind aber meist sehr kryptisch bezeichnet.wie gesagt mit einer shell hat man IM docker container eigentlich nix zu suchen, ausser man weiß was man tut
-
@oliverio
Danke für deine ausführliche Kritik an diversen Begrifflichkeiten.
Ich bin vermutlich noch nicht so lange auf Linux und mit Docker unterwegs wie du, daher vielen Dank für diese umfangreiche Lehrstunde.Aber ich wollte nichts "updaten" sondern "upgraden" wollte, denn dazu gibt es bei InfluxDB sogar eine entsprechende Dokumentation, auch für Docker-Container. Hat bei mir leider nicht funktioniert. Denn von InfluxDB 1.8 auf 2.6 is nichts mit einfach "neues Image"
Außerdem wollte ich nichts in einem Container installieren.
Wie du auch lesen konntest bestand das Problem in der Tat nicht in meiner Config, sondern die SSD war das Problem.Bei InfluxDB 1.8 musste man übrigens noch mit der Shell IN den Container, andernfalls konnte man die Datenbank und deren User gar nicht einrichten. Zumindest hab ich keine anderen Wege gefunden.
Aber wenn ich mal ne Docker-Frage hab, schreib ich dir gern ne Nachricht, du scheinst dich ja bestens auszukennen.
-
[Mi Mär 29 23:27:54 2023] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd _bcm2835.enable_hdmi=1 smsc95xx.macaddr=E4:5F:01:DA:44:30 vc_mem.mem_base=0x3eb00000 vc_mem.mem_size=0x3ff00000 co nsole=ttyS0,115200 console=tty1 root=PARTUUID=71abe4b7-02 rootfstype=ext4 fsck.repair=yes rootwait [Mi Mär 29 23:27:57 2023] EXT4-fs (sdb2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none. [Mi Mär 29 23:27:57 2023] VFS: Mounted root (ext4 filesystem) readonly on device 8:18. [Mi Mär 29 23:28:00 2023] EXT4-fs (sdb2): re-mounted. Opts: (null). Quota mode: none. [Mi Mär 29 23:28:04 2023] EXT4-fs (sdc1): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none. [Mi Mär 29 23:32:33 2023] EXT4-fs (sda1): recovery complete [Mi Mär 29 23:32:33 2023] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
Das ist die vollständige Ausgabe. sda1 ist die SSD, sdb1 und sdb2 sind der USB-Stick zum Booten und sdc1 ist der USB-Stick als Ersatz.