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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Ausfallssicherheit IoBroker - maximale Verfügbarkeit

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

      @arteck
      danke für die Erklärung. Ich glaube ich verstehe dein Konzept, und das ist bzgl HA von IOB schon sehr gut ausgefeilt. Schmiert eine IOB VM ab, wird diese auf einen anderen Node vom ProxmoxCluster migriert und wieder gestartet, während die anderen beiden sich an der nach wie vor vorhandenen Redis bedienen und nix mitkriegen.

      Wäre das theoretisch nicht auch mit der von mir geplanten Hardware so umsetzbar? Am Unraid-Server Proxmox als VM und am alten Notebook diret Proxmox installiert. Am Server eine IOB VM als "Master" aufsetzen und den Cluster auf das Notebook ausweiten. Parallel auf jeder Maschine ein Redis Container und diese als Master-Slave konfigurieren und über Sentinel verbinden.

      Für die Mehrheit der Quorums beim Proxmox-Cluster und Redis Sentinel, hätte ich halt doch gerne einen der vorhandenen PIs genommen, weil die da sind und nix wegfressen.
      Welche schleche Erfahrung hast du mit dem Quorum und den Pis den gemacht, weil du das nicht befürwortest? Es gibt da einige Videos im Netzt die das explizit als mögl Variante aufzeigen....?

      Sumasumarum wäre zwar nicht so top wie bei dir, aber wenn ich alles richtig verstanden habe, sollte es doch grundsätzlich funktionieren... und besser sein als wie ich es jetzt habe.

      Bliebe dann nur die frage offen, wie man Influx und Grafana handhabt. Ich verwende Influx nur in Verbindung mit dem IOB und habe die Instanz auch nur am Master. D.h. wenn der Master "down" ist, würde die Influx auch keine Daten übernehmen. Sprich für die Zeit wo der Master migriert wird, könnte auch Influx stehen, und beide dann wieder gleichzeitig in Betrieb gehen. Würde das dann nicht auch praktikabel sein Influx und Grafana in die gleiche VM zu geben wie den IOB Master? Dann würde auch das Backup per IOB Adapter für Grafana und InFlux laufen.

      Bringt mich zu noch einer Frage? Wie kunktioniert das Redis Backup in den Containern mit dem IOB-Adapter?

      Ich hoffe meine Gedanken sind verständlich formuliert, und würde mich freuen wenn du das Konzept kurz bewertest....
      Mir ist klar, dass es nicht an deines reicht, aber es ist sicher besser als jetzt....

      vg E

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

        @etzeste13 influx habe ich am meiner Synology laufen.. im RAID

        wobei die Daten isnd mir relativ egal .. auch wenn ich keine bekomme .. und ?? passiert ja nix ausser die Diagramme sind dann leer..

        eine VM Migration ist mei mir live ..ergo der iob der Migriert wird ist nie offline ausser ich beende den.

        Bringt mich zu noch einer Frage? Wie kunktioniert das Redis Backup in den Containern mit dem IOB-Adapter?
        keine ahnung.. ich sicher die Redis am PBO..

        was du machst musst du selber schauen.. wenn du meinst das es mit dem PI ok ist.dann mach es.. du musst damit klar kommen..
        mir war die Ausfallsicherheit wichtig..

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

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

          @arteck
          danke mochmals für dein Feedback. Mir war wichtig, dass ich das Konzept mal verstanden habe. Nun kann ich ja mal versuchen ob es auch in der Praxis funktioniert und für micht praktikabel ist. Live muss ich ja erst gehen, wenn das Grundgerüst mal passt.

          Also nochmals besten Dank für deine Expterise!!
          lgEtze

          1 Reply Last reply Reply Quote 0
          • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            895
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            15
                                            99
                                            8028
                                            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