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 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
                                        • E
                                          etzeste13 @arteck last edited by

                                          @arteck
                                          Hallo Arteck,

                                          sorry ich will wirklich nicht lästig sein. Und ich glaube auch, das ich keinen strukturellen fehler gemacht habe.Ich liste meine Schritte also nochmals auf die zu dem Ergebniss führen, dass iob- Befehle inkl iob-setup custom nicht mehr funktionieren.

                                          1: debian VM aufgesetzt
                                          2: Iobroker auf der nackten VM mit Befehlen

                                          sudo apt-get install curl
                                          curl -sLf https://iobroker.net/install.sh | bash -
                                          

                                          installiert.
                                          3:) Auf dieser "nackten IOB-VM" habe ich dann den Inhalt aus dem Orner /opt/iobroker gelöscht und mit den Dateien von meinem PI aus dem Ordner /opt/iobroker ersetzt.

                                          und ab diesem Zeitpunkt, kann ich keinen iob-Befehl auf der IOB-VM mehr absetzen. Ich bin das mehrere Male durchgegangen ist aber immer das gleiche ergebnis

                                          Muss ich vielleicht beim Kopieren der Daten vom PI auf die VM auf was spezielles aufpassen? Ich habe es bisher einfach mit WinSCP vom RasPi auf meinen PC kopiert und von da wieder per WinSCP auf die VM....

                                          Vg Etze

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

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

                                            1. 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?

                                            Richtig.
                                            Deshalb würde ich ein ZigBee-Gateway nehmen welches über LAN angesprochen wird. Dann kannst du das Backup einfach starten und - Zack - ZigBee ist wieder verbunden.
                                            Ich habe auch eine ioBroker VM auf einem Host und einen 2. als Backuphost auf dem ich die Kopie / den Restore wieder Starten könnte.

                                            amg_666 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

                                            567
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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