NEWS
Redis in ioBroker - Überblick
-
ah, richtig. Ich habe noch nicht so den Überblick 'wer macht was'. Die Fehlermeldungen sind bei einem komplexen System aber recht wichtig Aber wenn der Webserver vom Admin nicht läuft geht das so einfach nicht.
-
Komme ich von Redis eigentlich wieder einfach zurück auf file?
-
-
@gutgut30 Die Migration über "Iobroker setup custom" geht in beide Richtungen
-
Hat geklappt! Danke
-
-
@gutgut30 Die User-ID unter welche der Container ausgeführt wird
-
Was ich nicht ganz verstanden habe. Muss ich bei einem slave irgendetwas machen wenn ich auf redis unstelle?
-
@saeft_2003 ja klar. Den musst du identisch umstellen auf redis als dB Typ und so. Halt die ip des redis angeben. Nur nicht migrieren.
-
Ok danke
-
@apollon77
Ich habe eine kurze Frage zur Umstellung von Redis -> File.
Ich betreibe einen Master und zwei Slaves. Beim Master ist mir alles klar. Was muss ich bei den beiden Slaves angeben? File scheint richtig zu sein. Muss ich den Master angeben? Ich habe hier viel zur Umstellung File auf Redis aber wenig zur Rückkehr auf File gerate bei einer Multi-Host Umgebung gefunden.
Vielleicht kannst du mir hierzu eine Hilfestellung geben. -
@martybr Am Ende sollten Die Ausgaben auf dem Screen selbst erklärend sein :-))
Bei so einer Umstellung am besten alle ioBroker hosts stoppen (Also Master und Slaves). Dann den Master auf File umstellen und migrieren. Wenn das durch ist und alles klappt (also Master starten, schauen das alles ok ist) dann die Slaves umstellen - die IP des Masters angeben für die DB IP und dort NICHT migrieren!!
Danach Slaves auch starten. Es kann jetzt sein das Admin die Konfigseiten der Adapter auf den Slaves noch nicht anzeigen kann. Da hilft aber noch ein "iobroker upload all" auf dem Master wenn auch beide Slaves an sind. -
@apollon77 Vielen Dank, das gehe ich dann mal an (natürlich vorher ein Backup machen).
-
@apollon77 Danke für diese super Anleitung! Mein iobroker system wurde deutlich zu langsam. aber mit Deiner Hilfe hat alles super geklappt Master und 1 slave bisher. der 2 Slave für weite Gpios folgt bald. und vor allem hab ich mich damit endlich an redis getraut!
und am wichtigsten er reagiert wieder viel schneller. war vorallem bei objektabfragen und in der Vis aufgefallen. -
@aba320 Aber an alle Pitfalls und so denken und Backup und so!! Und auch die I/O bedenken!
-
Hallo zusammen, passend zum Thema gibts es hier eine Dokumentation eines kompletten HA Setups: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung
-
Ändert sich durch die Umstellung der Datenbank von "file" auf "jsonl" etwas an den Pro/Contra Argumenten im vergleich zu Redis?
-
@kla960 Hm ... Effektiv nicht.
Warum: Der höhere generelle Durchsatz von Redis (als native C Anwendung) gegenüber einer JavaScript DB-Implementierung bleibt bestehen und hat mit der verwendeten Persistenzänderung bei JSONL nichts wirklich zu tun.
Das was sich ändert wäre I/O, wobei es hier von den Redis Einstellungen abhängt. "File-DB" ist quasi vergleichbar mit der "RDB Persistenz" vom Redis, und JSONL ist vergleichbar mit der "AOF Persistenz".
Ob sich da was ändert liegt also an der Konfig - und dann ändert es sich auch nur weil ggf vorher suboptimale Redis-EInstellungen genutzt wurden -
Hallo Zusammen!
Mein ioBroker Master läuft mit 5 Slaves jetzt schon lange stabil auf einer lokalen Redis-Installation. Das ganze System ist dadurch deutlich performanter geworden.
Jetzt wollte ich meinen Redis-Host als Docker-Container auf einem anderen Host laufen lassen, ist ja einfach zu installieren. Eventuell auch auf Redis-Sentinel, aber das dann später.
Nun, jetzt kommt mein Problem: wie stelle ich einen bereits auf lokalem Redis laufenden ioBroker auf einen anderen Redis-Host um? Ein einfaches
iobroker stop - iobroker setup custom (dann die IP des neuen Redis Hosts vergeben) und iobroker start
führte jedenfalls zu einer völlig verkorksten ioBroker Installation. Alle States und Instanzen waren weg! Zum Glück hat ein erneutes "iobroker setup custom" mit Auswahl von 127.0.0.1 die vorhandene, lokale Redis-DB gefunden und verwendet. Jetzt läuft mein ioBroker erst mal wieder normal.
Aber: mit welcher Strategie mache ich eine Sicherung der lokalen Redis-DB (mit redis-cli BGSAVE?), kopiere die Sicherung auf den neuen Redis-Host und spiele dann dort die Sicherung ein? Danach sollte es doch funktionieren, wenn ich die IP des neuen Hosts angebe?!
Hat das schon einmal jemand durchgespielt? Das wäre ja auch wichtig für eine Umstellung von laufendem Redis auf Redis-Sentinel, denn dazu sind ja wahrscheinlich ähnliche Schritte notwendig.
Danke für Tips!
Viele Grüße
Dirk -
@higginsd sagte in Redis in ioBroker - Überblick:
Ein einfaches
iobroker stop - iobroker setup custom (dann die IP des neuen Redis Hosts vergeben) und iobroker start
führte jedenfalls zu einer völlig verkorksten ioBroker Installation. Alle States und Instanzen waren weg!
Aber: mit welcher Strategie mache ich eine Sicherung der lokalen Redis-DB (mit redis-cli BGSAVE?), kopiere die Sicherung auf den neuen Redis-Host und spiele dann dort die Sicherung ein? Danach sollte es doch funktionieren, wenn ich die IP des neuen Hosts angebe?!Der neue Redis muss extern erreichbar sein, also hier die Konfig richtig machen.
Was hast Du denn genau eingegeben? Am Ende alles bestätigen mit enter quasi ausser der "neuen" IP und dann eine migration machen.
Falls das nicht geht (weiss nicht mehr wie wir das hatten) dann am besten
- iobroker stoppen, redis stoppen (alt und neu)
- dann vom alten redis das dump.db nehmen und beim neuen hinkopieren
- dann den neuen redis starten (alten am besten aus lassen)
- dann setup custom und die IP des neuen Redis eintragen und KEINE Migration machen
Da sollte tun.
Hat das schon einmal jemand durchgespielt? Das wäre ja auch wichtig für eine Umstellung von laufendem Redis auf Redis-Sentinel, denn dazu sind ja wahrscheinlich ähnliche Schritte notwendig.
Bei Redis sentinel ists anders. Du hast von oben dann einen Redis Master. Der läuft ja schon und hat alles. Jetzt hängst Du an den erstmal zwei Redis-Slaves dran. Die bekommen dadurch automatisch die Daten vom Master und werden aktuell gehalten.
DANACH dann den Sentinel dazu (einen Sentinel pro Host wo auch der Redis läuft). Denen sagst Du die 3 Redis hosts und sich unterienander, den Rest erkennen die an sich automatisch