NEWS
Probleme beim Restore mit Redis (gelöst)
-
Systemdata Bitte Ausfüllen Hardwaresystem: Pi4 Arbeitsspeicher: 4GB Festplattenart: SD-Karte Betriebssystem: Raspbian (Debian Bullseye) Node-Version: 114.18.3 Nodejs-Version: 14.18.3 NPM-Version: 6.14.15 Installationsart: Skript Image genutzt: Nein Hallo zusammen,
nachdem mir zum wiederholten male der Platz auf der SD Karte ausgegangen ist wollte ich den ioBroker heute neu aufsetzen und dann aus einem Backup zurück spielen. Das war leider nicht so ganz erfolgreich:
- Aktuelles Raspbian image herunter geladen, auf SD Karte geschrieben (ok)
- Auf aktuellen Stand gebracht (apt-get update / apt-get upgrade) (ok)
- redis-server installiert (ok)
- ioBroker mit aktuellem Skript installiert (ok)
- per Backitup versucht den ioBroker vom Backup zurück zu spielen:
- Versuch 1:
Erst Redis Datenbank zurück spielen, dann iobroker backup zurück spielen => Reboot loop:
2022-01-26 14:23:40.791 - info: host.raspberrypi iobroker Starting node restart.js 2022-01-26 14:23:41.051 - info: host.raspberrypi received SIGTERM 2022-01-26 14:23:41.054 - info: host.raspberrypi terminated 2022-01-26 14:23:41.058 - info: host.raspberrypi iobroker exit null 2022-01-26 14:23:42.200 - info: host.raspberrypi iobroker.js-controller version 3.3.22 js-controller starting 2022-01-26 14:23:42.207 - info: host.raspberrypi Copyright (c) 2014-2021 bluefox, 2014 hobbyquaker 2022-01-26 14:23:42.208 - info: host.raspberrypi hostname: raspberrypi, node: v14.18.3 2022-01-26 14:23:42.208 - info: host.raspberrypi ip addresses: 192.168.2.106 fe80::74b2:a689:f7e7:f5c7 2022-01-26 14:23:42.275 - error: host.raspberrypi Cannot read system.config: null (OK when migrating or restoring) 2022-01-26 14:23:42.344 - info: host.raspberrypi connected to Objects and States 2022-01-26 14:23:42.365 - info: host.raspberrypi added notifications configuration of host 2022-01-26 14:23:42.380 - error: host.raspberrypi Cannot find view "system" for search "instance" 2022-01-26 14:23:42.381 - error: host.raspberrypi Could not add notifications config of this host: Could not get notifications setup from instances: Cannot find view "system" 2022-01-26 14:23:42.397 - info: host.raspberrypi Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system 2022-01-26 14:23:42.405 - error: host.raspberrypi Cannot find view "system" for search "state" 2022-01-26 14:23:42.406 - error: host.raspberrypi Cannot find view "system" for search "instance" 2022-01-26 14:23:42.410 - error: host.raspberrypi Could not collect system.host.raspberrypi states to check for obsolete states: Error: Cannot find view "system" 2022-01-26 14:23:42.411 - error: host.raspberrypi _design/system missing - call node iobroker.js setup 2022-01-26 14:23:42.411 - info: host.raspberrypi no instances found 2022-01-26 14:23:42.416 - error: host.raspberrypi uncaught exception: doc.rows is not iterable 2022-01-26 14:23:42.417 - error: host.raspberrypi TypeError: doc.rows is not iterable at Object.getInstancesOrderedByStartPrio (/opt/iobroker/node_modules/iobroker.js-controller/lib/tools.js:2863:27) at async getInstances (/opt/iobroker/node_modules/iobroker.js-controller/main.js:2707:23) 2022-01-26 14:23:42.426 - info: host.raspberrypi iobroker _restart 2022-01-26 14:23:42.442 - error: host.raspberrypi Cannot write host object:DB closed 2022-01-26 14:23:42.450 - info: host.raspberrypi terminated
- Versuch: Direkt das ioBroker Backup zurück spielen. Lt. Backitup Adapter ok. Ergebnis: der gleiche Restart loop:
An dieser Stelle hänge ich nun:
- Die DB wurde zurück gespielt (zumindest stimmt die Datei)
- Redis laeuft (auch in passender Version :
Redis server v=6.0.16 sha=00000000:0 malloc=libc bits=32 build=7a6668740eaa5b5b
- iobroker setup custom sagt auch das Redis benutzt werden soll. Host und Port stimmen auch (0.0.0.0, 6379)
- mit redis-cli komme ich auch ein "Ergebnis". i.e. ping-pong geht, die DB sollte also stimmen.
Wie komme ich jetzt weiter ? Ich vermute das irgendetwas mit der Verbindung ioBroker - Redis nicht geklappt hat.
A.
-
@asgothian hau mal
iobroker fix
und check mal
iobroker setup custom
sonst meld dich mal wenn du zeit hast.. Discord
-
@arteck Beides getan.
ioBroker fix macht keinen Unterschied, ioBroker setup custom zeigt die Konfiguration die auch das Originalsystem hat (Redis für States und Objekte, Bind an 0.0.0.0, Port 6379)
Discord können wir versuchen, aber wahrscheinlich erst am Wochenende - es ist das Live System, sprich wenn ich von neuen Karte boote habe ich kein Licht
A.
-
@asgothian wie du magst
-
bäm
gelöst...
-
Nochmal danke an @arteck und @simatec für die Zeit gestern Abend. Das ganze ist gelöst. Hier nochmal die Ursache(n)
- Restore von Redis hat nicht funktioniert:
-- Fehler 1: Fehlende Zuordnung des ioBroker Benutzers zur Gruppe Redis (Bedienerfehler)
-- Fehler 2: Fehlende Rechte ioBroker Benutzers zum anhalten und Neustarten des Redis Servers - Restore des ioBroker hat auf eine leere Redis DB zugegriffen - das klappt nicht.
- danach führt ein manuelles Restore der Redis DB zu einem instabilen System (Pseudo-Multihost Konfiguration)
Die finale Lösung wird durch @simatec in den backitup Adapter eingebracht. Bis da hin gilt bei Redis:
- sicherstellen das der Benutzer iobroker Mitglied der Gruppe redis ist. (das steht auch schon in der backitup Doku)
- Vor dem restore der Redis DB manuell den Redis server anhalten.
- Nach dem restore der Redis DB manuell den Redis Server starten.
- Erst dann den ioBroker zurück spielen.
A.
- Restore von Redis hat nicht funktioniert: