NEWS
IObroker VM braucht ewig lange zum runterfahren (Grund Redis - Erneut)
-
@AlCalzone So... deine Änderung tuts: Das gab mir ja keine Ruhe, bisschen über VPN gespielt.
Ergebnisse:in /lib/systemd/system/iobroker.service eingefügt.
gespeichert
bei iobroker stop bekam ich eine warnung, dass die datei geändert wurde, und ich systemctl daemon-reload nochmal laufen lassen müsste.getan
iobroker setup custom
states auf redis geändertiobroker start
iobroker json geprüft
States sieht da nun so aus:
"states": {
"type": "redis",
"typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379].",
"host": "127.0.0.1",
"port": 6379,
"options": {
"auth_pass": null,
"retry_max_delay": 15000
},
"dataDir": "../../iobroker-data/"
},steht also auf redis.
dann in Proxmox mehrfach die VM herunterfahren, neustart. die VM war mit der änderung von dir binnen 3 Sekunden unten.
also erfolgreich. bis jetzt
nochmal iobroker.json geprüft, Eintrag steht definitiv auf redis.Härteprobe auch probiert: einen Javascript State manuell den Wert geändert, unmittelbar daraf VM heruntergefahren.
Stop zügig. Neustart, javascript wert überprüft, Wert war da. redis fährt wohl mit ordentlichem Dump sauber runter,Wenn du den Installer aber änderst und jemand das system installiert aber kein Redis server bei sich hat, dann kommt das system ja nie hoch dann, oder ?
Vllt aber noch die FAQ abändern auf den neuen Weg hier, der dort beschriebene ist ja nicht mehr gültig auf neuem System und der Forenlink da zeigt in Nirvana.
Vielen Dank erstmal, Black
-
@Blackmike sagte in IObroker VM braucht ewig lange zum runterfahren (Grund Redis - Erneut):
Wenn du den Installer aber änderst und jemand das system installiert aber kein Redis server bei sich hat, dann kommt das system ja nie hoch dann, oder ?
Ich habe die Dokumentation so verstanden, dass nicht existierende Services beim Start ignoriert werden. Von daher müsste es passen.
-
@AlCalzone Also bei mir war die Datei /lib/systemd/system/iobroker.service
zwar vorhanden aber leer.
Hab dan den Part
[Unit]
Description=ioBroker Server
Documentation=http://iobroker.net
After=network.target redis.service
Wants=redis.service
dennoch eingefügt..Danach zwar sauber rebootet, aber iobroker braucht jetzt start Hilfe.
Also iobroker start nach reboot, damit er wieder hoch fährt...Dazu ne idee?
-
@smartboart Kannst du deine Datei mal vollständig zeigen? Mir sieht es aus als fehlt da was im Vergleich zum Screenshot.
Ansonsten probiere das Fixer-Skript mal aus, das sollte eigentlich alles richten.
-
Habe gestern das image wieder hergestellt und mein backup installiert um zu schauen ob es die Datei überhaupt gibt. /lib/systemd/system/iobroker.service
Die Datei ist im ursprünglichen Zustand nicht vorhanden. Habe auch eine ältere Installation auf meinem Tinker. Aber alle Updates durchgeführt. Also alles aktuell ebenfalls iobroker und adapter auf latest.
In dem Zustand funktioniert alles tadellos. Nur der langsame reboot und shutdown nach umstellung auf redis im Multihostsystem...Muss die datei acuh in älteren installationen vorhanden sein? Ist das Fixer script nicht nur für Installationen nach der neuen Anleitung? -
Dann hast du wahrscheinlich noch eine init.d-basierte Installation. Öffne mal die Datei
/etc/init.d/iobroker.sh
mit dem Editor. Dort sollte zu Beginn soetwas stehen:#!/bin/bash ### BEGIN INIT INFO # Provides: iobroker.sh # Required-Start: \$network \$local_fs \$remote_fs # Required-Stop: \$network \$local_fs \$remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts ioBroker # Description: starts ioBroker
Ändere das zu
#!/bin/bash ### BEGIN INIT INFO # Provides: iobroker.sh # Required-Start: \$network \$local_fs \$remote_fs # Required-Stop: \$network \$local_fs \$remote_fs # Should-Start: redis-server # Should-Stop: redis-server # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts ioBroker # Description: starts ioBroker
(also die beiden Zeilen mit redis-server einfügen).
-
@AlCalzone Sollte der installations-Fixer das nicht fixen?
-
@apollon77
Aber nur bei neuen Installationen.@smartboart sagte in IObroker VM braucht ewig lange zum runterfahren (Grund Redis - Erneut):
Ist das Fixer script nicht nur für Installationen nach der neuen Anleitung?
Die gerade von @AlCalzone gepostete Anleitung gilt für npm instal... Installationen
-
@apollon77 Ja sollte er, aber er ersetzt vermutlich die init.d mit systemd. Die schnelle Lösung für @smartboart sind die beiden Zeilen.
Vermutlich lohnt sich dennoch ein Backup + Fixer. -
@AlCalzone dann im Fixer immer auch die anderen init-System Files löschen Und nur das relevante neue anlegen?
-
Wird schon längst so gemacht
-
@AlCalzone said in IObroker VM braucht ewig lange zum runterfahren (Grund Redis - Erneut):
Should-Start: redis-server
Should-Stop: redis-server
vielen Lieben Dank für den Tipp...werde ich am WE mal ausprobieren....
-
@AlCalzone said in IObroker VM braucht ewig lange zum runterfahren (Grund Redis - Erneut):
Should-Start: redis-server
Should-Stop: redis-server
super das hats gebracht! Vielen Dank der Tipp war Gold wert.
Kann mir kurz noch einer erklären warum ich das fixer script trotzdem noch mal laufen lassen sollte?
Mein System läuft absolut stabil... -
@smartboart sagte in IObroker VM braucht ewig lange zum runterfahren (Grund Redis - Erneut):
Mein System läuft absolut stabil...
Brauchst du nicht unbedingt. Wenn bei dir wirklich alles problemlos läuft, kannst du es auch erst mal lassen.
Ins Fixer-Skript und den neuesten Installer ist einiges an Erfahrung eingeflossen, was die Rechte-Problematiken auf neueren Systemen (insbesondere wegen npm) angeht. Ausführen als Root (
sudo iobroker start
, etc..., was eine Sicherheitslücke darstellt) und EACCES-Probleme bei Installationen sind damit Geschichte. -
Moin zusammen,
ja ich weiß, dieses Thema ist schon paar Jahre alt. Der Issue jedoch ist (zumindest bei mir) noch aktuell.
Wenn ich auf der Konsole ioBroker stop machen möchte (z.B. bei Updates), dann dauert das Stoppen bis zu 5min bei mir.
Jetzt wollte ich gerne diesen Tipp hier ausprobieren, nur gibts die Datei /etc/init.d/iobroker.sh nicht mehr.
Und ja, es gab vor etlicher Zeit mal die Umstellung auf diesen Service. Ich weiß trotzdem nicht, wo ich denn jetzt das Redis Zeug ausschalten kann, damit das schneller geht.
Mit dem Installation Fixer hat das jedenfalls nicht funktioniert.Danke und Grüße
Henri -
systemctl status iobroker
sagt dir wo das service File in aktuellen Environments liegt.Am Ende das editieren und dann
systemctl daemon-reload
zum "speichern" des genderten servcie files -
@apollon77
Danke dir apollon.
Darf ich dich noch mal fragen, was genau ich in der Datei ändern muss, damit dieses "Redis/ langsames Herunterfahren" abgestellt wird? -
@hennerich Also an sich sollte da sdhcon alles drin sein ... iobroker.fix schreibt das an sich neu.
Unter "After" und "Wants" in der ersten Sektion muss redis.service drin sein ... anaonsten musst du schauen ob der bei dir vllt anders heisst?
-
This post is deleted! -
@apollon77
Hey, so sieht das File bei mir aus:[Unit] Description=ioBroker Server Documentation=http://iobroker.net After=network.target redis.service influxdb.service mysql-server.service mariadb-server.service Wants=redis.service influxdb.service mysql-server.service mariadb-server.service [Service] Type=simple User=iobroker Environment="NODE=$(which node)" ExecStart=/bin/bash -c '${NODE} /opt/iobroker/node_modules/iobroker.js-controller/controller.js' Restart=on-failure [Install] WantedBy=multi-user.target