====== Speichermedium defekt ====== ====== Defekte SD-Karte/USB-Stick/... ====== __Ausgangssituation:__ influxdb wurde beendet bzw. kann nicht mehr gestartet werden. {{plugins:statistics_4_loxone:pasted:20221101-200016.png}} Folgende Fehlermeldung erhaltet ihr wenn ihr genau dann versucht das Plugin erneut zu installieren bzw. eine neue Version aufzuspielen: {{plugins:statistics_4_loxone:pasted:20221101-200025.png}} Die log-files unter dem Plugin sind alle grün: Request startinfluxdb [COLOR=black][B]INFO:[/B] LoxBerry Version 2.2.1.2 ( is_raspberry.cfg )[/COLOR] [COLOR=black][B]INFO:[/B] Stats4Lox Version 0.9.7[/COLOR] [COLOR=black][B]INFO:[/B] Loglevel: 7[/COLOR] [COLOR=green][B]OK:[/B][/COLOR] Parameters ok - responding with HTTP 200 Request servicestatus [COLOR=black][B]INFO:[/B] LoxBerry Version 2.2.1.2 ( is_raspberry.cfg )[/COLOR] [COLOR=black][B]INFO:[/B] Stats4Lox Version 0.9.7[/COLOR] [COLOR=black][B]INFO:[/B] Loglevel: 7[/COLOR] [COLOR=green][B]OK:[/B][/COLOR] Parameters ok - responding with HTTP 200 __Ursache:__ Der USB-Stick auf dem sich die Influx-Daten befinden ist nicht mehr gemounted. Mein USB-Stick war mit ext4 formatiert und konnte nicht mal mehr als read-only gemounted werden. mount /dev/sda1 /media/usb mount: /dev/sda1 is write-protected, mounting read-only mont: cannot mount /dev/sda1 read-only Ein weiteres Indiz ist wenn ihr in der Konsole diesen Befehl ausführt su - sudo -u influxdb -g influxdb /usr/bin/influxd -config /etc/influxdb/influxdb.conf und eine ähnliche Rückmeldung erhaltet: loxberry@loxberry:~# su - root@loxberry:~# sudo -u influxdb -g influxdb /usr/bin/influxd -config /etc/influxdb/influxdb.conf 8888888 .d888 888 8888888b. 888888b. 888 d88P" 888 888 "Y88b 888 "88b 888 888 888 888 888 888 .88P 888 88888b. 888888 888 888 888 888 888 888 888 8888888K. 888 888 "88b 888 888 888 888 Y8bd8P' 888 888 888 "Y88b 888 888 888 888 888 888 888 X88K 888 888 888 888 888 888 888 888 888 Y88b 888 .d8""8b. 888 .d88P 888 d88P 8888888 888 888 888 888 "Y88888 888 888 8888888P" 8888888P" 2022-10-30T11:18:33.403219Z info InfluxDB starting {"log_id": "0dr9g4jl000", "version": "1.8.10", "branch": "1.8", "commit": "688e697c51fd"} 2022-10-30T11:18:33.403320Z info Go runtime {"log_id": "0dr9g4jl000", "version": "go1.13.8", "maxprocs": 4} 2022-10-30T11:18:33.506631Z info Using data dir {"log_id": "0dr9g4jl000", "service": "store", "path": "/opt/loxberry/system/storage/usb/Stick8GB/influxdb/data"} 2022-10-30T11:18:33.506801Z info Compaction settings {"log_id": "0dr9g4jl000", "service": "store", "max_concurrent_compactions": 1, "throughput_bytes_per_second": 50331648, "throughput_bytes_per_second_burst": 50331648} 2022-10-30T11:18:33.506890Z info Open store (start) {"log_id": "0dr9g4jl000", "service": "store", "trace_id": "0dr9g58W000", "op_name": "tsdb_open", "op_event": "start"} 2022-10-30T11:18:33.507665Z error Unable to open series file {"log_id": "0dr9g4jl000", "path": "/opt/loxberry/system/storage/usb/Stick8GB/influxdb/data/_internal/_series", "partition": 0, "error": "open /opt/loxberry/system/storage/usb/Stick8GB/influxdb/data/_internal/_series/00/0000: permission denied"} 2022-10-30T11:18:33.507774Z info Open store (end) {"log_id": "0dr9g4jl000", "service": "store", "trace_id": "0dr9g58W000", "op_name": "tsdb_open", "op_event": "end", "op_elapsed": "0.890ms"} run: open server: open tsdb store: open /opt/loxberry/system/storage/usb/Stick8GB/influxdb/data/_internal/_series/00/0000: permission denied root@loxberry:~# __Datenrettung:__ Meldet euch über die Konsole (z.B. mit Putty) an eurem LoxBerry an. Wenn ihr auch einen anderen Linux-Rechner oder Raspberry zur Verfügung habt, könnt ihr die folgenden Schritte auch von dort ausführen. Allse folgenden Schritte müssen als Superuser "root" ausgeführt werden. Ihr könnt zu root werden, indem ihr ''%%su -%%'' gefolgt von dem Root-Passwort eingebt. Festestellen wie der Stick eingebunden ist: lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 1 1.9G 0 disk └─sda1 8:1 1 1.9G 0 part /media/usb/Stick8GB mmcblk0 179:0 0 14.9G 0 disk ├─mmcblk0p1 179:1 0 41.5M 0 part /boot └─mmcblk0p2 179:2 0 14.8G 0 part / zram0 254:0 0 415M 0 disk /opt/loxberry/log/ramlog Laufwerk mounten auf dem die Daten gesichert werden sollen: mount -t cifs -o vers=2.0,username=[user],password=[pwd] //[Server]/[Verzeichnis] /media/Sicherung Fall noch nicht vorhanden sind diese Pakete noch zu installieren apt install gddrescue apt install cifs-utils Image des fehlerhaften USB-Stick erstellen (sicher ist sicher) ddrescue --sparse /dev/sda1 /media/Sicherung/sda1.img mapfile Zugriff auf den USB-Stick herstellen: mount -o ro,noload /dev/sda1 /media/usb Versuchen die einzelnen Dateien in das Sicherungs-Laufwerk zu überspielen: rsync -av /media/usb /media/Sicherung/rettung Alten USB-Stick abmelden: umount /dev/sda1 Jetzt könnt ihr den alten USB-Stick vernichten. __Daten neu aufspielen__ Neuen USB-Stick einstecken, festestellen wie der Stick eingebunden ist: lsblk USB-Stick formatieren: mkfs.ext4 /dev/sda1 Wenn ihr wollt könnt ihr noch ein Label für euren USB-Stick vergeben: e2label /dev/sda1 "Stick2GB" USB-Stick mounten: mkdir -p /media/usb/tempmount mount -t ext4 /dev/sda1 /media/usb/tempmount Jetzt könnt ihr die Dateien vom Sicherungslaufwerk wieder auf den USB-Stick kopieren: cp -ar /media/Sicherung/rettung/usb/influxdb/ /media/usb/tempmount Dateirechte anpassen: chown -R influxdb:influxdb /media/usb/tempmount/influxdb/ Oder wenn ihr auf dem LB unterwegs seid: chown -R influxdb:influxdb /opt/loxberry/system/storage/usb/Stick2GB/influxdb/ USB-Stick abmelden: umount /dev/sda1 USB-Stick abziehen und am LoxBerry anstecken. Im USB Widget schauen, ob er erkannt wurde und unter welchem Pfad er eingebunden wurde. Im Plugin unter “Inputs / Outputs” bei “Influx Database Configuration” die Einstellung anpassen (korrekten neuen Pfad eingeben). Nach “Save and Apply” sollte sich der Dienst wieder starten lassen. Nachdem alle Schritte durchgeführt wurden solltet eure Ausgabe nun so aussehen loxberry@loxberry:~# su - root@loxberry:~# sudo -u influxdb -g influxdb /usr/bin/influxd -config /etc/influxdb/influxdb.conf 8888888 .d888 888 8888888b. 888888b. 888 d88P" 888 888 "Y88b 888 "88b 888 888 888 888 888 888 .88P 888 88888b. 888888 888 888 888 888 888 888 888 8888888K. 888 888 "88b 888 888 888 888 Y8bd8P' 888 888 888 "Y88b 888 888 888 888 888 888 888 X88K 888 888 888 888 888 888 888 888 888 Y88b 888 .d8""8b. 888 .d88P 888 d88P 8888888 888 888 888 888 "Y88888 888 888 8888888P" 8888888P" 2022-10-30T17:53:25.710729Z info InfluxDB starting {"log_id": "0drWH8oW000", "version": "1.8.10", "branch": "1.8", "commit": "688e697c51fd"} 2022-10-30T17:53:25.711161Z info Go runtime {"log_id": "0drWH8oW000", "version": "go1.13.8", "maxprocs": 4} run: open server: listen: listen tcp 127.0.0.1:8088: bind: address already in use root@loxberry:~# Ich wünsche euch viel Erfolg!