NEWS
Ausfallssicherheit IoBroker - maximale Verfügbarkeit
-
Hallo,
mich beschäftigt schon länger die Frage, wie ich mein System konfigurieren, bzw. aufsetzen soll, damit ich bei eventellen Hardware-ausfällen, bzw. auch bei Wartungen vom Server, IOBroker durchgängig, bzw. mit möglichste wenig Ausfallzeit und Konfigurationsaufwand immer verfügbar habe.
Wie vermutlich bei vielen anderen auch ist IOBroker im Haushalt sehr tief verwurzelt ( Steuerung PV, Heizung, Licht,......) deshalb macht ich mir hier so meine Gedanken.
Aktuell siehr mein System wie folgt aus:
-) Master: RasPi 4 mit 4GB und USB-SSD; RedisDB für States und Objects, InfluxDB für Datenaufzeichnung und Grafana für die Vis, alles am Host installiert
-) 3 Slaves ( jeweils RasPi3) mit div USB-Geräten + GPIO-Ports verteilt über das ganze Haus um die Peripherie zu steuern (greifen alle auf die Redis DB zu), hier verwende ich SD KartenBackupsystem: Ich mache regelmäßig Backups über den Backitp Adapter und nebenbei noch Images von allen Pis.
Beim Master mittels der Beschreibung auf www.linux-tips-and-tricks.de und bei den Slaves der SSDs benutze ich ein angepasstes Skript von https://strobelstefan.org/2019/10/21/raspberry-pi-sd-karte-im-livebetrieb-klonen-neue-version/Nun kommt noch der Wunsch/Notwendigkeit dazu den MASTER neu aufzusetzen, weil 1) ich es nicht schaffe den js-controller von 4.0.23 auf die aktuelle Version upzugraden und 2) ich auch gern das OS auf auf bookworm 64 bit upgraden möchte. Dies möchte ich nun gleich als Gelegenheit nutzen um alles Ausfallssicherer zu machen.
Mein Wunsch/Idee wäre nun folgender: Ich würde gerne meinen Unraid-Server als zukünftigen Master benutzen, am liebsten mittels Docker für all die Apprlikationen ( IOB, Grafana, Influx, Redis) die jetzt am Master laufen. Vlt mittels Portainer und Docker compose bzw Portainer stacks. So sollte es möglich sein für den Fall das eine Hardware ausfällt oder Wartung braucht, sehr schnell das System auf der anderen Hardware in einer Grundkonfig einzurichten und dann über das Einspielen der Backups und dem Anpassen der IP-Adressen der Slaves rel schnell wieder ein laufendes System zu haben.
Perfekt wäre natürlich wenn es eine Möglichkeit gäbe, z.B. alles immer am Server laufen zu lassen, und den RasPi4 parallel als Backup-Master laufen zu lassen der übernimmt wenn der Server offline sein sollte. Da bin ich aber noch nicht fündig geworden.
Würde mich freuen, wenn wir hier eine Diskussion starten könnten wie der IOBroker für diesen Anwendungsfall am bessten ausgelegt werden kann. Ich denke das würde für viele Interessant sein.
vG
Etze -
-
@arteck
Danke für den Tipp, den threadhttps://forum.iobroker.net/topic/71617/iobroker-auf-einem-ha-cluster-auf-nucs/4?_=1705552204308
kannte ich noch nicht. Soweit ich das gelesen habe ist hier Proxmox im Spiel, ich habe aber Unraid in Verwung, bin mir deshalb nicht sicher ob ich das so anwenden kann.
Den thread mit dem redis sentinel habe ich schon mal gelesen, für meine Anwendung, scheint der aber nicht zu passen, da ich ja "nur" 2 Hardwaresysteme habe. Den Unraid-Server und den RasPi4.
Würde das Thema mit dem Redis Sentinel den auch funktionieren, wenn ich z.B am Unraid-Server 2 Redis Docker laufen habe, einen als Master und einen Als Slave konfiguriere und den 2ten Slave am RasPi4 laufen lasse. Sollte der Unraidserver ausfallen, und somit 2 Redis Datenbanken würde dann automatisch der RasPi übernehmen?
vG Etze
-
@etzeste13
Moin,
ich habe hier 3 Dell Optiplex 7040 Micro Tiny Computer, gebraucht gekauft für 149 €/Stück, mit Proxmox8 auf Debian12 im HA-Verbund laufen.
IObroker inkl. Redis läuft als VM, da Container nicht ohne Ausfall verschoben werden können.
Influxdb2, Grafana, Pi Hole und CheckMK laufen in Containern. Mit Proxmox macht das richtig Spaß und läuft auch stabil. Backups für VMs und CTs klappt auch, wie auch das Erstellen von Snapshots vor einem Update
Kann ich sehr empfehlen.Gruß
Thomas -
@tommy61 said in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:
da Container nicht ohne Ausfall verschoben werden können.
heißt das, dass die ausfallsicherheit ausschließlich durch die benutzung von proxmox umgesetzt wird? Ich habe proxmox nicht in verwendung und habe mich auch noch nicht eingelesen deshalb diese frage. Wäre so eine umsetzung auch mit meinen Unraid-Server und dem bestehenden RasPi4 möglich? oder müsste man noch einen weiteren RasPi 4 in den proxmox cluster hängen?
-
@etzeste13
Proxmox ist bestimmt nicht das einzige Mittel, um eine Hochverfügbarkeit von Systemen und deren Anwendungen zu erreichen. VMware und HyperV (Microsoft) erschien mir ein bisschen teuer und zu fett.
Ob Unraid das ermöglicht und bietet, was ich mit Proxmox realisiert habe, kann ich dir nicht beantworten.Eines war für mich am wichtigsten: Mit minimalem, und vor allem finanziellen Aufwand, das Risiko einen Hardware-Ausfall und die damit verbundene Nicht-Verfügbarkeit von IObroker zu erleiden, zu reduzieren. IObroker steuert bei mir nahezu das gesamte Haus, inkl. PV mit Batterie-BMS, Steuerung der Wallbox, Heizung, Licht und Gartenbewässerung etc.
Außerdem habe ich dadurch die Möglichkeit, Adapter und Scripte in einer Testumgebung auszuprobieren, bevor ich sie ins Produktivsystem übernehme.
Raspberry's mit 4GB hatte ich vorher auch im Einsatz. Mittlerweile habe ich im IObroker aber mehr als 50 Instanzen laufen und da wurde der Speicher was knapp. Daher die 3 Dell-Büchsen mit je 16GB RAM.Gruß
Thomas -
@tommy61
hattest du am RasPi mit den 4GB auch Proxmox laufen, oder alles direkt am Host? Wenn du das jetzt mit Proxmox machst und mit 3 Hosts, wie verteilt sich das auf diese 3Hosts? Wie viel Speicher brauchtst du da für den Iobroker inkl Influx, Redis, Grafana? Ich brauche auf meinem Master aktuell ca 2GB RAM und jetzt wäre es interessant wie viel hier Proxmox noch zusätzlich braucht...
Wenn der 4GB Pi ausreichen würde, würde ich mir das mit Proxmox ansehen... -
@etzeste13 was nützt der Firlefanz wenn Internet/WLAN abkackt?
Proxmox auf einem raspi ist verrückt in meinen Augen. Hat nur Sinn auf halbwegs potenten Rechnern um eben
ehrere VMs/ LXCs zu installieren. -
@etzeste13
Auf dem Raspi hatte ich IObroker direkt installiert.
Die Speicherverteilung auf den Hosts ist:
8 GB für IObroker
4 GB für InfluxDB
2 GB für GrafanaWie bereits gesagt, hatte ich IObroker auf einen Raspi 4 mit 4 GB laufen. Mit dem Zuwachs an Adaptern lief langsam der Swap-Bereich voll und das System wurde lahm.
@da_Woody
Wenn das Internet weg ist, kann ich keine Befehle mehr an Alexa schicken. Alles andere ist verfügbar, da ich keine Cloud-Dienste nutze. -
@tommy61 wesweil ich geschrieben hatte: Internet/WLAN... das hat 0,nix mit cloud ja/nein zu tun.
mir hats mal durch einen ausfall im umspannwerk den router zerbröselt, ergo auch kein WLAN mehr.
gute laune war im keller. -
@da_woody
Ok, das ist natürlich blöde und die Laune ist im Keller, wenn es zu Schaltfehlern des EVU kommt.
Mit Cloud meinte ich, dass ich keine Daten/Informationen zur Verarbeitung aus dem Netz hole, wie z.B. Daten der PV-Anlage. Einzig Alexa würde sehr schweigsam werden, wenn das Internet mal ausfallen würde
Das WLAN ist bei mir, aufgrund der Gebäudekonstruktion auf mehrere Repeater verteilt (MESH). Alle Geräte haben eine feste IP, so dass ich nicht auf DHCP vom Router angewiesen bin. Alles, was einen Netzwerkanschluss hat, ist auch über Kabel angeschlossen. Das bringt schon eine gewisse Ausfallsicherheit.Gruß
Thomas -
@tommy61 repeater? eher APs...
auch bei mir werkelt ein MESH, nützt halt nichts, wenn der hauptrouter abkackt. einer muss ja den haufen dirigieren. -
@da_woody
Guter Punkt. Da die Fritzbox ja den Übergang zum WLAN herstellt, ist das WLAN natürlich weg, wenn die Fritzbox aus ist.
Dann noch ein paar Access-Points und das WLAN ist auch ausfallsicher genug
Hab ich doch dann wieder was zu tun -
@tommy61 sagte in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:
Dann noch ein paar Access-Points und das WLAN ist auch ausfallsicher genug
wer routet denn die Pakete zwischen den APs, wenn der Router weg ist?
-
@homoran sagte in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:
@tommy61 sagte in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:
Dann noch ein paar Access-Points und das WLAN ist auch ausfallsicher genug
wer routet denn die Pakete zwischen den APs, wenn der Router weg ist?
Einen Router braucht‘s halt nur zum Routen - solange in einem Netz die Teilnehmer ihre IPs haben, und sich im gleichen Netz befinden, geht‘s ganz wunderbar ohnr…
-
@tommy61 said in Ausfallssicherheit IoBroker - maximale Verfügbarkeit:
@etzeste13
Auf dem Raspi hatte ich IObroker direkt installiert.
Die Speicherverteilung auf den Hosts ist:
8 GB für IObroker
4 GB für InfluxDB
2 GB für GrafanaWie bereits gesagt, hatte ich IObroker auf einen Raspi 4 mit 4 GB laufen. Mit dem Zuwachs an Adaptern lief langsam der Swap-Bereich voll und das System wurde lahm.
@da_Woody
Wenn das Internet weg ist, kann ich keine Befehle mehr an Alexa schicken. Alles andere ist verfügbar, da ich keine Cloud-Dienste nutze.Hallo,
danke für dein Feedback. Hab mir in der Zwischenzeit ein paar Proxmox-Clustering Toturials angesehen, und denke das das sicher eine coole und machbare Lösung wäre. Ich glaube nur das dass nur schwierig auf meiner bestehenden Hardware unterbringen kann, weil ich ja Unraid als OS am Server (i3-10320 mit 32GB RAM) verwende und eben der bestehenden RasPi4 mit 4GB da ist. Jetzt noch extra 3 Thin Clients zu kaufen für die Sache wäre zwar machbar, aber nicht mein erster Wunsch.Eine Frage noch zu deinem Setup: Nutzt du da auch Redis in Verbindung mit dem IOBroker? und sind die IOB, InfluxDB und Grafana, dann als LXC Container auf deinem Cluster angelegt?
Rein vom Gefühl her mit dem was ich bisher gelesen haben, wäre Docker Lösung, die mit Portainer Stacks aufgesetzt und gewartet wird eine coole Lösung, und würde auch auf meiner Hardware funktionieren. Was mich hierzu eben fehlt, sind totourials im Netz, wie man das am besten angeht. Speziell das Thema Redis ,Sentinel und Docker....
hat hier wer noch einen Tip für mich?Der Einwand mit dem Netzwerk ist naturlich valide, aber das ist mir in den letzten Jahren Gott sei dank immer sehr stabil gelaufen, und wenn jetzt der Router oder andere Harware warum auch immer abdankt, habe ich hier einen Ersatzrouter herumstehen, denn ich mit der gleichen Config relativ schnell in Betrieb nehmen könnte.
-
@jleg dann blieb der Satz aus. Weil's Mumpitz ist. APs ohne Router? Wie sollen die sich verständigen?
-
Eine Frage noch zu deinem Setup: Nutzt du da auch Redis in Verbindung mit dem IOBroker? und sind die IOB, InfluxDB und Grafana, dann
als LXC Container auf deinem Cluster angelegt?Ja, Redis verwende ich auch auf der IOB-VM.
IOB ist eine VM, alle anderen sind Container (LXC).
VM deshalb, weil, im Falle eine Migration auf einen anderen Host, kaum Ping-Verluste auftreten. Container werden immer erst gestoppt, dann verschoben und wieder gestartet.
Im Hardwareausfall eines Hosts, kommt es natürlich zu einer kurzen Ausfallzeit, bis die VM auf einem anderen Host gestartet ist.Gruß
Thomas -
Mal so ne Frage weil das Thema oder die Aussage „iobroker Steuer bei mir alles“ hier im Forum schon häufiger kam.
Ist es also so das euer Haus nicht mehr funktioniert wenn iobroker nicht mehr läuft?
Sollte das so sein würde ich glaube ich eher das Konzept überdenken.
Ich steuere auch z.B. meine Wärmepumpe über ioBroker aber selbst wenn der mal ausfällt läuft die integrierte Steuerung der Pumpe weiter. Gleiches gilt für PV Anlage, Licht usw.
-
@tommy61
Hallo Thomas,danke für dein Feedback, also somit ist mir dein Setup soweit klar, und finde ich auch toll gelöst und praktikabel!! Wäre Proxmox bei meiner Harware praktikabler einsetzbar, würde ich dein Konzepr sicher mal ausprobieren. Werde aber so vorerst mal mittels Docker und Redis-Sentinel experimetieren. Vielleicht schaffe ich es ja mir das was zusammenzubasteln.
Danke nochmals für deine guten Inputs!!@wendy2702 : Hallo, also grundsätzlich ist es bei mir so, dass alle Systeme grundsätzlich autonom und auch sicher laufen, Allerdings bringt IObroker daüber eine wesentlich bessere Anwendbarkeit und macht alles bequemer. Und wenn es hier möglichkeiten gibt das abzusichern, finde ich das ja ganz gut.
Bin soweit nach wie vor für alle hilfreichen Inputs bzgl der Redis-Docker lösung offen...:-)
vg Etze