Björns Welt
28. Dezember 2021

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:

content-broken-stick

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

  1. config-Verzeichnis sichern
  2. neuen bootbaren(!) Unraid USB-Stick erstellen
  3. config-Verzeichnis auf neuen Stick kopieren
  4. neuen Stick in alten Server stecken und booten
  5. …fiebern
  6. in die Web-Gui gehen und Unraid Replacement-Key anfordern und eintragen (Unraid meckert, das der Key nicht zum Stick passt)
  7. Array-Konfiguration nochmal prüfen, dann Array starten
  8. … beten
  9. 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:

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.

  1. docker inspect > /root/inspect.log
  2. Container “remove” in Gui
  3. App neu installieren
  4. 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

Bildnachweis Banner

Follow me