Defekte Sektoren reparieren Linux (Bild © PCMasters.de)
Defekte Sektoren scannen mit „badblocks“
Für Administratoren, die einen manuellen Scan der Festplattenoberfläche benötigen, bietet das Dienstprogramm „badblocks“ eine Methode zur Identifizierung unzugänglicher Blöcke. Dieser Vorgang ist unerlässlich, um das Ausmaß physischer Schäden an einem Laufwerk zu ermitteln.
Geräteidentifizierung
Bevor ein Scan gestartet wird, muss der Administrator die richtige Gerätekennung ermitteln. Dazu werden alle angeschlossenen Festplatten und ihre jeweiligen Partitionen aufgelistet:
sudo fdisk -l
Durchführung des Scans
Sobald das Zielgerät (z. B. /dev/sda10) identifiziert ist, wird der Scan mit der folgenden Syntax durchgeführt. Das -v-Flag sorgt für eine ausführliche Ausgabe, und mittels Umleitung werden die Ergebnisse zur späteren Analyse in eine Textdatei gespeichert:
sudo badblocks -v /dev/sda1 > badsectors.txt
Isolierung und Markierung von Sektoren
Werden fehlerhafte Sektoren entdeckt, muss das Betriebssystem angewiesen werden, diese spezifischen Blöcke zu meiden, um Datenbeschädigungen zu verhindern. Dazu muss die Festplatte ausgehängt und mithilfe dateisystemspezifischer Tools müssen die Sektoren als unbrauchbar markiert werden.
Für Dateisysteme auf Basis von ext2, ext3 oder ext4:
sudo e2fsck -l badsectors.txt /dev/sda1
Für andere unterstützte Dateisysteme:
sudo fsck -l badsectors.txt /dev/sda1
Zustandsüberwachung mit smartmontools
Zwar ist das manuelle Scannen nützlich, doch moderne Speicherhardware (SATA, SAS und SSDs) verfügt über die „Self-Monitoring, Analysis and Reporting Technology“ (SMART). Dieses System ermöglicht es dem Laufwerk, seinen eigenen Zustand intern zu überwachen und drohende Ausfälle zu protokollieren. Das smartmontools-Paket bietet die nötige Schnittstelle, um auf diese internen Daten zuzugreifen.
Installation
Das Dienstprogramm kann über den primären Paketmanager der Distribution installiert werden:
Debian-basierte Systeme:
sudo apt install smartmontools
RHEL-basierte Systeme:
sudo dnf install smartmontools
Zustandsbewertung
Der Befehl smartctl dient zur Interaktion mit dem internen SMART-System. Um eine binäre Bewertung des aktuellen Zustands des Laufwerks zu erhalten, wird das Flag -H oder --health verwendet:
sudo smartctl -H /dev/sda1
Ein Ergebnis von „PASSED“ zeigt an, dass das Laufwerk innerhalb der normalen Parameter arbeitet, während ein „FAILED“-Ergebnis auf einen drohenden Hardwareausfall hindeutet.
Umfassende Telemetrieberichte
Für eine detailliertere Analyse können Administratoren vollständige Berichte erstellen. Das Flag -a (all) liefert einen allgemeinen Überblick über die SMART-Attribute, während das Flag -x (xall) die umfassendsten Daten bereitstellt, einschließlich technischer Spezifikationen außerhalb von SMART:
sudo smartctl -a /dev/sda1
sudo smartctl -x /dev/sda1
Häufige Fragen mit Antworten
Was ist der Unterschied zwischen einem „harten“ und einem „weichen“ fehlerhaften Sektor?
Ein „harter“ fehlerhafter Sektor entsteht durch physische Beschädigungen der Plattenoberfläche oder einen Ausfall der Flash-Speicher-Hardware; diese können nicht repariert werden. Ein „weicher“ fehlerhafter Sektor ist ein logischer Fehler, bei dem die im Sektor gespeicherten Daten nicht mit der Prüfsumme übereinstimmen. „Weiche“ fehlerhafte Sektoren lassen sich oft beheben, indem der Sektor mit neuen Daten überschrieben wird.
Wie geht ein Laufwerk automatisch mit fehlerhaften Sektoren um?
Die meisten modernen Laufwerke nutzen einen Vorgang, der als Sektor-Neuzuweisung bezeichnet wird. Wenn das Laufwerk einen fehlerhaften Sektor erkennt, ordnet es diese logische Adresse automatisch einem physischen Ersatzsektor aus einem reservierten Bereich der Festplatte zu. Ist der Vorrat an Ersatzsektoren aufgebraucht, beginnt das Laufwerk, fehlerhafte Sektoren an das Betriebssystem zu melden.
Ist es sicher, ein Laufwerk weiter zu nutzen, sobald fehlerhafte Sektoren erkannt werden?
Wenn nur eine geringe Anzahl von Sektoren erkannt wird und der SMART-Zustand weiterhin „PASSED“ anzeigt, kann das Laufwerk möglicherweise noch für nicht kritische Daten genutzt werden, nachdem die Blöcke als unbrauchbar markiert wurden. Eine steigende Anzahl fehlerhafter Sektoren deutet jedoch meist auf einen ausfallenden Lesekopf oder einen sich verschlechternden NAND-Flash-Speicher hin, weshalb eine sofortige Datensicherung und ein Austausch der Hardware empfohlen werden.
Warum wird „smartmontools“ gegenüber dem „badblocks“-Tool für SSDs bevorzugt?
Das „badblocks“-Tool führt umfangreiche Lese- und Schreibvorgänge durch, die zur Abnutzung des NAND-Flash-Speichers in SSDs beitragen können. SMART-Tools werden bevorzugt, da sie interne Zähler und Protokolle auslesen, die vom Controller des Laufwerks verwaltet werden, und so Zustandsdaten liefern, ohne die Zellen unnötig zu belasten.
Können fehlerhafte Sektoren mit Software repariert werden?
Physische Schäden können nicht per Software repariert werden. Tools wie e2fsck „reparieren“ den Sektor nicht; sie erstellen lediglich eine Zuordnung, die dem Dateisystem mitteilt, diesen bestimmten physischen Speicherort zu ignorieren, wodurch der Schaden effektiv umgangen wird.
