Warum ich es überhaupt durchgespielt habe
Ich hatte lange tägliche Backups, ohne je eines zurückgespielt zu haben. Damit hatte ich einen Prozess, an den ich glaubte, aber keinen, den ich kannte. Also habe ich den Host auf einer frischen VM komplett neu aufgebaut und jeden Schritt gestoppt.
Es hat rund fünfzig Minuten gedauert. Zwei der Schritte liegen in keinem Backup-Archiv, und beide halten die Wiederherstellung auf, bis man herausfindet, woran es hängt.
Wie der Durchlauf aussah
Der grobe Ablauf, mit den Zeiten, die ich gemessen habe:
Neue VM — etwa 5 Minuten. Eine schlichte Ubuntu-Instanz, zwei vCPUs und 4 GB RAM, womit Home Assistant in Docker bequem läuft.
Archiv herunterladen und übertragen — etwa 5 Minuten. Vom Storage-Container außer Haus auf den Laptop, dann hoch auf die neue Maschine. Direkt von der VM wäre schneller, setzt aber die Maschinen-Identität voraus, und die existiert an dieser Stelle noch nicht.
Docker und Home Assistant — etwa 10 Minuten. Docker installieren, das Archiv über das Dateisystem entpacken, den Container starten. Hier zahlt sich die docker-inspect-JSON im Archiv aus: Image, Netzwerkmodus und Volumes stehen in einer Datei statt im Gedächtnis.
WireGuard und Firewall — etwa 5 Minuten. Beide Konfigurationen kommen aus dem Archiv. Hat die neue Maschine eine andere öffentliche Adresse, ändert sich in der Server-Konfiguration eine Zeile.
Maschinen-Identität und Netzwerkregeln — etwa 5 Minuten. Dazu unten mehr, das ist der Teil, der nicht im Archiv liegt.
Client-Konfigurationen — etwa 10 Minuten, und nur bei geänderter Adresse. Jeder VPN-Client braucht den neuen Endpunkt. Das ist Handarbeit an jedem Gerät und der Schritt, den man am ehesten vergisst, weil die Wiederherstellung auch ohne ihn fertig aussieht.
Verifizierung — etwa 10 Minuten. Steht weiter unten.
Die zwei Schritte, die in keinem Archiv liegen
Das Backup-Script lädt über die verwaltete Identität der VM hoch, es stehen also keine Zugangsdaten darin. Das ist die richtige Bauweise und hat bei der Wiederherstellung eine Folge: eine neue VM ist eine neue Identität. Sie muss neu vergeben werden, und der Storage-Container muss von ihr erfahren, bevor diese Maschine an ihre eigenen Backups kommt. Beim ersten Durchlauf bin ich da hineingelaufen, bevor mir klar war, was passiert.
Der zweite ist die Netzwerk-Sicherheitsgruppe. Sie hängt an einer Netzwerkschnittstelle, und eine neue VM hat eine neue Schnittstelle. Solange die Gruppe nicht daran hängt, ist die Maschine je nach Voreinstellung entweder nicht erreichbar oder offen, und beides will man nicht.
Beides liegt in der Steuerungsebene des Cloud-Anbieters und nicht auf der Disk, weshalb kein dateibasiertes Backup es enthalten kann. Es gehört stattdessen in das Wiederherstellungsdokument, und dort steht es seit diesem Durchlauf.
Prüfen, ob es wirklich funktioniert hat
Ein Container, der startet, ist kein wiederhergestelltes System. Die Checkliste, die ich inzwischen benutze:
Home Assistant antwortet auf seinem Port und die Oberfläche lädt. Die Dashboards zeigen etwas an, statt leer zu bleiben — das ist der Hinweis auf ein fehlendes .storage-Verzeichnis. Die KNX-Geräte reagieren, die Bus-Verbindung ist also zurück. Die Kameras erscheinen. Solar- und PV-Werte kommen an, die Modbus-Reads haben sich also neu verbunden. WireGuard zeigt seine Peers und die Clients verbinden sich. Die Firewall ist aktiv. Und der Backup-Cronjob ist vorhanden und wird beim nächsten Lauf auch wirklich hochladen, was man auf einer Maschine leicht übersieht, die gerade erst die Berechtigung dafür bekommen hat.
Der letzte Punkt wiegt schwerer, als er aussieht: ein wiederhergestellter Host, der sich nicht selbst sichert, ist ein System, das darauf wartet, dasselbe Problem ein zweites Mal zu haben.
Was sich danach geändert hat
Der Durchlauf hat nicht das Backup-Script verändert, sondern das Wiederherstellungsdokument. Das Archiv war vollständig. Gefehlt hat das Wissen, dass zwischen „Archiv vorhanden" und „Host läuft" zwei Schritte in der Steuerungsebene liegen — und dieses Wissen existiert nur, wenn es jemand nach dem Durchlauf aufschreibt.
Wenn dich die andere Hälfte interessiert: was überhaupt ins Archiv gehört steht in einem eigenen Beitrag. Der Host selbst wird hier Schritt für Schritt aufgesetzt, und vor einem regulären Update zu sichern ist eine andere Aufgabe mit eigenem Rhythmus.
Zusammenfassung
Spiel die Wiederherstellung einmal durch, solange nichts kaputt ist, und stoppe die Zeit. Du bekommst eine Zahl, mit der sich planen lässt, du findest die Schritte, die außerhalb des Backups liegen, und am Ende hast du ein Wiederherstellungsdokument, das von jemandem geschrieben wurde, der es tatsächlich gemacht hat.


