NEWS
Umstellung auf redis
-
Guten Abend zusammen,
da mein ioBroker ziemlich abschwächelt (ewige Ladezeiten), wollte ich die States und Objekte mal auf redis umziehen.
Mein ioBroker läuft auf meiner Synology (host), Watchtower hat den gerade anscheinend auch aktualisiert. Also redis als Image hinzugefügt, läuft soweit (auch der Test EVAL "return 'c-i.t' >= 'c.' and 'c-i.t' < 'c.香'" 1 1).
Ich habe nun als ENV Variablen den redis hinzugefügt, aber ioBroker will nicht. Die lapidare Feststellung "Checking Database Connection... Failed." hilft mir nicht wirklich weiter. Ich suche schon was länger, das Forum ist ja voll von redis, aber eine Lösung habe ich noch nicht gefunden. Vielleicht hat ja jemand einen Tipp für mich?Liebe Grüße, Manu
-
-
@meister-mopper Ja, Docker. buanet-latest, redis-latest. Beides über host. hatte gesehen, dass der ioBroker gerade aktualisiert wurde.
-
Hatte mir den Container kopiert, aber bekomme den ioBroker nicht mehr hoch. Nur noch "Checking Database Connection... Failed.". Mit und ohne redis.
Habe jetzt mal meinen Mount umgebogen, damit er hoffentlich wieder startet. Dachte, das wäre einfacher -
Ohne Daten im Mount startet er, mit leider nicht. Was könnte ich tun?
-
ioBroker hat jetzt wirklich etwas gezickt, das hatte er nicht gut vertragen. Also Backup eingespielt, damit konnte ich mein System wiederbeleben. Und alles wieder beim Alten: die grafischen Oberflächen wie Admin oder Vis waren quasi nicht benutzbar - nur noch timeouts, Hänger, ewiges Warten.
Ich habe daher etwas weiter gegraben, denn das Redis-Konzept macht schon Sinn. Diese Anleitung hats schließlich gebracht, um auf Redis zu migrieren: https://docs.buanet.de/iobroker-docker-image/docs/#migrating-to-redis. Jetzt rennt ioBroker, ich bin hocherfreut. Mit so einem Performance-Boost habe ich nicht gerechnet! -
@manuxi die Umstellung auf Redis will ich auch (gefühlt schon ewig) machen. Wieviel states und objects hast du denn?
25700/30046 bei mir -
@fredf Ist in etwa genau so viel bei mir. Die Umstellung war recht easy und flott - wenn man denn weiß, was man machen muss. Steht aber alles im verlinkten Artikel. Ich hatte mir dazu einen redis-Container gebaut und gestartet. Dann per Terminal die Migration gestartet. Nachdem die durch war, meinen IOB-Container gestoppt und folgende Daten eingegeben:
Es sieht ganz gut aus von der Geschwindigkeit, auch RAM-Verbrauch und CPU-Last sind enorm gesunken. -
@manuxi danke dir. Ich schaue mal wann ich das angehe
-
wenn du docker verwendest, dann kannst du hier mal reinschauen.
dann wird es viel einfacher.
ich habe per docker-compose (bzw in portainer nennt sich das stacks
2 zusammengehörende services definiert
die angaben zum macvlan kannst du ignorieren, falls du das nicht einsetzt
Wichtig ist, das bei beiden das gleiche netzwerk definiert ist
iobrokerprod4
dadurch ist dann redis vom iobroker aus erreichbar und zwar mit dem hostnamen redis4
der servicenamen entspricht dann dem hostnamen
danach rufst du auf der shell im iobroker container den folgenden befehl aufiobroker setup custom
und gehst den dialog zur umstellung nach redis durch.
version: '3' services: iobrokerprod4: restart: always image: buanet/iobroker:latest container_name: iobrokerprod4 hostname: iobrokerprod4 ports: - "8081:8081" environment: SETGID: 1001 SETUID: 1001 volumes: - /home/iobroker/docker/volume/iobroker_prod4:/opt/iobroker - /home/iobroker/docker/volume/iobroker_prod4_nodemodules:/usr/lib/node_modules - /media/iobroker_backup/:/opt/iobroker/backup networks: dockerMACVLAN: ipv4_address: 192.168.1.85 iobrokerprod4: redis4: image: "redis:alpine" volumes: - /home/iobroker/docker/volume/redis_prod4:/data networks: iobrokerprod4: networks: dockerMACVLAN: external: true iobrokerprod4:
-
@oliverio Danke Dir, darüber bin ich auch schon mehrmals gestolpert. Hab den Portainer für andere Container bereits benutzt, hier wäre das ja auch nicht das Schlechteste. Werde es also demnächst mal damit machen, falls es hier keine Besserung gibt - denn trotz der jetzt höheren Geschwindigkeit habe ich jetzt schon wieder Hänger bei Zugriff auf Admin. Meine Vermutung ist da das gemountete Verzeichnis, vielleicht Permission-Probleme. Ich untersuche das weiter.
-
@oliverio Okay, also ich musste hier eine andere Version des Containers nehmen, da die buanet-latest (wohl noch von einer älteren Installation) nicht mehr empfohlen werden und ich nur noch Hänger hatte. Watchtower hatte jeweils die neuesten Versionen gezogen. Teilweise konnte ich die Seiten unter Admin überhaupt nicht erreichen (Scripts, Hosts, usw.). Jetzt bin ich auf latest-v6 und alles scheint wieder zu klappen. Ich bin erstaunt, dass ein so altes Image hier geholfen hat o0
Zum Testen der neueren Versionen würde ich daher gerne Portainer nutzen, habe aber noch nicht gesehen, wie ich darüber den iobroker als host einrichte. Das werde ich wohl so machen müssen, um einen Zigbee-Stick anzusprechen. Ich suche später mal weiter, falls sich keiner hier meldet. Bin allerdings noch an der nächsten Redis-Migration für die latest-v6... -
-
@oliverio ich habe iobroker also Host laufen.
Wie bekomme ich dass denn am besten hin?
Meine ganzen Geräte basieren natürlich jetzt auf der ip des Hosts. Möchte die ungern umstellen. -
Ich verstehe nicht so ganz was du jetzt erreichen willst? Den Host Mode?
Der iobroker hat dann die gleiche ip wie der Host, genauso wie beim bridge -
@oliverio ich habe den Host Mode.
Frage ist, ob ich durch Bridge irgendwelche Vorteile habe… eventuell einfacher auf Redis umstellen, oder so? -
Bridge Mode ist für viele anwendungsfälle ausreichen.
Sobald man multicast oder broadcast benötigt funktioniert das dann nichtHost Mode schaltet den Host und den Container netzwerktechnisch gleich. Hat dann aber ggfs Probleme beim portmapping wenn ich mehrere Container auf einen Port Mappen will, dann muss ich jeweils unterschiedliche Ports nehmen.
Macvlan ist für mich die beste Lösung, benötigt aber ein wenig mehr Konfiguration.
-
@oliverio bei MacVlan müsste ich aber wieder mein Adressen anpassen.
-
@ben1983
Ja
Hast du den jetzt irgend ein Problem?Wenn nein, dann lass es wie es ist
-
@oliverio nee,
Hatte nur die Frage im Kopf, ob mir Redis etwas bringt, wenn ja, ob es dann im hostmode auch einfach zu implementieren ist.