Unraid USB-Stick defekt
Gepostet am 28. Dezember 2021 • 3 Minuten • 473 Wörter
Table of contents
Als ich zuletzt einen Service aktualisieren wollte, stellte ich fest, dass die Unraid Web-Gui nicht erreichbar war. Services, wie mein Mosquitto oder openHAB liefen aber. “Naja, ist der httpd Service ausgefallen. Nach gut 6 MOnaten Uptime kann das NAS ja auch mal neu gestartet werden”, dachte ich mir. Damit nahm das Unheil seinen Lauf…
Nicht gesicherte Daten werden als gelöscht betrachtet.
Die Kiste fährt nicht mehr hoch
10 Minuten nach dem Reboot war noch immer kein Service erreichbar und ich wurde nervös. Nachdem ich einen Monitor an den PC gesteckt hatte, sah ich zu meiner Verwunderung das BIOS-Setup. Ich steckte den USB-Stick an ein Notebook und entdeckte das Elend:

Zu meinem Glück war das config-Verzeichnis als einziges Verzeichnis noch lesbar. Hier ist fast alles, was man für die Wiederherstellung braucht, enthalten, wie ich später feststellen musste, aber der Reihe nach…
Mein Vorgehen
- config-Verzeichnis sichern
- neuen bootbaren(!) Unraid USB-Stick erstellen
- config-Verzeichnis auf neuen Stick kopieren
- neuen Stick in alten Server stecken und booten
- …fiebern
- in die Web-Gui gehen und Unraid Replacement-Key anfordern und eintragen (Unraid meckert, das der Key nicht zum Stick passt)
- Array-Konfiguration nochmal prüfen, dann Array starten
- … beten
- sämtliche Docker-Container wiederherstellen 😭
Das config-Verzeichnis enthält in der super.dat wohl die Array-Zuordnung. Wichtig ist: nur weil der USB-Stick ausgefallen ist, sind noch keine Daten weg. Die Daten-Platten lassen sich an einen Linux-PC hängen und auslesen (Windows geht auch, braucht aber entsprechende Treiber). Man muss halt wissen, welche Platte welchen Job hat.
Hat man die korrekte Array-Zuordnung nicht, deutlich mehr Vorsicht geboten. Werden die Platten nämlich falsch zugeordnet, also bspw. Parität und Daten-Platte vertauscht, werden die Platten von Unraid gemäß ihrer neuen Aufgaben vorbereitet und der Inhalt ist nur noch mit speziellen Tools lesbar . Laut Unraid-Doku sind dann alle Platten als Datenplatten zu mounten. Spoiler: Die, die nicht lesbar ist, scheint die Parität zu sein.
Ansonsten enthält das config-Verzeichnis u.A. noch:
- plugins/dockerMan/templates-user - hier liegen die Konfigurationen der Docker-Container
- go - ein Skript, dass nach dem Start von Unraid ausgeführt wird und standardmäßig nur die Web-Gui startet. Bei mir wird hier auch der Schlüssel für die Luks-verschlüsselten Festplatten geladen
- Basic.key - Unraid-Registrierungsschlüssel, der zum Anfordern des Replacement-Keys erforderlich ist
Docker-Container wiederherstellen
Zu meiner Verwunderung liefen die Container teils noch, aber in der Gui wurden sie nicht korrekt dargestellt und waren auch nicht konfigurierbar.
Auf der Commandline habe ich mir dann erstmal mit
docker inspect <container-id>
die aktuelle Konfiguration gesichert.
- docker inspect
> /root/inspect.log - Container “remove” in Gui
- App neu installieren
- Container anhand des Outputs aus inspect.log oder, wie ich später herausfand, mit dem Template aus plugins/dockerMan/templates-user zusammenpuzzlen
Für meine unendliche Todo-Liste
Aufschreiben, wie ich dieses Mal vorgegangen bin,damit es beim nächsten Mal schneller geht- Backup des USB-Sticks
- Screenshot der Array-Konfiguration
- Screenshot der Docker-Konfigurationen
- Syncthing-Knoten für das Bilder Backup erstellen
- USB-Stick durch was haltbareres ersetzen
- Unraid-Templates für eigene Services erstellen
