NEWS
Multi-Host Nutzung … Wonach trennt ihr?!
-
Doppelpost gelöscht
-
Seit Redis sollte das Thema Schreibzugriffe ja weitestgehend Geschichte sein - außer vllt die History Adapter (History, sql, pot InfluxDB) … Damit wird RAM und ggf CPU bei viel Logik in Adaptern und JavaScript eigentlich das relevante Thema, oder?!
Ein Hot Standby wäre zwar cool aber auch aufwändig. Mir würde es ja schon reichen wenn man einen iobroker Slave zum Master machen könnte - heißt das man alle Adapter von dem bisherigen Master dahin umziehen kann ohne das der Master läuft ( also im Crash Fall). Sonst muss man immer ein Systems haben was regelmäßig mit dem Master gesynct ist und damit für den Master einspringen kann - gern auch manuell geswitcht.
Aber wie du schreibst darf kein Adapter genutzt werden der Daten nur lokal hat. Also anstelle History dann SQL oder InfluxDB ...
Bei Redis kann man nen Slave machen. Der ist zwar read only aber damit hast du den Datenstand gesynct und kannst den im Notfall zum Master erklären.
Existiert die ObjektsDB auf jedem Host in Sync oder nur auf dem Master?
Meine Idee bisher war ein Host mit der hauptlogik und Basisdaten und Kommunikation (hm-Rpc/hm-rega/ javascript, pushover, History und so) und eine zweite mit allem zusatzkram (Wetter, nut, mobile, vis) auf das ich im Notfall verzichten kann ...
Aber mit Idee von oben müsste der Redis Master ubd ggf die History-DB ( sql/InfluxDB ) woanders hin weil ja RAM relevant und die 2GB vom Cubie werden auch hier und da knapp ...
-
Ja, Sorry hab ich vergessen.
Schreibzugriffe bezogen sich natürlich hauptsächlich auf History.
Danke
Rainer
-
Mal eine vielleicht etwas blöde Frage zu Multihost. Sinn ist ja überwiegend die Verteilung der Rechenlast auf verschiedene Hosts. Auch wenn es jetzt nicht direkt was mit Multihost zu tun hat, so frage ich mich, ob der ioBroker bereits jetzt die vier Kerne des Raspi-2- bzw. -3-Prozessors nutzt oder ob da noch was Besonderes eingestellt werden muss?
Gruß,
Thorsten
-
@dtp:Mal eine vielleicht etwas blöde Frage zu Multihost. Sinn ist ja überwiegend die Verteilung der Rechenlast auf verschiedene Hosts. Auch wenn es jetzt nicht direkt was mit Multihost zu tun hat, so frage ich mich, ob der ioBroker bereits jetzt die vier Kerne des Raspi-2- bzw. -3-Prozessors nutzt oder ob da noch was Besonderes eingestellt werden muss?
Gruß,
Thorsten `
Multihost ist nicht für RAM oder CPU Last Verteilung gedacht, sondern peripherie Verteilung.Z.B. Es gibt PC als Master und der kommuniziert mit Raspis, wo mysensors (SERIAL) oder 1wire angeschlossen sind.
RAM und CPU Verteilung sind Nebeneffekte. Da jeder Adapter als node.js Process läuft, werden die dann vom System automatisch über CPUs verteilt (adaptersweise).
-
Multihost ist nicht für RAM oder CPU Last Verteilung gedacht, sondern peripherie Verteilung.
…
RAM und CPU Verteilung sind Nebeneffekte. `
Also so betrachtet passt das aktuelle featureset natürlich.
Durch den realitäts-Fakt das anscheinend mehr Nutzer kleinere Rechner wie raspis oder Cubies anstelle PCs als Master nutzen wird die RAM und CPU Verteilung praktisch wichtiger.
@Bluefox: wie würdest/behandelst du denn das Thema ausfallsicherheit bzw eigentlich "Disaster Recovery" ( also Master down … Cold/warm/Hot Standby um schnellstmöglich wieder live zu sein)?!
Nach den aktuellen Gedanken wäre ich wirklich bei einem zusätzlichen System was regelmäßig mit dem Backup vom Master bespielt wird und nicht aktiv läuft. Alle States sind im Redis und der hat einen Slave auf dem Standby system das hier der aktuellste stand da ist. Redis-Master läuft mit beim iobroker Master.
Falls Master abraucht dann den Slave-Redis zum Master machen und im iobroker den Hostnamen vom alten Master auf den neuen (bisheriges Standby System) ändern. Starten und sollte laufen.
Bei einem Ausfall eines multihost Rechners sind die Adapter da halt weg ... Kann man Die trotzdem auf nen anderen Host ziehen? Wenn ja Problem gelöst.
Was meint ihr dazu?
Und History Adapter muss halt weg (=nicht nutzen) und in sql oder InfluxDB - wenn da Replikation geht. Andere Adapter mit lokalen sich regelmäßig ändernden Daten kenne ich gerade spontan nicht ...
-
Hey,
1 Hauptsystem und 3 Remotes
ich verwende meine Multihost Umgebung hauptsächlich für Sprachausgabe via sayit.
Die Remotes werden auch für Musik/Sprachausgabe via Logitech Media Server verwendet. Wenn ich auf allen Systemen gleichzeitig Sprache möchte, dann mache ich das über den Logitech mittels mp3. Hat den Vorteil, dass es Synchron aus allen Lautsprechern kommt ala "Dingdong - Es hat geläutet"
Wenn ich die Sprache nur auf einem Remote möchte, oder diese Variablen beinhaltet, dann via sayit ala "Guten Morgen Martin, steh' endlich auf!" … Das interessiert meine Frau und Kind natürlich nicht, die habe Ihr eigenes "Guten Morgen"
Einer der Remotes hat auch eine Javascript Instanz, mit welcher ich mittels Bluetooth meine Fahrzeuge in der Garage überwache. Funktioniert echt gut
-
Hey rascal, mir fehlte immer das Szenario für einem Clienten. Aber die Autoüberwachung ist ein geniales Szenario. Danke!
Wie hast du das gelöst? Bluetooth Scanner Script und Bluetooth Stick im Auto mit der Überwachung, wenn ich anwesend und Auto weg dann Alarm?
Gesendet von iPhone mit Tapatalk
-
Genau so mache ich es.. Und ich lasse mir in vis anzeigen, ob das Auto da ist oder nicht
Gesendet von meinem HUAWEI CRR-L09 mit Tapatalk
-
Batteriebetriebener beacon im Auto oder wie?
Welche Scanner Software nimmst du? Gibt's bestimmt schon Ingos in nem Thread hier in Forum, oder?!
-
Ich benutze 3 Gigaset G-tag
Das Script dazu ist hier vom Forum http://forum.iobroker.net/viewtopic.php … =bluetooth
Was man aufpassen muss ist, dass das Script auf dem Raspi 3 läuft, welcher scannt. Es funktioniert nicht, dass das Script am "main" iobroker läuft, aber scannen soll der Remote in der Garage
Das Script braucht schon die Hardware auf dem Rechner auf dem es läuft.
-
Ich habe mal eine Frage:
Beim Multihost-Clienten. Werden Skripte auf einer Client Javascriptinstanz auf dem Clienten gespeichert oder auf dem Host?
Das wäre wichtig zu wissen für mich für die Backupstrategie. Wenn die Skripte alle auf dem Host gespeichert werden brauche ich den Clienten nicht sichern.
-
Ich glaube (Halbwissen) das die JS-Skripte in der Objects-DB liegen und damit an sich vom Master kommen bzw. auf beiden Systemen verfügbar sind.
-
Ich glaube (Halbwissen) das die JS-Skripte in der Objects-DB liegen und damit an sich vom Master kommen bzw. auf beiden Systemen verfügbar sind. `
Muss den alten Thread mal reaktivieren…
Wie plane/mache ich es, dass ein Skript dann auf einem Slave läuft? Muss ich auf dem Slave eine weitere JS Instanz installieren?
Ich möchte bestimmte Funktionen direkt nur auf dem Slave steuern.
Fitti
-
Hallo Fitti,
Ich habe das gerade auch gemacht, weil ich Hardwaredaten aus dem Betriebssystem des Slaves auslesen wollte.
Um nicht per SSH mit Credentials darauf zugreifen zu müssrn habe ich eine zweite js-Instanz auf drm slave installiert und gut ist.
Gruß
Rainer
-
Man muss nur drauf achten, das man im Reiter Scripte hinter dem jeweiligen Script die richtige Instanz auswählt … ich habe eine Stunde gesucht, warum das verf***te Script nicht sauber läuft.
Gruß,
Eric
-
das man im Reiter Scripte hinter dem jeweiligen Script die richtige Instanz auswählt `
und zwar dort:
die anderen Datenpunkte liegen auf dem Host vor entweder RPi2.1 oder Host.Keller-Raspi.system. Dann kann das Script auch auf dem Host laufen.
Gruß
Rainer
-
Danke Euch. Läuft! 8-)
THUMP UP*
(Ich bin für mehr Smilie-Typen!)
-
Danke Euch. Läuft! 8-)
THUMP UP*
(Ich bin für mehr Smilie-Typen!) `
Wieso geht doch hier um
http://www.typografie.info/temp/emoji/range4/1F3E0.png" /> undhttp://www.typografie.info/temp/emoji/range3/1F4BB.png" />!Aber es gehen eigentlich alle
http://www.pic4ever.com/images/Banane21.gif" />http://www.pic4ever.com/images/2i8d4ao.gif" />http://www.pic4ever.com/images/vahidrk.gif" />~~~~~~~~