Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. (gelöst) Problem mit Redis Sentinel

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    853

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

(gelöst) Problem mit Redis Sentinel

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
redis sentinel
13 Beiträge 2 Kommentatoren 846 Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • arteckA Offline
    arteckA Offline
    arteck
    Developer Most Active
    schrieb am zuletzt editiert von arteck
    #4

    die redis läuft nicht rund

    also nach und nach

    am Master sieht die redis konfig gut aus (ich pick mir die states raus, die objects müssen auch so) aber da fehlen Einträge, hast du die standrad config übernommen ??

    am Slave auch ..also

    systemsctl stop redis-server
    systemsctl stop redis-sentinel
    

    dann auf beiden Maschienen...
    dann die dump datei (sollte hier sein /var/lib/redis) auf dem slave löschen

    dann Master

    systemsctl start redis-server
    

    danach auf dem slave

    systemsctl start redis-server
    

    jetzt sollte die dump Datei vom master genauso gross sein wie die auf dem Slave

    wenn nicht Log posten vom Master und Salve /var/log/redis/redis-server.log
    erst wenn das sauber läuft können wir weiter machen

    zigbee hab ich, zwave auch, nuc's genauso und HA auch

    amg_666A 1 Antwort Letzte Antwort
    0
    • arteckA arteck

      die redis läuft nicht rund

      also nach und nach

      am Master sieht die redis konfig gut aus (ich pick mir die states raus, die objects müssen auch so) aber da fehlen Einträge, hast du die standrad config übernommen ??

      am Slave auch ..also

      systemsctl stop redis-server
      systemsctl stop redis-sentinel
      

      dann auf beiden Maschienen...
      dann die dump datei (sollte hier sein /var/lib/redis) auf dem slave löschen

      dann Master

      systemsctl start redis-server
      

      danach auf dem slave

      systemsctl start redis-server
      

      jetzt sollte die dump Datei vom master genauso gross sein wie die auf dem Slave

      wenn nicht Log posten vom Master und Salve /var/log/redis/redis-server.log
      erst wenn das sauber läuft können wir weiter machen

      amg_666A Offline
      amg_666A Offline
      amg_666
      schrieb am zuletzt editiert von
      #5

      @arteck

      ich habe auf allen Maschienen Redis/Redis-Sentinel gestoppt und dann die dumps gelöscht.
      nach neuem Start von redis und redis-sentinel habe ich unterschiedlich große Dumps auf den Maschinen
      Master

      ls -i /var/lib/redis/
      80995 dump.rdb  65907 temp-297.rdb
      

      Slave1

      ls -i /var/lib/redis/
      81228 dump.rdb
      

      Slave2

      ls -i /var/lib/redis/
      50644 dump.rdb
      

      redis.conf master

      bind 0.0.0.0
      protected-mode no
      port 6379
      tcp-backlog 511
      timeout 0
      tcp-keepalive 300
      daemonize no
      pidfile "/run/redis/redis-server.pid"
      loglevel notice
      2Blogfile "/var/log/redis/redis-server.log"
      databases 16
      always-show-logo no
      set-proc-title yes
      proc-title-template "{title} {listen-addr} {server-mode}"
      stop-writes-on-bgsave-error yes
      rdbcompression yes
      rdbchecksum yes
      dbfilename "dump.rdb"
      rdb-del-sync-files no
      dir "/var/lib/redis"
      replica-serve-stale-data yes
      replica-read-only yes
      repl-diskless-sync yes
      repl-diskless-sync-delay 5
      repl-diskless-sync-max-replicas 0
      repl-diskless-load disabled
      repl-disable-tcp-nodelay no
      replica-priority 100
      acllog-max-len 128
      lazyfree-lazy-eviction no
      lazyfree-lazy-expire no
      lazyfree-lazy-server-del no
      replica-lazy-flush no
      lazyfree-lazy-user-del no
      lazyfree-lazy-user-flush no
      oom-score-adj no
      oom-score-adj-values 0 200 800
      disable-thp yes
      appendonly no
      appendfilename "appendonly.aof"
      appenddirname "appendonlydir"
      appendfsync everysec
      no-appendfsync-on-rewrite no
      auto-aof-rewrite-percentage 100
      auto-aof-rewrite-min-size 64mb
      aof-load-truncated yes
      aof-use-rdb-preamble yes
      aof-timestamp-enabled no
      
      slowlog-log-slower-than 10000
      slowlog-max-len 128
      latency-monitor-threshold 0
      notify-keyspace-events ""
      hash-max-listpack-entries 512
      hash-max-listpack-value 64
      list-max-listpack-size -2
      list-compress-depth 0
      set-max-intset-entries 512
      zset-max-listpack-entries 128
      zset-max-listpack-value 64
      hll-sparse-max-bytes 3000
      stream-node-max-bytes 4kb
      stream-node-max-entries 100
      activerehashing yes
      client-output-buffer-limit normal 0 0 0
      client-output-buffer-limit replica 256mb 64mb 60
      client-output-buffer-limit pubsub 32mb 8mb 60
      hz 10
      dynamic-hz yes
      aof-rewrite-incremental-fsync yes
      rdb-save-incremental-fsync yes
      jemalloc-bg-thread yes
      

      redis conf slave

      bind 0.0.0.0
      protected-mode no
      port 6379
      tcp-backlog 511
      timeout 0
      tcp-keepalive 300
      daemonize no
      pidfile "/run/redis/redis-server.pid"
      loglevel notice
      logfile "/var/log/redis/redis-server.log"
      databases 16
      always-show-logo no
      set-proc-title yes
      proc-title-template "{title} {listen-addr} {server-mode}"
      stop-writes-on-bgsave-error yes
      rdbcompression yes
      rdbchecksum yes
      dbfilename "dump.rdb"
      rdb-del-sync-files no
      dir "/var/lib/redis"
      replicaof 192.168.1.60 6379
      replica-serve-stale-data yes
      replica-read-only yes
      repl-diskless-sync yes
      repl-diskless-sync-delay 5
      repl-diskless-sync-max-replicas 0
      repl-diskless-load disabled
      repl-disable-tcp-nodelay no
      replica-priority 100
      acllog-max-len 128
      lazyfree-lazy-eviction no
      lazyfree-lazy-expire no
      lazyfree-lazy-server-del no
      replica-lazy-flush no
      lazyfree-lazy-user-del no
      lazyfree-lazy-user-flush no
      oom-score-adj no
      oom-score-adj-values 0 200 800
      disable-thp yes
      appendonly no
      appendfilename "appendonly.aof"
      appenddirname "appendonlydir"
      appendfsync everysec
      no-appendfsync-on-rewrite no
      auto-aof-rewrite-percentage 100
      auto-aof-rewrite-min-size 64mb
      aof-load-truncated yes
      aof-use-rdb-preamble yes
      aof-timestamp-enabled no
      
      slowlog-log-slower-than 10000
      slowlog-max-len 128
      latency-monitor-threshold 0
      notify-keyspace-events ""
      hash-max-listpack-entries 512
      hash-max-listpack-value 64
      list-max-listpack-size -2
      list-compress-depth 0
      set-max-intset-entries 512
      zset-max-listpack-entries 128
      zset-max-listpack-value 64
      hll-sparse-max-bytes 3000
      stream-node-max-bytes 4kb
      stream-node-max-entries 100
      activerehashing yes
      client-output-buffer-limit normal 0 0 0
      client-output-buffer-limit replica 256mb 64mb 60
      client-output-buffer-limit pubsub 32mb 8mb 60
      hz 10
      dynamic-hz yes
      aof-rewrite-incremental-fsync yes
      rdb-save-incremental-fsync yes
      jemalloc-bg-thread yes
      
      # Generated by CONFIG REWRITE
      save 3600 1
      save 300 100
      save 60 10000
      supervised systemd
      latency-tracking-info-percentiles 50 99 99.9
      user default on nopass sanitize-payload ~* &* +@all
      

      iobroker auf proxmox container

      1 Antwort Letzte Antwort
      0
      • arteckA Offline
        arteckA Offline
        arteck
        Developer Most Active
        schrieb am zuletzt editiert von arteck
        #6

        @amg_666 sagte in Problem mit Redis Sentinel:

        nach neuem Start von redis und redis-sentinel habe ich unterschiedlich große Dumps auf den Maschinen

        den sentinel erstmal aus lassen.. das bringt nix wenn redis nicht syncron ist

        ist das die ip von master 192.168.1.60

        ausserdem ... nimm bitte die standard konfig ..pimpen kannst du später immer noch..

        da änderst du NUR

        bind 0.0.0.0
        

        af beiden maschienen

        und auf dem slave ganz unten hinzufügen

        replicaof 192.168.1.60 6379
        

        zigbee hab ich, zwave auch, nuc's genauso und HA auch

        amg_666A 2 Antworten Letzte Antwort
        0
        • arteckA arteck

          @amg_666 sagte in Problem mit Redis Sentinel:

          nach neuem Start von redis und redis-sentinel habe ich unterschiedlich große Dumps auf den Maschinen

          den sentinel erstmal aus lassen.. das bringt nix wenn redis nicht syncron ist

          ist das die ip von master 192.168.1.60

          ausserdem ... nimm bitte die standard konfig ..pimpen kannst du später immer noch..

          da änderst du NUR

          bind 0.0.0.0
          

          af beiden maschienen

          und auf dem slave ganz unten hinzufügen

          replicaof 192.168.1.60 6379
          
          amg_666A Offline
          amg_666A Offline
          amg_666
          schrieb am zuletzt editiert von
          #7

          @arteck ja, master hat .60, die slaves dann .61 und .62

          Erstmal vielen Dank für deine Unterstützung soweit, aber ich baue das grad auf weil ich iob auf redis umstellen will. Wenn da jetzt im Redis irgendwas "grundsätzlich" verkorkst ist, soll ich da nicht lieber die Container (ist eine proxmox installation) plattmachen und nochmal sauber bei Null aufsetzen ?

          iobroker auf proxmox container

          1 Antwort Letzte Antwort
          0
          • arteckA arteck

            @amg_666 sagte in Problem mit Redis Sentinel:

            nach neuem Start von redis und redis-sentinel habe ich unterschiedlich große Dumps auf den Maschinen

            den sentinel erstmal aus lassen.. das bringt nix wenn redis nicht syncron ist

            ist das die ip von master 192.168.1.60

            ausserdem ... nimm bitte die standard konfig ..pimpen kannst du später immer noch..

            da änderst du NUR

            bind 0.0.0.0
            

            af beiden maschienen

            und auf dem slave ganz unten hinzufügen

            replicaof 192.168.1.60 6379
            
            amg_666A Offline
            amg_666A Offline
            amg_666
            schrieb am zuletzt editiert von amg_666
            #8

            @arteck sagte in Problem mit Redis Sentinel:

            ausserdem ... nimm bitte die standard konfig ..

            Ich hab da aber nix (wissentlich) verstellt/"optimiert".
            was ist die Standard konfig ? Die müsste doch bei der Installation von rdis automatisch greifen, oder?

            iobroker auf proxmox container

            1 Antwort Letzte Antwort
            0
            • arteckA Offline
              arteckA Offline
              arteck
              Developer Most Active
              schrieb am zuletzt editiert von arteck
              #9

              wenn du kannst dann installier die redis neu bitte..

              dann wie schon geschrieben

              auf dem master die

              bind 0.0.0.0
              

              ändern

              und auf dem slave

              bind 0.0.0.0
              

              und

              replicaof 192.168.1.60 6379
              

              als letzte zeile hinzufügen

              zigbee hab ich, zwave auch, nuc's genauso und HA auch

              amg_666A 1 Antwort Letzte Antwort
              0
              • arteckA arteck

                wenn du kannst dann installier die redis neu bitte..

                dann wie schon geschrieben

                auf dem master die

                bind 0.0.0.0
                

                ändern

                und auf dem slave

                bind 0.0.0.0
                

                und

                replicaof 192.168.1.60 6379
                

                als letzte zeile hinzufügen

                amg_666A Offline
                amg_666A Offline
                amg_666
                schrieb am zuletzt editiert von
                #10

                @arteck ok, danke. Ich setze neu auf und melde mich dann nochmal, das wird aber erst am Wochenende passieren.

                iobroker auf proxmox container

                arteckA 1 Antwort Letzte Antwort
                0
                • amg_666A amg_666

                  @arteck ok, danke. Ich setze neu auf und melde mich dann nochmal, das wird aber erst am Wochenende passieren.

                  arteckA Offline
                  arteckA Offline
                  arteck
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #11

                  @amg_666 kein stress..

                  zigbee hab ich, zwave auch, nuc's genauso und HA auch

                  amg_666A 1 Antwort Letzte Antwort
                  0
                  • arteckA arteck

                    @amg_666 kein stress..

                    amg_666A Offline
                    amg_666A Offline
                    amg_666
                    schrieb am zuletzt editiert von
                    #12

                    @arteck Kannst du mir nochmal helfen? Ich hab jetzt doch schon heute auf allen 3 nodes die redis container plattgemacht und dann neu aufgesetzt, streng nach Anleitung.
                    Teil1 redis einrichten -> alles ok redis-cli info replication hat auf dem Master gezeigt, dass er Master ist und 2 Slaves da sind.

                    Ich habe dann einen Failover-Test gemacht und den Master (192.168.1.60) angehalten. Darauf wurde nach kurzer Zeit der Slave2 (192.168.1.62) zum Master, dann habe ich den Master wieder hochgefahren.

                    1. redis Instanz für objects angelegt auf allen nodes, hat funktioniert
                     ps -ef | grep redis
                    redis        121       1  0 17:01 ?        00:00:04 /usr/bin/redis-server 0.0.0.0:6379
                    redis        122       1  0 17:01 ?        00:00:04 /usr/bin/redis-server 0.0.0.0:6380
                    

                    Dann habe ich sentinel angelegt, das hat auch funktioniert und mir 1 Master, 2 Slaves und 3 Sentinels angezeigt.

                    Dann habe ich die Sentinel.conf erweitert, damit sie beide redis Prozesse überwacht:

                    bind 0.0.0.0
                    port 26379
                    daemonize yes
                    pidfile "/var/run/sentinel/redis-sentinel.pid"
                    logfile "/var/log/redis/redis-sentinel.log"
                    dir "/var/lib/redis"
                    protected-mode no
                    
                    sentinel myid 9eebf305c5cd77bae72f87aa9eccf0ce74dff891
                    sentinel deny-scripts-reconfig yes
                    
                    sentinel monitor objects-master 192.168.1.60 6379 2
                    sentinel failover-timeout objects-master 20000
                    sentinel config-epoch objects-master 0
                    sentinel leader-epoch objects-master 0 
                    
                    sentinel monitor states-master 192.168.1.60 6380 2
                    sentinel failover-timeout states-master 20000
                    sentinel config-epoch states-master 0
                    sentinel leader-epoch states-master 0
                    

                    Die sentinel.con ist auf allen nodes gleich, natürlich bis auf "myid"

                    Problem:

                    redis-cli -p 26379 info sentinel
                    # Sentinel
                    sentinel_masters:2
                    sentinel_tilt:0
                    sentinel_tilt_since_seconds:-1
                    sentinel_running_scripts:0
                    sentinel_scripts_queue_length:0
                    sentinel_simulate_failure_flags:0
                    master0:name=objects-master,status=odown,address=192.168.1.60:6379,slaves=0,sentinels=3
                    master1:name=states-master,status=ok,address=192.168.1.60:6380,slaves=2,sentinels=3
                    

                    Er zeigt 2 Master an (korrekt), aber für die Objects (Port 6379) 0 Slaves (????)
                    Dann ist mir noch aufgefallen, dass 192.168.1.60 nicht mehr Master ist (wahrscheinlich wegen meines Failover Tests), das hat er nach dem Starten des Prozesses nicht wieder zurückgeändert:

                    root@redis1:~# redis-cli info replication
                    # Replication
                    role:slave
                    master_host:192.168.1.62
                    master_port:6379
                    master_link_status:up
                    master_last_io_seconds_ago:0
                    master_sync_in_progress:0
                    slave_read_repl_offset:217785
                    slave_repl_offset:217785
                    slave_priority:100
                    slave_read_only:1
                    replica_announced:1
                    connected_slaves:0
                    master_failover_state:no-failover
                    master_replid:282bd0a72177c2eaff3e1e3b2e58cb341290f627
                    master_replid2:0000000000000000000000000000000000000000
                    master_repl_offset:217785
                    second_repl_offset:-1
                    repl_backlog_active:1
                    repl_backlog_size:1048576
                    repl_backlog_first_byte_offset:75236
                    repl_backlog_histlen:142550
                    

                    Der 192.168.2 wird als Master angezeigt.

                    iobroker auf proxmox container

                    amg_666A 1 Antwort Letzte Antwort
                    0
                    • amg_666A amg_666

                      @arteck Kannst du mir nochmal helfen? Ich hab jetzt doch schon heute auf allen 3 nodes die redis container plattgemacht und dann neu aufgesetzt, streng nach Anleitung.
                      Teil1 redis einrichten -> alles ok redis-cli info replication hat auf dem Master gezeigt, dass er Master ist und 2 Slaves da sind.

                      Ich habe dann einen Failover-Test gemacht und den Master (192.168.1.60) angehalten. Darauf wurde nach kurzer Zeit der Slave2 (192.168.1.62) zum Master, dann habe ich den Master wieder hochgefahren.

                      1. redis Instanz für objects angelegt auf allen nodes, hat funktioniert
                       ps -ef | grep redis
                      redis        121       1  0 17:01 ?        00:00:04 /usr/bin/redis-server 0.0.0.0:6379
                      redis        122       1  0 17:01 ?        00:00:04 /usr/bin/redis-server 0.0.0.0:6380
                      

                      Dann habe ich sentinel angelegt, das hat auch funktioniert und mir 1 Master, 2 Slaves und 3 Sentinels angezeigt.

                      Dann habe ich die Sentinel.conf erweitert, damit sie beide redis Prozesse überwacht:

                      bind 0.0.0.0
                      port 26379
                      daemonize yes
                      pidfile "/var/run/sentinel/redis-sentinel.pid"
                      logfile "/var/log/redis/redis-sentinel.log"
                      dir "/var/lib/redis"
                      protected-mode no
                      
                      sentinel myid 9eebf305c5cd77bae72f87aa9eccf0ce74dff891
                      sentinel deny-scripts-reconfig yes
                      
                      sentinel monitor objects-master 192.168.1.60 6379 2
                      sentinel failover-timeout objects-master 20000
                      sentinel config-epoch objects-master 0
                      sentinel leader-epoch objects-master 0 
                      
                      sentinel monitor states-master 192.168.1.60 6380 2
                      sentinel failover-timeout states-master 20000
                      sentinel config-epoch states-master 0
                      sentinel leader-epoch states-master 0
                      

                      Die sentinel.con ist auf allen nodes gleich, natürlich bis auf "myid"

                      Problem:

                      redis-cli -p 26379 info sentinel
                      # Sentinel
                      sentinel_masters:2
                      sentinel_tilt:0
                      sentinel_tilt_since_seconds:-1
                      sentinel_running_scripts:0
                      sentinel_scripts_queue_length:0
                      sentinel_simulate_failure_flags:0
                      master0:name=objects-master,status=odown,address=192.168.1.60:6379,slaves=0,sentinels=3
                      master1:name=states-master,status=ok,address=192.168.1.60:6380,slaves=2,sentinels=3
                      

                      Er zeigt 2 Master an (korrekt), aber für die Objects (Port 6379) 0 Slaves (????)
                      Dann ist mir noch aufgefallen, dass 192.168.1.60 nicht mehr Master ist (wahrscheinlich wegen meines Failover Tests), das hat er nach dem Starten des Prozesses nicht wieder zurückgeändert:

                      root@redis1:~# redis-cli info replication
                      # Replication
                      role:slave
                      master_host:192.168.1.62
                      master_port:6379
                      master_link_status:up
                      master_last_io_seconds_ago:0
                      master_sync_in_progress:0
                      slave_read_repl_offset:217785
                      slave_repl_offset:217785
                      slave_priority:100
                      slave_read_only:1
                      replica_announced:1
                      connected_slaves:0
                      master_failover_state:no-failover
                      master_replid:282bd0a72177c2eaff3e1e3b2e58cb341290f627
                      master_replid2:0000000000000000000000000000000000000000
                      master_repl_offset:217785
                      second_repl_offset:-1
                      repl_backlog_active:1
                      repl_backlog_size:1048576
                      repl_backlog_first_byte_offset:75236
                      repl_backlog_histlen:142550
                      

                      Der 192.168.2 wird als Master angezeigt.

                      amg_666A Offline
                      amg_666A Offline
                      amg_666
                      schrieb am zuletzt editiert von
                      #13

                      Hat sich erledigt. Irgendwie hat er das Failover nicht richtig zurück genommen, da war für Port 6379 kein Master eingetragen. Ich habe auf dem Master (192.168.1.60) redis und redis-sentinel angehalten, die redis.config geöffnet und alles was nach

                      # Generated by CONFIG REWRITE
                      

                      kommt gelöscht. Dann redis und redis-sentinel neu gestartet, jetzt läuft alles wie gewünscht

                      iobroker auf proxmox container

                      1 Antwort Letzte Antwort
                      1
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

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

                      519

                      Online

                      32.6k

                      Benutzer

                      82.1k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe