NEWS
Redis, wat issn dat[Gelöst]
-
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
-
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). -
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
-
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
-
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 ?
-
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 -
dass Redis eine eigene mount Verwaltung hat: In der Datei /lib/systemd/redis-server.service `
Ich habe diese Datei nicht.Habe allerdings ioBroker noch nicht auf redis umgestellt.
Vielleicht wird die dann erst erstellt???
Gruß
Rainer
-
Habe die Datei gefunden - liegt unter
> /lib/systemd/****system/****redis-server.service
Habe gerade geändert, und da ich nicht weiß wie man den service neu startet habe ich rebootet
Gruß
Rainer
-
zuerst gab es weiter den Fehler mit dem permission Error.
Ein erneutes
chmod 777 -R /opt/iobroker
brachte dann
und da war dann die Datei:
Gruß
Rainer
-
-
Funktioniert es jetzt mit der rdb-Datei in /opt/iobroker/iobroker-data ? `
Ja!alle 5 Minute werden die states da hineingeschrieben.
Gruß
Rainer
-
Hab früher immer redis verwendet und bei den Installationen die ich jetzt neu gemacht habe auf meinen Test-Rechnern hab ich das natürlich auch versucht.
Redis -server installiert und dann
sudo iobroker setup custom
So, leider läuft iobroker dann nicht mehr. Mit redis-cli kann ich auf den server mit den default-parametern zugreifen, aber iobroker startet nicht und gibt auch nichts ins log. Wenn ich auf file zurückgehe gehts wieder!
Eine Konfig-Änderung im Admin wäre besser, dann könnte man die Einstellungen testen und eventuell auch per admin re-starten!
p.s.:
p.s.: Muss auch immer beim Testen re-booten da````
(sudo) iobroker stopiobroker controller daemon is not running
liefert. 'iobroker status' bringt aber 'iobroker is running' …
-
Update: Hab's geschafft, man darf nur nicht beides, objects db und states db auf redis umstellen, nur die states-DB funktioniert (bei mir)!
Wäre trotzdem nicht schlecht das im Admin einstellen zu können und nur im Fall von fehlfunktion auf die Kommandozeile zurück zu müssen!
-
@fsjoke: Wenn du eh gerade am neu aufsetzen bist, probier bitte die neueste Version des Installers ==> http://www.iobroker.net/docu/?page_id=8 … n_ioBroker
Und bitte kein "sudo" in Kombination mit iobroker-Befehlen mehr verwenden, das ist dann nicht mehr nötig.
-
AlCalZone,
gut dass du das schreibst! Hab iobroker mit dem neuen script installiert, aber nicht die Hinweise auf der Webseite gesehen!
Hinweis: mit der neuen installationsroutine funktionieren zur Zeit die Befehle: iobroker stop iobroker start iobroker restart iobroker status nicht mehr. Das ist ein Feature von Linux – nicht ioBroker! statt dessen muss sudo systemctl stop iobroker bzw. die anderen Entsprechungen benutzt werden Wir arbeiten an einem Workaround
Das ist der Grund dass iobroker stop nicht mehr funktioniert!
Ich wundere mich nur, soweit ich weiß ist iobroker ein Aufruf des js-controllers und er erledigt das start/stop/…
Er sollte doch wissen wie ich installiert habe und damit ob alte oder neue Befehle verwendet werden sollen!
-
Seit 4 tagen ist die Info auf der Webseite veraltet. Die Adapter Version vom 21.1. zw seitdem) hat diese Probleme nicht mehr.