NEWS
Konzept - Produktiv- und Testsystem
-
Hallo zusammen,
ioBroker läuft bei mir auf einem Raspi3 mit Debian nun seit über einem Jahr zur vollsten Zufriedenheit.
Ich mache zwar jede Nacht ein Backup aufs NAS mit der integrierten Backup-Funktion. Aber aus verschiedenen Gründen möchte ich jetzt einen zweiten Raspi aufsetzen:
-
Erfahrung sammeln
-
Backup-System zur schnellen Wiederherstellung bei Hard-/Softwareproblemen
-
Testsystem.
Das Zeug ist da und ich sitze nun davor und beginne mir Fragen zu stellen hinsichtlich des Betriebs zweier Systeme in der gleichen Umgebung bzgl. Netzwerk, Subsysteme (=Adapter) und Zugriffs-Clients.
Einen Clone des Produktivsystems herstellen, den Backup-Raspi zu testen und dann in den Schrank zu legen ist ja erst mal kein Problem.
Was muss ich aber beachten (wenn das überhaupt so einfach möglich ist), wenn ich die beiden Geräte - wenn auch nur zeitweise - parallel am Netz habe?
Gut, sie haben zwei verschiedene IPs. Der Zugriff über z.B. VIS ist damit klar geregelt. Aber in die andere Richtung habe ich ja nicht auch noch ein Test-SONOS, ein Test- Netatmo, eine Test-CCU2 (mit allen Geräten dran).
Wie handhabt ihr das? Fahrt ihr das Produktivsystem runter, wenn ihr mal wieder mit dem Testsystem einen neuen Adapter oder eine neue Einstellung / Version testet?
Oder macht ihr das Produktivsystem - quasi mit der Änderung der Installation - zum Testsystem? Mit dem Klon des bisherigen Produktivsystems (=Backup-System) im Schrank für den Fall von Problemen?
Oder gibt es gar einen ganz einfachen Mechanismus, der per Konsolenbefehl umswitcht?
Fragen über Fragen…
-
-
Hmmm… keine Antworten, vermutlich
- verlasst ihr euch auf euer Produktivsystem und keiner hat ein Zweitsystem als Backup
oder
- ihr seid alle zu beschäftigt mit dem Konzept, wie ihr mit einem Systemausfall umgeht
oder
- ihr denkt euch "ist doch nicht mein Problem, soll der doch alles selbst herausfinden"
Wenn ihr geglaubt hat, ich sitze rum und warte, bis mir einer alle Antworten mundgerecht serviert, habt ihr euch getäuscht. Ich habe fleißig getestet. Dabei sind ein paar konkrete Fragen aufgetaucht, zu denen ich wirklich froh wäre Antworten zu erhalten.
Ich habe einen Raspi 3 mit dem offiziellen Image Raspbian light Stretch inkl. ioBroker installiert. Dort sind ja auch schon einige Adapter installiert.
Von meinem Produktivsystem habe ich tägliche Backups, erstellt mit der ioBroker-internen Backupfunktion.
Die erste Frage, die ich mir gestellt habe:
Werden beim Restore auch alle installierten Adapter restored oder muss ich die zusätzlich noch installieren?
Wurde beantwortet, nachdem ich einen Restore machte, ohne Adapter zu installieren: es war nach dem Restore kein zusätzlicher Adapter da. Wohl aber im Reiter Instances alle Instanzen - viele davon natürlich verwaist.
Nächste Frage:
Kann ich die fehlenden Adapter nach dem restore nachinstallieren?
Ich habe den Google Home Adapter nachinstalliert. Ergebnis: nach Installation des Adapters hatte ich eine weitere Chromecast-Instanz. Die habe ich gelöscht. Die ursprüngliche Instanz funktioniert (scheinbar), ich kann Geräte und deren Stati live sehen, z.B. auch Veränderungen der Lautstärke.
Aber: wenn ich Instanzen-Reiter auf den Konfig-Button des Chromecast gehte, poppt das Konfig-Fenster auf mit dem Inhalt "File index.html not found".
Nächste Frage:
Was ist da faul?
Ich teste weiter und Berichte. Ich möchte schließlich, dass andere von meinen Erfahrungen profitieren.
Gruß
Manfred
-
Wenn ich nachher zu Hause bin, werde ich Dir was dazu schreiben.
Gruß,
Eric
Von unterwegs getippert
-
Hmmm… keine Antworten, vermutlich `
…zu komplex das Ganze!Werden beim Restore auch alle installierten Adapter restored oder muss ich die zusätzlich noch installieren?
Wurde beantwortet, nachdem ich einen Restore machte, ohne Adapter zu installieren: es war nach dem Restore kein zusätzlicher Adapter da. Wohl aber im Reiter Instances alle Instanzen - viele davon natürlich verwaist. `
Nicht ganz korrekt beobachtet.Dieses Backup enthalt (fast) alle Informationen und Konfigurationen zu den installierten Adaptern sowie die Views und Scripte.
Dieses Backup enthält NICHT die History-Daten und NICHT die aktuellen Zustände der Datenpunkte, wenn redis verwendet wird
Anhand dieser Informationen werden die Adapter komplett neu installiert (und ggf. für eine geänderte Hardware neu kompiliert) Dieser Vorgang dauert etwa 2 Stunden!
Danach ist (fast) alles wieder da. Das kannst du auch schön im log sehen, da erscheint sinngemäß "versuche Adapter xy zu starten - ist nicht da - installiere ihn" mit allem was bei einer normalen Installation so an Meldungen kommt.
Nächste Frage:
Kann ich die fehlenden Adapter nach dem restore nachinstallieren? `
könntest du - ist aber nicht erforderlich wenn du genug Geduld aufbringst.Nächste Frage:
Was ist da faul? `
Nichts! s.o.Aber vorsicht Installieren nicht mit Anlegen einer Instranz verwechseln. Daher hattest du eine weitere Instanz weil du nicht die Notwendigen Dateiene installiert hast (dies entspräche sudo iobroker install…) sondern eine weitere Instanz angelegt hast (= sudo iobroker add...).
Gruß
Rainer
-
Hi,
ich habe mal meine BackUp Vorgehensweise ausführlich beschrieben inklusive Datenpunktsicherung (REDIS) und SQL History Sicherung.
Ich habe mich nie auf die interne ioBroker Backup Lösung verlassen.
Ich verteile meine BackUps, um so schnell wieder online zu sein.
Mir fehlt noch die copy in die Cloud um auch gegen Diebstahl gesichert zu sein.
zur Zeit gibt es eine copy im Safe. Geht auch.
Allerdings hatte ich nie den Anspruch innerhalb von wenigen Minuten wieder startklar zu sein.
Das dauert dann eben 1-2 Stunden maximal. Mit Aufbau eines neuen Systems auf dem ESXI
Wenn mir der gesamte ESXI Server abraucht dann habe ich einen Stick und kann die ESXI Installation schnell wieder herstellen.
Dann Debian und ioBroker copy drauf. Das dauert dann wohl eine Stunde mehr.
EDIT
zur Erklärung: mit ESXI lassen sich snapshots erstellen. Wenn ich teste mache ich vorher einen Snapshot.
Falls was nicht läuft bin ich innerhalb einer Minute wieder zurück auf den alten stand.
Auch habe ich eine zweite Instanz auf der ESXI und teste dort ebenfalls. Gleiches Konzept. Mache ich aber nur bei sehr grossen Aenderungen.
Hier meine Dokus (gibt es auch unter "Anleitungen und Links" http://forum.iobroker.net/viewtopic.php?f=8&t=6786
ESXI
BackUp Strategie
vG Looxer
-
Hallo Looxer, hallo Rainer,
danke euch beiden.
@Looxer:
ESXI ist mir dann für den Hausgebrauch doch ne Nummer zu groß. Aber dein Konzept ist schon interessant.
Danke für die Infos - die Doku gibt da leider noch nicht viel her. Oder ich habe an falschen Stellen geschaut.
Als ich jetzt mal auf die admin-Seite geschaut habe, habe ich festgestellt, dass die Adapter tatsächlich mittlerweile nachinstalliert wurden, ca. 2 Stunden nach dem Restore.
Es besteht aber nach wie vor das Problem beim Aufruf der Konfig für die Chromecast-Instanz:
Auch wieder zu ungeduldig? :?Gruß
Manfred
-
Auch wieder zu ungeduldig? `
Ich fürchte eher, dass durch deinen "interrupt" indem du eine zweite Instanz hinzugefügt und diese wieder gelöscht hast es zu diesem Effekt kam.In diesem Falle bitte über die Konsole
cd /opt/iobroker sudo npm cache clean sudo npm install iobroker.chromecast sudo iobroker upload chromecast sudo iobroker restart chromecast.0
Ausführen, dann sollte alles wieder i.O. sein.
ca. 2 Stunden nach dem Restore. `
wie gesagtDanke für die Infos - die Doku gibt da leider noch nicht viel her `
:oops: Möglich - da sind nur die Befehle unter FAQ gelistet.jetzt gebe ich den schwarzen Peter mal vorübergehend zurück:
Was fehlt dir? (erwartetete Dauer etwa 2 Stunden????)
Wo in welchem Bereich sollte das stehen, damit es gefunden wird?
Dann setze ich mich direkt ran.
Gruß
Rainer
-
So hmanfred,
dann auch von mir ein paar Worte (bisher war die Zeit dafür zu knapp) zu meinem "Konzept".
Einserseits gibt es Backups. Jeden Tag um 6. Da läuft ein "iobroker backup" Kommando, aber am Ende sichere ich immer (differentiell) das gesamte ioBroker-Verzeichnis (inkl. den neu angelegten Backups). Gleichzeitig auch die installierten Linux Pakete des Hosts und wichtige Verzeichnisse. Aus dem Backup komme ich somit an alles wichtige ran.
Bei Redis (da liegen meine States) habe ich ein Dual-Konzept: Einserseits wird im Rahmen des backups auch ein Redis-Backup File geschrieben und mit gesichert. Andererseits habe ich zum ioBroker-Redis (master) noch zwei Redis-Slaves auf anderen Hosts, sodass die Redis-Daten (wo ja einmal am Tag am Ende bei einem Crash nie aktuell sein wird) am Ende immer aktuell nochmals vorhanden sind.
Neben dem Hauptsystem habe ich die gleiche Hardware nochmal da. Dort ist im Standardfall ein komplett getrenntes testsystem drauf wo ich hier und da mal neue Adapterversionen ausprobiere oder so. Es ist aber nicht das gleiche drauf und damit komplett getrennt.
ABER dort ist ein Redis-Slave vom Master drauf, die gleiche nodejs Version und so. Und ich synce das ioBroker-Verzeichnis vom Master dort in ein anderes Verzeichnis.
Notfall-Idee falls Master crasht ist: Redis Slave zum Master machen, ioBroker-rsync nach /opt/iobroker kopieren, einmal den Master-Hosts in ioBroker korrigieren. Starten. Theoretisch wars das
je nachdem was gecrasht ist vllt noch RAM aus dem Haupt-System einbauen
Ggf noch einmal "reinstall.sh" ausführen um wirklich alle Adapter neu zu installieren.
Das ist es so grob … ansonsten zu allem immer Reservehardware da haben
-
Zuerst mal: danke euch allen. Langsam kommt doch Leben in die Bude.
In diesem Falle bitte über die Konsole
…
Ausführen, dann sollte alles wieder i.O. sein. `
Das hat geklappt.Hätte ein kompletter Deinstall über die Admin-Oberfläche mit erneutem Install den gleichen Effekt?
Wäre bei dem Adapter ja kein Aufwand - er findet die Geräte ja automatisch und benötigt kein Setup.
Danke für die Infos - die Doku gibt da leider noch nicht viel her `
:oops: Möglich - da sind nur die Befehle unter FAQ gelistet.jetzt gebe ich den schwarzen Peter mal vorübergehend zurück:
Was fehlt dir? (erwartetete Dauer etwa 2 Stunden????)
Wo in welchem Bereich sollte das stehen, damit es gefunden wird?
Dann setze ich mich direkt ran. `
Die einzigen beiden Quellen, die ich dazu gefunden habe sind die FAQ und die Wiki-Seite auf GitHub.Here we go:
[FAQ]
Ergänzen um:
Frage: Wie kann ich mit einem Backup (erzeugt über den Konsolenbefehl iobroker backup) mein System wieder herstellen?
Antwort: In einer Grundinstallation mit Node.js und ioBroker ruft man in der Konsole den Befehl ./iobroker restore auf. Man kann dann aus den in /opt/iobroker/backups/ liegenden Dateien eine auswählen.
Alle Instanzen werden wiederhergestellt. Zugehörige Adapter, die nicht bereits installiert sind, werden automatisch installiert. Dieser Vorgang kann bis zu 2 Stunden dauern.
Alle Adapterinstanzen werden mit Ausnahme von "admin" als deaktiviert wiederhergestellt.
Näheres siehe die Wiki-Seite auf Github.
[https://github.com/ioBroker/ioBroker/wiki/Console-commands]
iobroker backup ergänzen
Based on a basic installation (Node.js and ioBroker), the complete system with all adapters and instances can be restored with a backup file (see restore command).
iobroker restore ergänzen / anpassen
All instances will be restored. Related adapters that are not already installed are automatically installed. This process may take up to 2 hours.
All <u>instances</u> will be restored as disabled, except "admin". To enable all adapters at once you can call "iobroker start all". If some adapters are not uploaded you can call "iobroker upload all" to upload all adapter's files at once.
–--cut---
Eventuelle Einschränkungen mit Redis (hab ich nämlich noch nicht kapiert, weil noch nicht damit beschäftigt) ggfls. dazu formulieren?
Gruß
Manfred
-
Hätte ein kompletter Deinstall über die Admin-Oberfläche mit erneutem Install den gleichen Effekt? `
Dazu hättest du auch den Adapter und nicht nur die Instanz löschen müssen.und wenn du den Adapter aus der Liste gelöscht hast, kannst du ihn auch nicht mehr installieren
Außerdem befänden sich nach wie vor die Dateien im npm cache und werden beim nächsten install wieder von dort genommen. Deshalb habe idch ihn ja erst einmal geleert, um die Dateien neu downzuloaden.
Ich habe damit es hochwahrscheinlich auch laufen wird natürlich mehrere Eventualitäten mit den Befehlen abgedeckt, wahrscheinlich hätte aber das upload gereicht.
Here we go: `
DANKE!Aber
ich möchte in den FAQ eigentlich keine langen Erklärungen haben - vielleicht sehe ich das auch nur falsch?
Muss ich mal darüber nachdenken. IMHO sollte in der DOku irgendwo der gesamte Backup7restore Vorgang ausführlicher erklärt werden.
BTW zu deinem ergänzenden Hinweis:
@hmanfred:Alle Adapterinstanzen werden mit Ausnahme von "admin" als deaktiviert wiederhergestellt. `
kann ich auch noch etwas sagen, da ich damit schon auf die Nase gefallen binIch nutze die backup-Funktion auch um Cross-Restores einer Installation auf verschiedener Hardware zu testen. (Man kann ja auch mit einer Installation auf eine andere Hardware umziehen).
Da ist es natürlich klar, dass man bevor man eine Instanz eines Adapters startet die Konfiguration ggf. an eine andere IP (hm-rpc; hm-rega) o.a. anpassen muss, und nicht einfach alle Instanzen startet ohne nachzudeneken. Bei mir hat mich dann der mqtt-client einiges an Arbeit gekostet, weil danach zwei clients mit der gleichen ID im Netz waren.
Gruß
Rainer