Raspberry Pi – SSD mit defekten Sektoren sichern
Ich schreibe hier diesen kleinen Beitrag, weil bei mir doch tatsächlich eine SSD kaputt gegangen ist.
Die Lösung zur Rettung der Daten gibts weiter unten, die Vorgeschichte ist für das Verständnis durchaus interessant.
In Foren findet man oft die Aussage, dass das Netzteil defekt ist und man soll es tauschen.
Dass dies mal wieder Banane ist, zeigt dieser Beitrag 🙂
Das Problem:
Ich habe ein Raspberry Pi 3, nicht den 3 B+ sondern nur den 3er.
Dieser hat eine USB-SSD angeschlossen, da er im 24/7 Betrieb läuft und das ein oder andere mal was schreiben muss.
SD-Karten wären hierfür die extrem schlechte Wahl gewesen.
Der Pi an sich läuft auch ohne Probleme.
Keine Meldung über Spannungsschwankungen oder Strom-Probleme.
Keine Meldungen über kaputte Treiber oder sonst ein Hinweis.
Doch je nach Lust und Laune hängt sich das Teil auf.
Nur ein Neustart hilft hier.
Die Ursachen-Forschung:
Mir ist aufgefallen, dass der Pi per Ping immer noch erreichbar war.
Nur per SSH konnte keine Verbindung mehr aufgebaut werden und bereitgestellte Webseiten, welche auf dem Pi laufen, wurden gar nicht mehr geladen oder nur statische Inhalte.
Zuerst hatte ich ein paar Programme in Verdacht.
Also diese mal vorübergehend beendet, aber das hat nichts geholfen.
Okay also mal das übliche geprüft.
Stromversorgung getauscht – hat nichts geholfen.
Die Festplatte mit einem zweiten Linux-System geprüft (fsck) – keine Fehler gefunden.
SMART-Werte ausgelesen – Sieht gut aus.
Oookay kann dann es nur das System sein.
Also das mal neu installiert.
Und siehe da, der Pi läuft 3 Wochen gut durch und daaaaannnn … wieder aufgehängt.
Dann kam mir ein Gedanke wieder hoch.
Per USB angebundene Festplatten haben teilweise Probleme die SMART-Werte korrekt auszulesen, weil der USB-SATA-Adapter nicht alles korrekt weiterleitet.
Wenn die Platte einen Schuss hat, muss ich den Absturz ja manuell auslösen können.
Also setzte ich die dümmste Idee die mir einfallen konnte in die Tat um.
Die SSD zumüllen mit Daten.
Also habe ich einfach aus Spaß diverse Versionen von „Linux Mint“ ISO-Dateien heruntergeladen.
So muss ich ja irgendwann ggf. ein defekten Sektor treffen und das System sollte abschmieren.
Dumme Ideen funktionieren einfach immer.
Tatsächlich konnte ich beim Downloaden das System abschließen.
Und das war reproduzierbar.
Ich habe dabei auch in einer zweiten SSH-Sitzung mal dmesg mit laufen lassen (dmesg -w), um hier eventuelle Fehler direkt zu sehen.
Tatsächlich konnte ich von 10 Versuchen 2 oder 3 mal sehen, dass der USB-Treiber zurückgesetzt wurde.
Danach war die Festplatte in einem Read-Only-Modus.
Bingo!
Doch ein wichtiger Hinweis: Zu diesem Zeitpunkt wusste ich noch nichts von meinem Glück, dass die defekten Sektoren bisher nie beschrieben wurden.
Das bedeutet, dass ich kein Datenverlust habe.
Sind bei dir in den defekten Sektoren mal Daten geladen und der Defekt einer Datei wurde vom System nicht erkannt und repariert, hast du eventuell doch Datenverlust!
Der Gesundheitstest / Rettungsversuch 1:
https://hoerli.net/raspberry-pi-ssd-mit-defekten-sektoren-sichern/