Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Ausfallssicherheit IoBroker - maximale Verfügbarkeit

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Ausfallssicherheit IoBroker - maximale Verfügbarkeit

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      etzeste13 last edited by

      @arteck
      Hallo, ich hätte noch eine Frage? Ich habe jetzt mal eine VM mit IoBroker aufgesetzt und einen LXC Container mit Redis Ich habe nur das Problem, dass ich per iobroker setup custom nicht auf redis umstellen kann. Es scheint als ob die IOB-VM nicht auf den LXC container zugreifen kann, obwohl ich im config-file das bind auf 0.0.0.0 und den protection mode auf no gesetzt habe.

      generell ist der Redis container aus der IOB-VM per ping erreichbar.

      gibt es da noch was auf dass man aufpassen muss?
      vG Etze

      arteck 1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active @etzeste13 last edited by

        @etzeste13 sagte in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:

        per iobroker setup custom nicht auf redis umstellen kann

        logs ??

        E 1 Reply Last reply Reply Quote 0
        • E
          etzeste13 @arteck last edited by etzeste13

          @arteck ```

          set@VM-IOBroker:~$ iobroker setup custom
          Current configuration:
          - Objects database:
            - Type: jsonl
            - Host/Unix Socket: 127.0.0.1
            - Port: 9001
          - States database:
            - Type: jsonl
            - Host/Unix Socket: 127.0.0.1
            - Port: 9000
          - Data Directory: ../../iobroker-data/
          
          Type of objects DB [(j)sonl, (f)ile, (r)edis, ...], default [jsonl]: r
          
          When Objects and Files are stored in a Redis database please consider the following:
          1. All data will be stored in RAM, make sure to have enough free RAM available!
          2. Make sure to check Redis persistence options to make sure a Redis problem will not cause data loss!
          3. The Redis persistence files can get big, make sure not to use an SD card to store them.
          
          Host / Unix Socket of objects DB(redis), default[127.0.0.1]: 192.168.1.62
          Port of objects DB(redis), default[6379]:
          Type of states DB [(j)sonl, (f)file, (r)edis, ...], default [redis]:
          Host / Unix Socket of states DB (redis), default[192.168.1.62]:
          Port of states DB (redis), default[6379]:
          Host name of this machine [VM-IOBroker]:
          Please choose if this is a Master/single host (enter "m") or a Slave host (enter "S") you are about to edit. For Slave hosts the data migration will be skipped. [S/m]: m
          
          Important: Using redis for the Objects database is only supported
          with js-controller 2.0 or higher!
          When your system consists of multiple hosts please make sure to have
          js-controller 2.0 or higher installed on ALL hosts *before* continuing!
          
          
          Important #2: If you already did the migration on an other host
          please *do not* migrate again! This can destroy your system!
          
          
          Important #3: The process will migrate all files that were officially
          uploaded into the ioBroker system. If you have manually copied files into
          iobroker-data/files/... into own directories then these files will NOT be
          migrated! Make sure all files are in adapter directories inside the files
          directory!
          
          
          Do you want to migrate objects and states from "jsonl/jsonl" to "redis/redis" [y/N]: y
          
          Migrating the objects database will overwrite all objects! Are you sure that this is not a slave host and you want to migrate the data? [y/N]: y
          
          Connecting to previous DB "jsonl/jsonl"...
          Creating backup ...
          This can take some time ... please be patient!
          host.VM-IOBroker 77 states saved
          host.VM-IOBroker 144 objects saved
          Backup created: /opt/iobroker/backups/2024_01_26-13_27_47_backupiobroker-migration.tar.gz
          updating conf/iobroker.json
          
          Connecting to new DB "redis/redis" (can take up to 20s) ...
          No connection to objects 192.168.1.62:6379[redis]
          
          New Database could not be connected. Please check your settings. No settings have been changed.
          restoring conf/iobroker.json
          No connection to states 192.168.1.62:6379[redis]
          set@VM-IOBroker:~$
          
          set@VM-IOBroker:/$ ping 192.168.1.62
          PING 192.168.1.62 (192.168.1.62) 56(84) bytes of data.
          64 bytes from 192.168.1.62: icmp_seq=1 ttl=63 time=0.800 ms
          64 bytes from 192.168.1.62: icmp_seq=2 ttl=64 time=0.590 ms
          64 bytes from 192.168.1.62: icmp_seq=3 ttl=64 time=0.608 ms
          64 bytes from 192.168.1.62: icmp_seq=4 ttl=64 time=0.757 ms
          64 bytes from 192.168.1.62: icmp_seq=5 ttl=64 time=0.672 ms
          ^C
          
          
          

          und hier der Auszug aus der redis.conf vom LXC Container

          # You will also need to set a password unless you explicitly disable protected
          # mode.
          # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          bind 0.0.0.0
          
          # By default, outgoing connections (from replica to master, from Sentinel to
          #
          
          # you are sure you want clients from other hosts to connect to Redis
          # even if no authentication is configured.
          protected-mode no
          
          # Redis uses default hardened security configuration directives to reduce the
          # attack surface on innocent users. Therefore, several sensitive configuration
          # directives are immutable, and some potentially-dangerous commands are blocked.
          #
          
          W 1 Reply Last reply Reply Quote 0
          • W
            Wildbill @etzeste13 last edited by

            @etzeste13 Hast Du den redis-service nach dem Ändern der redis.conf auch einmal neu gestartet, damit das übernommen wird?

            Gruss, Jürgen

            1 Reply Last reply Reply Quote 0
            • E
              etzeste13 last edited by etzeste13

              @wildbill
              Ja habe ich natürlich gemacht. Lokal über die Container-Console läuft der redis-server auch und ich kann daten eingeben.
              Was mir noch aufgefallen ist:
              Wenn ich mich über meinen produktiven IOBroker Host (RasPi4 mit lokalem Redis) über folgendem Befehl auf den Redix LXC verbinden will, geht das zwar, aber bei der eingabe des ersten Befehl schmeist es mich wieder raus...

              pi@RasPi41:~ $ redis-cli -h 192.168.1.62 -p 6379
              192.168.1.62:6379> info
              Error: Connection reset by peer
              pi@RasPi41:~ $ 
              
              

              nachtrag: Hier noch der Status vom Redis-Container

              root@RedisMaster:~# systemctl status redis-server
              * redis-server.service - Advanced key-value store
                   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; preset: enabled)
                   Active: active (running) since Fri 2024-01-26 09:08:19 UTC; 5h 5min ago
                     Docs: http://redis.io/documentation,
                           man:redis-server(1)
                 Main PID: 2676 (redis-server)
                   Status: "Ready to accept connections"
                    Tasks: 5 (limit: 9434)
                   Memory: 3.3M
                      CPU: 43.954s
                   CGroup: /system.slice/redis-server.service
                           `-2676 "/usr/bin/redis-server 0.0.0.0:6379"
              
              Jan 26 09:08:18 RedisMaster systemd[1]: Starting redis-server.service - Advanced key-value store...
              Jan 26 09:08:19 RedisMaster systemd[1]: Started redis-server.service - Advanced key-value store.
              root@RedisMaster:~# ^C
              root@RedisMaster:~# 
              

              vG Etze

              1 Reply Last reply Reply Quote 0
              • arteck
                arteck Developer Most Active last edited by

                @etzeste13 sagte in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:

                New Database could not be connected. Please check your settings. No settings have been changed.

                na steht doch da. firewall regeln ??
                port ist anders..

                zumindest kann keine verbindung zum redis (nicht zu der maschiene) hergestellt werden

                1 Reply Last reply Reply Quote 0
                • E
                  etzeste13 last edited by

                  @arteck
                  sry für die späte antwort, war ein paar tage nicht da...
                  also ich habe keine firewall -regeln eingetragen und port ist auch 6379 also standard...
                  ich glaube ich werden den redis-container nochmals aufsetzen und mein glück versuchen...

                  noch eine frage: ich bin bei der weiteren suche nach wie ich das am besten umsetze über die anleitung von darkiop gestolpert, https://github.com/darkiop/doku-iobroker-ha/blob/main/20211113_ioBroker_auf_Proxmox_HA_v1.40.pdf und das scheint ja deinem Setup sehr ähnlich zu sein. Wenn ja, würdest du sagen mann kann diese Anlietung nach wie vor als Guide nehmen?

                  Ich frage nur, weil mit das Thema mit GlusterFS nichts sagt... und ich der meinung war Proxmox in den aktuellen Versionen, hat ähnliche Funktionen bereits integriert...

                  Vlt noch eine Frage: Mein aktuelles Produktivsystem läuft ja auf einem RasPi4 mit Redis direkt am Host. Bei den ersten Versuchen ein Backup auf die Proxmox VM aufzuspielen hat das nie funktioniert, weil beim Einspielen des Backups der Redis-Server ja nicht mehr auf 127.0.0.1 liegt. Muss ich für die Migration auf die Proxmox-Umgebung ein Backup erstellen, das auf Basis File oder json ist?

                  vG Etze

                  1 Reply Last reply Reply Quote 0
                  • arteck
                    arteck Developer Most Active last edited by arteck

                    @etzeste13 sagte in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:

                    GlusterFS

                    kannst auch ceph nehmen.. der ist in proxmox direkt intergriert

                    ja die liebe migration....

                    mach so

                    du brauchst die dump datei des redis.. diesen kopierst du auf das neue redis was du installiert hast..und startest es

                    dann iobroker verzeichniss zippen vom pi4..

                    auf dem proxmox eine vm erstellen und nackten iobroker installieren
                    das gezippte rüber auf die VM

                    dann den installierten ordner löschen.. (nix deinstallieren nur löschen)
                    das zip entpacken

                    somit hast du eine version auf dem proxmox dass deiner pi4 umgebung entspricht ..ist aber nich nicht lauffähig
                    erstmal die konfig änder zum neuen redis (ip anpassen)

                    dann nochmal

                    iob host this
                    

                    damit machst du dem iobroker bekannt das der diese neue maschiene als standard nehmen soll

                    iob start
                    

                    und fertig ist die laube

                    E 2 Replies Last reply Reply Quote 1
                    • E
                      etzeste13 @arteck last edited by

                      @arteck
                      Hallo, danke für die Anleitung, habe das gerade mal probiert.
                      Kann es sein, dass der Benutzer auf der VM und am Pi gleich sein müssen?
                      Ich kann nämlich nachdem ich das iobroker Verzeichnis ( /opt/iobroker) vom Pi in das der VM kopiert habe den iob nicht mehr starten, angeblich augrund fehlender berechtigungen.

                      Muss aber gleich dazu sagen, dass ich den iob schon einige tage zuvor auf der VM installiert hatte und nur mal in betrieb genommen habe, und nicht wie du beschrieben hast die VM gänzlich jungfräulich aufgesetzt habe. sonst habe ich aber das /opt/iobroker verzeichnis auf der VM komplett gelöscht und mit den Daten vom PI getauscht.

                      vG Etze

                      arteck 1 Reply Last reply Reply Quote 0
                      • arteck
                        arteck Developer Most Active @etzeste13 last edited by

                        @etzeste13 dann mach noch

                        iob fix
                        

                        bevor du startest

                        1 Reply Last reply Reply Quote 1
                        • D
                          darkiop Most Active @arteck last edited by

                          @arteck sagte in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:

                          vielleicht findet sich einer der ein QUorum mit einem PI macht.. und kann berichten

                          Link zu meiner Doku wurde ja bereits gepostet - der PI als Quorum Device war eigentlich unauffällig.

                          @arteck sagte in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:

                          kannst auch ceph nehmen.. der ist in proxmox direkt intergriert

                          Ja, Ceph wäre auch eine Option. Meine allerdings gelesen zu haben deutlich Hardware (RAM) hungriger. Wie sind da deine Erfahrungen?

                          arteck 1 Reply Last reply Reply Quote 0
                          • arteck
                            arteck Developer Most Active @darkiop last edited by

                            @darkiop sagte in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:

                            Wie sind da deine Erfahrungen?

                            meine kisten haben alle 32 GB als Arbeitsspeicher.. ich merk da kein Unterschied. ich hatte früher auch gluster installiert
                            hab nur gewechselt da ceph mit im proxmox intergriert ist

                            1 Reply Last reply Reply Quote 0
                            • amg_666
                              amg_666 @arteck last edited by

                              @arteck sagte in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:

                              p.s: lass die Finger von einem PI fürs Quorum..

                              Hallo
                              kurze Verständnisfrage dazu: Ich habe iob bislang in einem Container unter proxmox laufen (proxmox auf einem intel nuc) Im "standby" läuft ein 2. nuc auf dem auch proxmox mit iob ist, wenn ein System die Grätsche machen sollte, müsste ich manuell das backup (den container) starten.
                              Ich will das als nächste Projekt meiner Hausautomatisierung auch auf nodes verteilen mit dem Ziel, dass es stabil auch ohne manuelles Eingreifen im Fehlerfall weiterläuft.
                              Dazu würde ich iob wohl von Container auf VM umziehen.
                              Frage: Warum keinen Pi fürs Quorum, bzw was würdest du da mind. empfeheln oder hast du selber im Einsatz. Ich tendiere da bei mir zu einem 3. nuc, spricht da was gegen?
                              2. Frage: zigbee - Wie machst du das mit dem USB Stick, das wäre doch weiterhin ein single point of failure? Oder kann man auf 2 iob Instanzen jeweils zigbee laufen lassen? Die Devices würden doch nur mit einem Stick/einem Adapter reden?

                              arteck 1 Reply Last reply Reply Quote 0
                              • arteck
                                arteck Developer Most Active @amg_666 last edited by

                                @amg_666 der pi macht nur das quorum.. mehr nicht.dan bi ich bei dir.. im meisten Fällen installieren sich die Leute noch was da drauf.. und dann fängt der Schlamasel an

                                ich habe 5 Nuc's... laufen
                                obs VM oder LXC ist egal.. LXC wird bei migration durchgestartet VM läuft weiter.. also ohne abbruch.

                                mein Zigbee Stick wie auch der Zwave steckt in einem rock64.. und der gibt die Port per ser2net raus..
                                das ist der einzie POF bei mir.. wobei ich daneben ein OrnagePi liegen habe mit der gleichen IP und den gleichen Einstellungen..
                                sollte der Rock abrauchen..warum auch immer...

                                und wozu soll ich jetzt 2 iob instanzen laufen haben.. ??

                                amg_666 1 Reply Last reply Reply Quote 0
                                • amg_666
                                  amg_666 @arteck last edited by

                                  @arteck sagte in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:

                                  und wozu soll ich jetzt 2 iob instanzen laufen haben.. ??

                                  ich meinte 2 Instanzen (oder Slaves ??) um wirklich 2 zigbee sticks aktiv zu haben, aber das scheint ja nicht zu gehen, also muss man da wohl mit single pooint of failure leben

                                  arteck 1 Reply Last reply Reply Quote 0
                                  • arteck
                                    arteck Developer Most Active @amg_666 last edited by

                                    @amg_666 sagte in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:

                                    also muss man da wohl mit single pooint of failure leben

                                    jep leider

                                    1 Reply Last reply Reply Quote 0
                                    • E
                                      etzeste13 @arteck last edited by

                                      @arteck Ich habe das Thema mit der Migration mal getestet, so wie du beschrieben hast...
                                      Also Redis dump auf den LXC Container kopiert, und alle dateien von /opt/iobroker vom RasPi in das gleiche Verzeichnis der neu aufgesetzten VM kopiert.
                                      wenn ich dann "iob setup custom" oder jeden anderen iob Befehl starten möchte, funktioniert das nicht und zwar mit folgender Fehlermeldung

                                      55bc2884-071c-473c-85e6-b1f296d9ac36-grafik.png

                                      hast du eine Ahnung was ich da noch falsch gemacht haben könnte?
                                      Hier noch ein Screenshot des iobroker verzeichnises der VM

                                      a389a0a9-0338-4a73-9f3e-43106a098947-grafik.png

                                      was mache ich da falsch?

                                      lg Etze

                                      arteck 1 Reply Last reply Reply Quote 0
                                      • arteck
                                        arteck Developer Most Active @etzeste13 last edited by arteck

                                        @etzeste13 sagte in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:

                                        was mache ich da falsch?

                                        aufmerksam lesen... aber nochmal

                                        zuerst da rein ein iob installieren und nicht direkt kopieren..
                                        damit alles so ist wie es soll..

                                        dann den iobroker Verzeichniss löschen und deinen anstatt reinkopieren
                                        dann zuerst

                                        iob host this
                                        iob fix
                                        

                                        dann sollte es laufen

                                        E 1 Reply Last reply Reply Quote 0
                                        • E
                                          etzeste13 @arteck last edited by etzeste13

                                          @arteck said in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:

                                          iob host this

                                          Das ist ja das Problem, das ich zu diesen Befehlen gar nicht komme, weil überhaupt kein iob xxx Befehl funktioniert.
                                          Bevor ich ja

                                          iob host this  
                                          iob fix
                                          

                                          ausführen kann müsste ich ja laut deiner Beschreibung

                                          iob setup custom
                                          

                                          machen damit ich den neuen LXC-Redis-Server einstellen kann
                                          ich befürchte wenn ich

                                          iob host this  
                                          iob fix
                                          

                                          vor

                                          iob setup custom
                                          

                                          das es dann nicht funktioniert, weil er ja noch nicht den neuen Redis-Server kennt...., oder verstehe ich da was falsch?

                                          Wäre die Migration vielleicht leichter, wenn ich den aktiven host auf json oder File umstelle und dann ein Backup erstelle, bzw. die Daten aus /opt/iobroker in die VM kopiere?
                                          Müsste ich dann während dieser Zeit auch alle Slaves entsprechend umstellen und den Master-Pi als Datenquelle angeben...?

                                          arteck 1 Reply Last reply Reply Quote 0
                                          • arteck
                                            arteck Developer Most Active @etzeste13 last edited by arteck

                                            @etzeste13

                                            lesen BITTE LESEN..sonst bin ich hier raus.. wenn du nur die hälfte machst

                                            zuerst da rein ein iob installieren und nicht direkt kopieren..
                                            damit alles so ist wie es soll..

                                            dann den iobroker Verzeichniss löschen und deinen anstatt reinkopieren

                                            E 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            901
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            15
                                            99
                                            7150
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo