NEWS
Gelöst: Multihost, Slave geht ständig down
-
Moin
habe eine Multihost Umgebung mit zwei Raspberry aufgebaut [Maste ist ein RP4 und Sclave ein [RP3], mit den aktuellen Host 5.0.12. Funktioniert super, jedoch legt sich der Slave alle paar Stunden schlafen. Ich habe für den Slave mal den Protokoll Level auf Silly gesetzt, in der Hoffnung irgendwelcge informationen vor dem Abstutz zu bekommen. Keine Einträge. Im Protokoll ist im Master unter "notification System" {"memIssues":{"count":1}}. Sonst gibt es keinen Hinweis warum der Slave aussteigt.
Habe es mit separaten Netzteil versucht, bis eben war der Slave im WLAN habe jetzt mal probeweise ihn ins LAN gehangen.
MichaelEdit: Habe die Hardware ersetzt, Ergebnis bislang ist der Slave nicht mehr ausgefallen
Hohe CPU Auslastung des Masters lag offenbar an fehlenden NPM Modulen im Javascript-Adapter, die offenbar in einem älteren Script noch verknüpft waren.
Vielen Dank an alle die mich Unterstütz haben und soviel Geduld mitgebracht haben. -
@michihorn du musst an deinem Wording arbeiten..
jedoch legt sich der Slave alle paar Stunden schlafen
informationen vor dem Abstutz zu bekommen
warum der Slave aussteigt
ja was den jetzt ??? für mich sind das 3 Zustände mit den ich nix anfagen kann
-
@arteck Moin, die einzige Info aus den Protokollen ist: HostSlave down.
Ich würde mehr Infos angeben, wenn ich sie hätte. Wenn ich den Slave dann einmal "spannungsfrei" mache, startet er wieder und läuft eine gewisse Zeit.
Michael -
@michihorn sagte in Multihost, Slave geht ständig down:
Wenn ich den Slave dann einmal "spannungsfrei" mache
Hoffentlich nicht einfach durch Stecker ziehen ...
-
@michihorn sagte in Multihost, Slave geht ständig down:
Wenn ich den Slave dann einmal "spannungsfrei" mache
bevor man das macht sollte man aber versuchen ob man per ssh auf den PI kommt - schon probiert ?
-
@michihorn schon mal ins System Log geschaut ?? wenn bei iobroker im LOG nix steht
-
@michihorn sagte in Multihost, Slave geht ständig down:
bis eben war der Slave im WLAN
Na ja, das könnte das Problem sein
-
@djmarc75 In dem Fall wenn der Slave "down" ist komme ich auch per Putty nicht mehr auf den PI. Ansonsten während der Laufzeit des PI , komme ich ohne Probleme per Putty auf den PI.
-
@michihorn sagte in Multihost, Slave geht ständig down:
komme ich auch per Putty nicht mehr auf den PI.
mit welcher Reaktion des Pi?
-
@homoran Per putty kein Zugriff mehr. Ich tausche jetzt mal den PI aus. Im übrigen hat der wechsel von WLAN auf nichts gebraucht jetzt nach 3 Stunden ist er PI wieder down
-
@arteck sagte in Multihost, Slave geht ständig down:
@michihorn schon mal ins System Log geschaut ?? wenn bei iobroker im LOG nix steht
Wo genau muss ich nachsehen? Wo finde ich System Log?
-
@michihorn sagte in Multihost, Slave geht ständig down:
Per putty kein Zugriff mehr.
Das schriebst du bereits.
Aber da kommt dan eine Meldung!
welche? -
@homoran sagte in Multihost, Slave geht ständig down:
@michihorn sagte in Multihost, Slave geht ständig down:
Per putty kein Zugriff mehr.
Das schriebst du bereits.
Aber da kommt dan eine Meldung!
welche?Keine Meldung, ich sehe einfach nur das die Adapter auf dem Slave keine Daten mehr senden. Im Putty bleibt das erste Zeichen [grüner Curser] nun sollte eigentlich die Zugangsdaten abgefragt werden, aber die Curser bleibt ohne weitere Reaktion stehen. Ich habe nun den PI getauscht, mal schauen wie es in ein paar Stunden aussieht. Im Moment läufts
-
@michihorn sagte in Multihost, Slave geht ständig down:
Im Putty bleibt das erste Zeichen [grüner Curser] nun sollte eigentlich die Zugangsdaten abgefragt werden, aber die Curser bleibt ohne weitere Reaktion stehen
wie lange gewartet?
welcher grüne Cursor?zeigen!
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1
-
@michihorn sagte in Multihost, Slave geht ständig down:
Ich habe nun den PI getauscht
wie? was?
ein anderer pi hat doch eine andere IP!wie hast du Multihost konfiguriert?
Haben deine PIs unterschiedliche Hostnamen? -
-
-
@michihorn bitte alles beantworten!
@homoran sagte in Multihost, Slave geht ständig down:
wie? (hast du den Pi getauscht) was? (genau hast du gemacht)
ein anderer pi hat doch eine andere IP!
wie hast du Multihost konfiguriert? -
@homoran Hallöchen
die beiden Hosts haben einen eigenen Namen.
Der neue Slave hat die Speicherkarte vom alten Slave erhalten
Im Slave ist in der Datei iobroker.json die IP des Master vorhanden.
Im Master ist Multihost auf enable
Anbei die iobroker.json vom Master:
{ "system": { "memoryLimitMB": 0, "hostname": "", "statisticsInterval": 15000, "// statisticsInterval": "Interval how often the counters for input/output in adapters and controller will be updated", "checkDiskInterval": 300000, "// checkDiskInterval": "Interval how often the disk size will be checked", "instanceStartInterval": 2000, "// noChmod": "Flag to test new feature with no chmod call. Must be deleted later and noChmod must be mainline (2018.06.04)", "compact": false, "// compact": "Controller will try to start the instances as a part of the same process. No spawn will be done. Only by adapters that support it and have flag compact flag in io-package.json", "allowShellCommands": false, "// allowShellCommands": "Allow execution of \"shell\" sendToHost commands", "memLimitWarn": 100, "// memLimitWarn": "If the available RAM is below this threshold on adapter start, a warning will be logged.", "memLimitError": 50, "// memLimitError": "If the available RAM is below this threshold on adapter start, an error will be logged." }, "multihostService": { "enabled": true, "secure": false, "password": "$/aes-192-cbc:1139b4570fcc6f8b285ef7bd2b8cde18:d59d0233246bb259a62b00c19b93cd88" }, "objects": { "type": "jsonl", "// type": "Possible values: 'file' - [port 9001], 'jsonl' - [port 9001], 'redis' - [port 6379 or 26379 for sentinel].", "host": "0.0.0.0", "port": 9001, "noFileCache": false, "maxQueue": 1000, "connectTimeout": 5000, "writeFileInterval": 5000, "dataDir": "", "options": { "auth_pass": null, "retry_max_count": 19, "db": 0, "family": 0, "enableReadyCheck": true, "host": "0.0.0.0", "port": 9001, "password": null, "autoResubscribe": false, "connectionName": "host.master", "retry_max_delay": 5000 }, "backup": { "disabled": false, "files": 24, "// files": "Minimal number of backup files, after the deletion will be executed according to backupTime settings", "hours": 48, "// hours": "All backups older than 48 hours will be deleted. But only if the number of files is greater than of backupNumber", "period": 120, "// period": "by default backup every 2 hours. Time is in minutes. To disable backup set the value to 0", "path": "", "// path": "Absolute path to backup directory or empty to backup in data directory" }, "jsonlOptions": { "// autoCompress (1)": "The JSONL DB is append-only and will contain unnecessary entries after a while.", "// autoCompress (2)": "It will be compressed when the uncompressed size is >= size * sizeFactor AND >= sizeFactorMinimumSize", "// autoCompress (3)": "Note that too low values here will cause the DB to be rewritten often.", "autoCompress": { "sizeFactor": 2, "sizeFactorMinimumSize": 25000 }, "// ignoreReadErrors": "If single lines in the DB are corrupted, they can be ignored without losing the whole DB.", "ignoreReadErrors": true, "// throttleFS (1)": "By default, the database immediately writes to the database file. Write accesses can be reduced using the throttleFS option.", "// throttleFS (2)": "Be aware that buffered changes will be lost in case the process crashes.", "throttleFS": { "// intervalMs": "Write to the database file no more than every intervalMs milliseconds.", "intervalMs": 60000, "// maxBufferedCommands": "Force writing after this many changes have been buffered. This reduces memory consumption and data loss in case of a crash.", "maxBufferedCommands": 100 } } }, "states": { "type": "jsonl", "// type": "Possible values: 'file' - [port 9000], 'redis' - [port 6379].", "host": "0.0.0.0", "port": 9000, "connectTimeout": 5000, "writeFileInterval": 30000, "dataDir": "", "options": { "auth_pass": null, "retry_max_count": 19, "db": 0, "family": 0, "enableReadyCheck": true, "host": "0.0.0.0", "port": 9000, "password": null, "autoResubscribe": false, "connectionName": "host.master", "retry_max_delay": 5000 }, "backup": { "disabled": false, "files": 24, "// files": "Minimal number of backup files, after the deletion will be executed according to backupTime settings", "hours": 48, "// hoursC": "All backups older than 48 hours will be deleted. But only if the number of files is greater than of backupNumber", "period": 120, "// period": "by default backup every 2 hours. Time is in minutes. To disable backup set the value to 0", "path": "", "// path": "Absolute path to backup directory or empty to backup in data directory" }, "jsonlOptions": { "// autoCompress (1)": "The JSONL DB is append-only and will contain unnecessary entries after a while.", "// autoCompress (2)": "It will be compressed when the uncompressed size is >= size * sizeFactor AND >= sizeFactorMinimumSize", "// autoCompress (3)": "Note that too low values here will cause the DB to be rewritten often.", "autoCompress": { "sizeFactor": 10, "sizeFactorMinimumSize": 50000 }, "// ignoreReadErrors": "If single lines in the DB are corrupted, they can be ignored without losing the whole DB.", "ignoreReadErrors": true, "// throttleFS (1)": "By default, the database immediately writes to the database file. Write accesses can be reduced using the throttleFS option.", "// throttleFS (2)": "Be aware that buffered changes will be lost in case the process crashes.", "throttleFS": { "// intervalMs": "Write to the database file no more than every intervalMs milliseconds.", "intervalMs": 60000, "// maxBufferedCommands": "Force writing after this many changes have been buffered. This reduces memory consumption and data loss in case of a crash.", "maxBufferedCommands": 2000 } }, "maxQueue": 1000 }, "log": { "level": "info", "maxDays": 7, "noStdout": true, "transport": { "file1": { "type": "file", "enabled": true, "filename": "log/iobroker", "fileext": ".log", "maxSize": null, "maxFiles": null }, "syslog1": { "type": "syslog", "enabled": false, "host": "localhost", "// host": "The host running syslogd, defaults to localhost.", "// port": "The port on the host that syslog is running on, defaults to syslogd's default port(514/UDP).", "protocol": "udp4", "// protocolC": "The network protocol to log over (e.g. tcp4, udp4, unix, unix-connect, etc).", "// path": "The path to the syslog dgram socket (i.e. /dev/log or /var/run/syslog for OS X).", "// facility": "Syslog facility to use (Default: local0).", "localhost": "iobroker", "// localhost": "Host to indicate that log messages are coming from (Default: localhost).", "// sysLogType": "The type of the syslog protocol to use (Default: BSD).", "// app_name": "The name of the application (Default: process.title).", "// eol": "The end of line character to be added to the end of the message (Default: Message without modifications)." }, "seq1": { "type": "seq", "enabled": false, "serverUrl": "http://IP:PORT", "// serverUrl": "The http(s) URL including port of the seq server. If you use HTTPS a real certificate is needed; self signed certs are ot accepted.", "apiKey": "", "// apiKey": "The apiKey of the seq system" } } }, "// dataDir": "Always relative to iobroker.js-controller/", "plugins": {}, "dataDir": "../../iobroker-data/" }
-
@michihorn cpu am Master ist verdächtig hoch und der verbrauchte Ram am Slave liegt auch bei knapp 800 MB. Was läuft denn auf dem Slave so alles ?