NEWS
redis: wrong RDB checksum
-
Hallo,
wäre super, wenn mir jemand ein paar Tips geben könnte, wie ich zumindest einen Teil meiner iobroker Daten/Konfiguration retten kann. Würde gerne ein paar Adapter Konfigurationen und auch die Javascripte Retten.Mein iobroker läuft als VM unter proxmox
Seit ein paar Tagen scheint iobroker nicht mehr zu starten, weil die redis datenbank "defekt" ist:
Und somit erhalte ich dann folgenden Fehler beim starten des iobrokers:root@iobroker:/var/log/redis# iobroker status No connection to objects 127.0.0.1:6379[redis]
Ursache scheint die redis DB zu sein:
3846:C 25 Aug 2024 12:24:53.488 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 3846:C 25 Aug 2024 12:24:53.489 # Redis version=5.0.14, bits=64, commit=00000000, modified=0, pid=3846, just started 3846:C 25 Aug 2024 12:24:53.489 # Configuration loaded _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 5.0.14 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 3847 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 3847:M 25 Aug 2024 12:24:53.492 # Server initialized 3847:M 25 Aug 2024 12:24:53.492 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 3847:M 25 Aug 2024 12:24:53.492 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and me mory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 3847:M 25 Aug 2024 12:24:53.492 . Unrecognized RDB AUX field: 'redis-ver' 3847:M 25 Aug 2024 12:24:53.492 . Unrecognized RDB AUX field: 'redis-bits' 3847:M 25 Aug 2024 12:24:53.492 . Unrecognized RDB AUX field: 'ctime' 3847:M 25 Aug 2024 12:24:53.492 . Unrecognized RDB AUX field: 'used-mem' 3847:M 25 Aug 2024 12:24:53.492 . Unrecognized RDB AUX field: 'aof-preamble' 3847:M 25 Aug 2024 12:24:54.366 # Wrong RDB checksum. Aborting now. 3847:M 25 Aug 2024 12:24:54.366 # Internal error in RDB reading function at rdb.c:2133 -> RDB CRC error
root@iobroker:/var/lib/redis# ls dump.rdb dump.rdb1 tem-94074.rdb1 temp-115.rdb1 root@iobroker:/var/lib/redis# redis-check-rdb dump.rdb [offset 0] Checking RDB file dump.rdb [offset 27] AUX FIELD redis-ver = '5.0.14' [offset 41] AUX FIELD redis-bits = '64' [offset 53] AUX FIELD ctime = '1724521237' [offset 68] AUX FIELD used-mem = '286068152' [offset 84] AUX FIELD aof-preamble = '0' [offset 86] Selecting DB ID 0 --- RDB ERROR DETECTED --- [offset 105537748] RDB CRC error [additional info] While doing: check-sum [info] 19410 keys read [info] 100 expires [info] 100 already expired
Ist aktuell mehr ein Spielsystem, also wenn man nichts retten kann, dann geht die Welt nicht unter.
Vielen Dank für Eure Hilfe,
Michael -
Auch da: NIE, NIE, NIE als root rumhampeln. Auch nicht in einem 'Spielsystem'.
Auch da: Backup einspielen. -
@michaelv Ich nutze Redis schon einige Zeit und ohne Probleme. Ich könnte mir folgendes vorstellen, aber ohne technische Infos zu deinem System ist das wie gesagt nur "raten oder vermuten".
- Rechner während Schreibvorgang ausgeschaltet, Stecker gezogen, stromlos gemacht >> defekte DB
- Problem mit deinem Speichermedium (defekte Sektoren, etc.) auf deiner SD-Karte, SSD
- Problem mit deinem Arbeitsspeicher
- Zu wenig Strom, zu warm
- Im System ist generell der Wurm drin.
Ro75.
-
@michaelv sagte in redis: wrong RDB checksum:
3847:M 25 Aug 2024 12:24:53.492 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue
Da scheint mir zu wenig RAM zur Verfügung zu stehen.
-
@ro75 Ja, könnte alles sein. Hatte gehofft, es gibt eine Lösung um zumindest Teile der DB zu retten
-
@michaelv so wie @Thomas-Braun geschrieben - Backup einspielen. Nur das wird dir auf Dauer nichts nützen, wenn du die Ursache nicht gefunden hast. Und da stehen meine Punkte und der zu wenig Arbeitsspeicher von @Thomas-Braun im Raum. Vielleicht reichst du ja mal Daten nach.
Ro75.