Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Redis, wat issn dat[Gelöst]

    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

    Redis, wat issn dat[Gelöst]

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators last edited by

      Hallo Paul,

      ich würde dir gerne helfen, weiss es aber nicht.

      Um zu suchen: ist diese dump.rdb bei redis (RedisDatenBank??)

      Gruß

      Rainer

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        @Homoran:

        Um zu suchen: ist diese dump.rdb bei redis (RedisDatenBank??) `
        Laut Doku von redis ist der Standardname der Datei dump.rdb. Allerdings habe ich nicht gefunden, wo diese abgespeichert wird. Ich vermute mal, dass dies konfigurierbar ist. Wenn Du die Standardkonfiguration nicht geändert hast, wird die Datei in Deinen Images in einem Standardverzeichnis sein. Nur welches ist das ?

        Anmerkung: Ich würde nach *.rdb suchen.

        Wird die Datei bei einem Backup von ioBroker mit gesichert ?

        1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators last edited by

          @paul53:

          Anmerkung: Ich würde nach *.rdb suchen. `
          wollte ich 😉

          @paul53:

          Wird die Datei bei einem Backup von ioBroker mit gesichert ? `
          Meines wissens nicht.

          Gruß

          Rainer

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators last edited by

            Hab sie:

            dump.rdb /var/lib/redis

            temp-31527.rdb /var/lib/redis
            144_dump.png

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              Danke Rainer 😄
              @Homoran:

              Wird die Datei bei einem Backup von ioBroker mit gesichert ?

              Meines wissens nicht. `
              Dann kann es nach einem Restore auf einem neuen System (einer neuen SD Card) passieren, dass lange Zeit keine States zu Datenpunkten existieren und getState(id) zu einer Fehler- bzw. Warnungsmeldung führt.

              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators last edited by

                Ich war immer davon ausgegangen, dass diese States genauso schnell angelegt werden, wie bei einer Neuinstallation.

                (Also nach etwa 5 Minuten sollte alles da sein)

                je länger ich darüber nachdenke:

                Das müssen dann aber auch Datenpunkte sein, die nur selten beschrieben werden.

                Da müsste ich dann mal über eine Backupstrategie nachdenken

                Oder redis weglassen, obwohl beim RasPi2 war der Performancegewinn deutlich spürbar

                Gruß

                Rainer

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  @Homoran:

                  Das müssen dann aber auch Datenpunkte sein, die nur selten beschrieben werden. `
                  Ja, wie z.B. einige Datenpunkte vom Kanal 0 der HM Geräte.

                  1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators last edited by

                    @paul53:

                    einige Datenpunkte vom Kanal 0 der HM Geräte. `
                    und die werden nicht beim Neustart von ioBroker und dem damit verbundenen neustart des hm-rpc neu ausgelesen? :shock:

                    Gruß

                    Rainer

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by

                      @Homoran:

                      die werden nicht beim Neustart von ioBroker und dem damit verbundenen neustart des hm-rpc neu ausgelesen? `
                      Bei mir nicht. Ein "LOWBAT" z.B. habe ich noch nie empfangen, da ich die Batterien jedes Jahr austausche.

                      493_hm_channel0.jpg

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators last edited by

                        Da halte ich gegen!

                        ich wechsel nicht regelmäßig selber, aber habe auch bei diesen Geräten noch nie ein lowbat gehabt:
                        144_lowbat.png

                        :ganzvorsichtigfrag: vielleicht ein Feature von hm-con?

                        Gruß

                        Rainer

                        1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 last edited by

                          @Homoran:

                          vielleicht ein Feature von hm-con? `
                          Ich vermute eher, es liegt an einer fehlenden ReGaHss und dem zugehörigen Adapter.

                          @Homoran:

                          Da müsste ich dann mal über eine Backupstrategie nachdenken `
                          Habe mal in die Redis-Konfiguration /etc/redis/redis.conf geschaut. Ab Zeile 236 steht das:

                          # The filename where to dump the DB
                          dbfilename dump.rdb
                          
                          # The working directory.
                          #
                          # The DB will be written inside this directory, with the filename specified
                          # above using the 'dbfilename' configuration directive.
                          #
                          # The Append Only File will also be created inside this directory.
                          #
                          # Note that you must specify a directory here, not a file name.
                          dir /var/lib/redis
                          
                          ################################# REPLICATION #################################
                          
                          

                          Mein Vorschlag zur Anpassung:

                          dbfilename states.rdb
                          
                          dir /opt/iobroker/iobroker-data
                          

                          Dann wird die DB beim Backup mit gesichert.

                          1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators last edited by

                            @paul53:

                            Mein Vorschlag zur Anpassung: `
                            klingt selbst für mich durchführbar

                            @paul53:

                            Dann wird die DB beim Backup mit gesichert. `
                            Das hört sich dann noch besser an.

                            Werde ich mal ausprobieren und wenn es klappt in den Images übernehmen.

                            EDIT:

                            Meine Anleitung sieht jetzt so aus:
                            ` > redis installieren

                            apt-get install redis-server

                            redis neu konfigurieren:

                            in /etc/redis/redis.conf ab Zeile 236

                            The filename where to dump the DB

                            dbfilename dump.rdb

                            ändern in:

                            dbfilename states.rdb

                            und

                            Note that you must specify a directory here, not a file name.

                            dir /var/lib/redis

                            ändern in:

                            dir /opt/iobroker/iobroker-data `
                            ich frage mich nur, ob diese Datei dann auch angelegt wird.

                            Wir werden sehen - habe gerade zwei VMs laufen um anderes zu testen

                            Danke mal wieder

                            Rainer

                            1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 last edited by

                              Habe gerade beim Durchsehen des RPi-Images vom 1.4.2018 festgestellt, dass Redis fleißig in die Datei /var/log/redis/redis-server.log schreibt. Das dürfte der Performance von Redis und der Lebensdauer des Flash Speichers nicht sehr zuträglich sein.

                              1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators last edited by

                                Noch ne Baustelle - Danke!

                                Aber mit der ersten kommt es schon nicht weiter:
                                144_redis_patch.png
                                da kommt nichts an.

                                Gruß

                                Rainer

                                1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators last edited by

                                  Nachtrag.

                                  Dank deines Hinweises auf das log habe ich gefunden:

                                   Failed opening the RDB file states.rdb (in server root dir /opt/iobroker/iobroker-data) for saving: Read-only file system
                                  

                                  ich fürchte dass der Hinweis beim Installieren von Redis, der besagt, dass redis unter dem User redis angelegt wird hier zu diesem Problem führt, dass der User redis keine Schreibrechte auf das Verzeichnis /opt/iobroker/iobroker-data hat

                                  Gruß

                                  Rainer

                                  1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 last edited by

                                    @Homoran:

                                    dass der User redis keine Schreibrechte auf das Verzeichnis /opt/iobroker/iobroker-data hat `
                                    Das kann ich mir nicht vorstellen, denn normalerweise haben alle User alle Rechte in diesem Verzeichnis (rwxrwxrwx).

                                    1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators last edited by

                                      Daran verzweifel ich auch gerade.

                                      Habe nochmals ein chmod -R 777 /opt/iobroker gemacht.

                                      jetzt sind definitiv alle Dateien rwxrwxrwx

                                      aber diese blöde Meldung kommt immer noch.

                                      das ist aber die einzige Meldung - sonst müllt nichts das log voll.

                                      Ich weiss dass in den Anfängen von ioBroker Couch und redis drin waren und wegen Problemen mit den Rechten erst mal wieder rausfielen.

                                      Aber ich bin mit meinem arg begrenzten Wissen im Moment am Ende.

                                      Kann es daran liegen, dass ich in einer VM arbeite???

                                      Gruß

                                      Rainer

                                      1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators last edited by

                                        @paul53:

                                        dass Redis fleißig in die Datei /var/log/redis/redis-server.log schreibt. `

                                        Habe jetzt auch gefunden was:

                                        705:M 24 Apr 20:40:52.076 * 10 changes in 300 seconds. Saving...
                                        705:M 24 Apr 20:40:52.078 * Background saving started by pid 16516
                                        16516:C 24 Apr 20:40:52.163 * DB saved on disk
                                        16516:C 24 Apr 20:40:52.164 * RDB: 0 MB of memory used by copy-on-write
                                        705:M 24 Apr 20:40:52.178 * Background saving terminated with success
                                        705:M 24 Apr 20:45:53.035 * 10 changes in 300 seconds. Saving...
                                        705:M 24 Apr 20:45:53.036 * Background saving started by pid 16997
                                        16997:C 24 Apr 20:45:53.116 * DB saved on disk
                                        16997:C 24 Apr 20:45:53.118 * RDB: 0 MB of memory used by copy-on-write
                                        705:M 24 Apr 20:45:53.137 * Background saving terminated with success
                                        
                                        

                                        Also alle 5 Minuten die States auf die "Disk".

                                        so sieht es also mit den default-Werten aus

                                        Gruß

                                        Rainer

                                        1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 last edited by

                                          Habe gerade gelesen, dass Redis eine eigene mount Verwaltung hat: In der Datei /lib/systemd/redis-server.service mit Inhalt:

                                          [Unit]
                                          Description=Advanced key-value store
                                          After=network.target
                                          Documentation=http://redis.io/documentation, man:redis-server(1)
                                          
                                          [Service]
                                          Type=forking
                                          ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
                                          PIDFile=/var/run/redis/redis-server.pid
                                          TimeoutStopSec=0
                                          Restart=always
                                          User=redis
                                          Group=redis
                                          RunTimeDirectory=redis
                                          
                                          ExecStartPre=-/bin/run-parts --verbose /etc/redis/redis-server.pre-up.d
                                          ExecStartPost=-/bin/run-parts --verbose /etc/redis/redis-server.post-up.d
                                          ExecStop=-/bin/run-parts --verbose /etc/redis/redis-server.pre-down.d
                                          ExecStop=/bin/kill -s TERM $MAINPID
                                          ExecStopPost=-/bin/run-parts --verbose /etc/redis/redis-server.post-down.d
                                          
                                          UMask=007
                                          PrivateTmp=yes
                                          LimitNOFILE=65535
                                          PrivateDevices=yes
                                          ProtectHome=yes
                                          ReadOnlyDirectories=/
                                          ReadWriteDirectories=-/var/lib/redis
                                          ReadWriteDirectories=-/var/log/redis
                                          ReadWriteDirectories=-/var/run/redis
                                          CapabilityBoundingSet=~CAP_SYS_PTRACE
                                          
                                          # redis-server writes its own config file when in cluster mode so we allow
                                          # writing there (NB. ProtectSystem=true over ProtectSystem=full)
                                          ProtectSystem=true
                                          ReadWriteDirectories=-/etc/redis
                                          
                                          [Install]
                                          WantedBy=multi-user.target
                                          Alias=redis.service
                                          
                                          

                                          Vielleicht genügt es

                                          ReadWriteDirectories=-/opt/iobroker/iobroker-data
                                          

                                          hinzuzufügen und den Redis-Service neu zu starten ?

                                          1 Reply Last reply Reply Quote 0
                                          • apollon77
                                            apollon77 last edited by

                                            @paul53:

                                            Habe gerade gelesen, dass Redis eine eigene mount Verwaltung hat: In der Datei /lib/systemd/redis-server.service mit Inhalt:

                                            [Unit]
                                            Description=Advanced key-value store
                                            After=network.target
                                            Documentation=http://redis.io/documentation, man:redis-server(1)
                                            
                                            [Service]
                                            Type=forking
                                            ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
                                            PIDFile=/var/run/redis/redis-server.pid
                                            TimeoutStopSec=0
                                            Restart=always
                                            User=redis
                                            Group=redis
                                            RunTimeDirectory=redis
                                            
                                            ExecStartPre=-/bin/run-parts --verbose /etc/redis/redis-server.pre-up.d
                                            ExecStartPost=-/bin/run-parts --verbose /etc/redis/redis-server.post-up.d
                                            ExecStop=-/bin/run-parts --verbose /etc/redis/redis-server.pre-down.d
                                            ExecStop=/bin/kill -s TERM $MAINPID
                                            ExecStopPost=-/bin/run-parts --verbose /etc/redis/redis-server.post-down.d
                                            
                                            UMask=007
                                            PrivateTmp=yes
                                            LimitNOFILE=65535
                                            PrivateDevices=yes
                                            ProtectHome=yes
                                            ReadOnlyDirectories=/
                                            ReadWriteDirectories=-/var/lib/redis
                                            ReadWriteDirectories=-/var/log/redis
                                            ReadWriteDirectories=-/var/run/redis
                                            CapabilityBoundingSet=~CAP_SYS_PTRACE
                                            
                                            # redis-server writes its own config file when in cluster mode so we allow
                                            # writing there (NB. ProtectSystem=true over ProtectSystem=full)
                                            ProtectSystem=true
                                            ReadWriteDirectories=-/etc/redis
                                            
                                            [Install]
                                            WantedBy=multi-user.target
                                            Alias=redis.service
                                            
                                            

                                            Vielleicht genügt es

                                            ReadWriteDirectories=-/opt/iobroker/iobroker-data
                                            

                                            hinzuzufügen und den Redis-Service neu zu starten ? `
                                            Wäre einen Versuch eert

                                            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

                                            958
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            50
                                            12210
                                            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