NEWS
Umzug auf einen Raspberry Pi 5
-
Hier habe ich mein Protokoll meines Umzugs von einem Raspberry Pi 4 auf einen Pi 5 erstellt. Vielleicht mag‘s dem ein oder anderen als Anleitung dienen.
Man liest zwar immer wieder, dass so ein Umzug einfach und schnell in wenigen Minuten zu bewerkstelligen sei, leider habe ich keinen Weg einfachen gefunden. Am Ende geriet das Ganz alles in allem ziemlich aufwendig.
All dies mag auch an meiner Installation liegen. Ohne InfluxDB, Grafana, piVCCU3, .. geht es wohl tatsächlich einfacher, wie man in diesem Thread nachlesen kann.
Vorhaben
Unsere auf ioBroker basierende Hausautomation soll von einem Raspberry Pi 4 auf einen neuen Pi 5 umziehen. Ziel ist es, beim Umzug die Datenbank InfluxDB auf einen separaten Raspberry Pi 4 auszulagern.
ioBroker, InfluxDB, Grafana und Homematic sind auf einem Pi 4 installiert, wobei sich die piVCCU3 in einem LXC befindet.
Strategie
Die hier vorgestellte Dokumentation ist keine Schritt für Schritt Anleitung. Hierauf wurde verzichtet, da viele sehr langwierige Arbeiten auf den insgesamt drei beteiligten Systemen parallel ausgeführt werden können, um den Zeitaufwand möglichst gering zu halten. Die nachfolgende Aufstellung sollte helfen, bei den Arbeiten die Übersicht über die notwendigen Arbeitsschritte und Einstellungen zu wahren.
- Sicherungen von ioBroker und allen Datenbanken der Adaptern mit BackItUp erstellen und bereithalten
- Pi 5 und Pi 4 mit aktuellem Betriebssystem versehen
- Auf dem Pi 5 ioBroker installieren
- BackItUp kann keine Installation sondern nur die Daten von InfluxDB und Grafana wiederherstellem, daher muss zuvor InfluxDB auf dem Pi 4 und Grafana auf dem Pi 5 zusätzlich installiert werden. Auch das Backup für Homematic in der piVCCU3 muss über die GUI Oberfläche der CCU erfolgen.
- Sicherung von ioBroker vom alten System Pi 4 auf dem Pi 5 mittels BackItUp einspielen.
- alle Datenbanken der Adapter - außer InfluxDB - auf den Pi 5 mit BackItUp übertragen.
- Instanz des InfluxDB Adapters auf dem Pi 5 konfigurieren
- Einstellungen zu InfluxDB in der BackItUp Instanz auf dem Pi 5 konfigurieren
- separaten Pi 4 für InfluxDB mit Betriebssystem und InfluxDB ausstatten.
- mittels BackItUp auf dem Pi 5 InfluxDB Datenbank wiederherstellen
Voraussetzung
Es stehen folgende mit BackItUp (regelmäßig) erstellte Backups zur Verfügung ..
- ioBroker (mit allen Adaptern, Datenpunkten, Einstellungen, ..)
- JavaScript (als separates Backup)
- InfluxDB
- Grafana
- YAHKA
- ZigBee
- piVCCU3 (Homematic)
Alles ist auf einem Pi 4 installiert. Die Backups werden auf NAS/Cifs (Fritz!Box mit USB-Stick) gesichert.
Bei der Wiederherstellung des Systems auf dem neuen Raspberry Pi 5 müssen drei Gruppen von Adapter unterschieden werden:
- einfache Adapter
- Adapter mit eigener Datenbank: ZigBee, YAHKA
- Adapter von InfluxDB, Grafana und piVCCU3
Dass InfluxDB, Grafana und piVCCU3 in einer eigenen Gruppe landen, ist dem Umstand geschuldet, dass diese Programme zuvor eigens auf dem neuen Pi 5 manuell/vorab installiert werden müssen und darüber hinaus die InfluxDB-Datenbank auf einen separaten Pi 4 ausgelagert werden soll. Darüber hinaus muss das Backup der piVCCU3 mittels der Homematic GUI eingespielt werden. Für jede dieser Gruppen wird ein spezieller Restore auf dem Pi 5 fällig.
Die Konfiguration der BackItUp-Instanz auf dem alten System ist in den nachfolgenden Abbildungen dargestellt.
-
Die Konfiguration der NAS/Cfis basierten Sicherung
-
Die Konfigurationen für InfluxDB in den Instanzen von BackItUp können über die blaue Schaltfläche zur Ermittlung der Konfiguration aus den Einstellungen in den Instanzen der InfluxDB-Adapter übernommen werden. Hierzu muss jedoch zuvor (nach dem Restore des ioBroker) die Konfiguration auf dem neuen Pi 5 von lokal zu einer remote umgestellt werden.
-
Die Konfiguration zur Sicherung von Grafana muss das Zugriffstoken der Ausgangskonfiguration enthalten.
-
Obwohl eine virtuelle piVCCU (von Alexander Reinert) verwendet wird, sind die Einstellungen dieselben wie bei einer RasberryMatic oder einer CCU von Homematic.
Hierbei zeigt sich auch schon die erste Stolperfalle. Sie macht sich jedoch nur bei Passwörtern für den NAS/Cifs Zugang bemerkbar. Enthält das verwendete Passwort Sonderzeichen, so muss man das Passwort im neuen System von Hand erneut eingeben. In diesem Beitrag findet sich eine mögliche Erklärung.
Vorbereitung vom Raspberry Pi 5 und Pi 4
Mittels dem Raspberry Pi Imager werden der Pi 5 und Pi 4 mit dem aktuellen Betriebssystem bestückt.
Anschließend sollte man je nach Bedarf noch die folgenden Repositorys im Terminal via SSH installieren, wie sie beispielsweise in diesem Beitrag zu finden sind.
Grafana
sudo rm /etc/apt/sources.list.d/grafana* sudo apt-get install -y apt-transport-https sudo apt-get install -y software-properties-common wget sudo wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
InfluxDB
sudo rm /etc/apt/sources.list.d/influ* wget -q https://repos.influxdata.com/influxdata-archive_compat.key echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /usr/share/keyrings/influxdata-archive_compat.gpg > /dev/null echo 'deb [signed-by=/usr/share/keyrings/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list rm influxdata-archive_compat.key
Restore
Nach diesen Arbeiten kann die Wiederherstellung von ioBroker auf dem neuen Pi 5 inklusive aller drei Adaptergruppen erfolgen. Die notwendigen Backup-Dateien findet man im Register WIEDERHERSTELLEN der BackItUp-Instanz. Die Option Alle Adapter nach der Wiederherstellung starten sollte deaktiviert sein, ansonsten laufen die Startvorgänge der Adapter der zweite Gruppe auf einen Fehler, da ihre zugehörigen Datenbanken noch nicht wiederhergestellt sind.
Vorweg gilt es, die BackItUp-Instanz auf dem neuen System zu konfigurieren. Hierzu ermöglicht BackItUp die Übertragung seiner sämtlichen Konfigurationsdaten, indem man diese aus dem alten System herunterlädt und im neuen einspielt. Die mit Pfeilen gekennzeichneten kleinen Schaltflächen rechts oben in den BackItUp-Instanzen ermöglichen diesen Datentransfer. Mit der rechten Schaltfläche kann man die Daten in eine Datei laden, mit der linken werden diese in eine bestehende BackItUp-Installation geladen.
Anschließend kann die Sicherung von ioBroker aus dem alten System mittels BackItUp im neuen System auf dem Pi 5 wiederhergestellt werden. Dieser Restore des ioBroker-Backups auf dem neuen Pi 5 gewährleistet, dass die Adapter aller drei Gruppen auf dem neuen System verfügbar sind. Für die zweite Gruppe der Adapter müssen die zugehörigen Datenbanken separat mittels BackItUp auf dem Pi 5 wiederhergestellt werden. Exemplarisch wird hier das Vorgehen bei ZigBee aufgezeigt.
Klickt man auf das rechte (eine Art Uhr)Symbol, so kann man den Wiederherstellungsvorgang einleiten. Die linke der beiden - mit einem Pfeilsymbol gekennzeichnete - Schaltflächen ermöglicht ein Herunterladen der jeweiligen Backup-Datei.
Nachdem man nun alle Daten(Banken) der einzelnen Adapter - außer InfluxDB - wiederhergestellt hat, kann es an die Wiederherstellung der InfluxDB-Datenbank gehen.
Grafana wiederherstellen
Zum Wiederherstellen von Grafana muss dieses Programm natürlich zuvor auf dem Pi 5 manuell installiert werden.
InfluxDB-Datenbank auf einem separaten Pi 4 wiederherstellen
Da InfluxDB nicht auf dem Pi 5, sondern auf einem separaten Raspberry Pi 4 gespeichert werden soll, muss dieser vorbereitet werden. Auf dem Pi 4 wird zunächst ein aktuelles Betriebssystem installiert. Anschließend installiert man eine aktuelle Version von InfluxDB auf dem Pi 4. Hierbei darf/sollte kein Bucket (Datenbank) angelegt werden. Der Restore-Prozess von InfluxDB legt automatisch die Datenbank (Bucket) in der neuen InfluxDB-Installation an. Einem Restore der InfluxDB-Datenbank mittels BackItUp auf dem neuen Pi 5 steht nun nichts mehr im Weg.
Nach dem Restore von ioBroker auf dem Pi 5 ist die Instanz von InfluxDB noch rein lokal. Sie muss jedoch als remote konfiguriert werden. In den nachfolgenden Abbildungen sind die erforderlichen Konfigurationen im alten und neuen System dargestellt.
Die Konfiguration des InfluxDB-Adapter auf dem alten System enthält den Token der alten InfluxDB.
In der Konfiguration des InfluxDB-Adapters auf dem neuen System ist der Token aus der InfluxDB-Datenbank auf dem neu eingerichteten Pi 4 zu nehmen. Darüber hinaus muss vermerkt werden, wie die externe Datenbank auf dem Pi 4 erreicht werden kann.
Die Wiederherstellung von JavaScript muss nicht explizit angestoßen werden. Dies erfolgt stets zusammen mit der Wiederherstellung von ioBroker.Als nächstes muss noch die BackItUp-Instanz auf dem Pi 5 für InfluxDB angepasst werden. Hat man die Einstellungen wie zuvor beschrieben vorgenommen, so kann man sich diese Arbeit vereinfachen, indem man durch Klicken auf die blaue Schaltfläche mit der Aufschrift Ermitteln der Konfiguration die notwendigen Daten aus dem InfluxDB-Adapter ausliest und hier automatisch einträgt. Ggf. muss man jedoch den Token erneut eingeben, da er nicht (immer) auf diese Weise hier übernommen werden kann.
Nach diesen Vorarbeiten kann mittels BackItUp des neuen Systems die InfluxDB-Datenbank auf dem Pi 4 wiederhergestellt werden.
Anmerkungen, Hinweise, Tipps
Die Wiederherstellung der piVCCU3-Installation muss in der GUI der Homematic-Software erfolgen. BackItUp kann dies nicht ausführen.
Bei den Wiederherstellungsprozessen ist viel Geduld angesagt. Je nach Anzahl der Adapter kann das Restore vom ioBroker schon mal mehr als eine Stunde dauern. Bei einer großen InfluxDB-Datenbank sind auch mal über zwei Stunden fällig.
Hat man sich die Token bei der Installation von InfluxDB nicht notiert, muss man sie aus InfluxDB auslesen. Dies kann per CLI oder - was viel bequemer ist - auch über die GUI erfolgen. Hierzu gibt man nach dem Einlogen in InfluxDB in der Adresszeile nach dem Port 8086 einfach /api/v2/authorizations ein. Man erhält ein JSON, in dem u.a. auch das gesuchte Token zu finden ist.
Vermutlich stößt man bei der Einrichtung der Raspberry Pi auf ein Sicherheitsproblem. Installiert man einen Pi komplett neu, so ändert sich sein Fingerprint. Beim Einloggen im Terminal verweigert das Betriebssystem des PCs ggf. den Zugang. Hat man einen Mac, so hilft im Terminal die Eingabe von ssh-keygen -R 192.168.4.63, wobei die IP-Adresse des betroffenen Pi anzugeben ist.
[Wird fortgesetzt]
[zurück]