Sven Rautenberg: SMART-Fehler

Beitrag lesen

Moin!

Inzwischen meldet mir smartctl aber 20337 Fehler, also fast tausend mehr.

Dann sind tausend weitere Leseversuche gescheitert. Das können tausend Sektoren gewesen sein. Die bemerkst du nicht zwingend, wenn du mit Betriebssystemmitteln auf die Festplatte zugreifst, weil du vom Betriebssystem aus nur eine logische Ansicht der Platte kriegst. Aber die Festplattenelektronik, zu deren Interna du lesenden Zugriff über SMART erhälst, die registriert natürlich die Leseprobleme.

Nett, aber ich verstehe es nicht. Ich finde keine fehlerhaften Sektoren, allerdings meldet mir "smartd" mittlerweile im log: "Device: /dev/hda, 10 Currently unreadable (pending) sectors".

Wie gesagt: SMART liefert Einblick in interne Meßwerte, die über das normale Festplatteninterface dem Betriebssystem nicht zugänglich gemacht werden. Es ist heutzutage absolut normal, dass Festplatten nicht in allen Oberflächenbereichen absolut 100%ig benutzbar arbeiten. Jedenfalls nicht zwingend für ihre gesamte Lebensdauer. Weil es billiger ist, in der Elektronik etwas Fehlerredundanz (in Form von Redundanzbits, robusten Prüfsummen, transparentes Remapping von defekten Bereichen auf Reservebereiche) einzubauen, anstatt eine wesentlich höhere Ausschußrate durch 100% Fehlerfreiheit zu provozieren, gibt es halt interne Meßwerte, die die Funktionsfähigkeit der Platte prüfen. Und wenn diese Werte ohnehin schon intern existieren, kann man sie auch nach außen transportieren. :)

Deine Fehlermeldung bedeutet, dass bei 10 Sektoren der letzte Leseversuch mit einem Fehler geendet hat, der Sektor eigentlich umgemappt werden muß, aber das erst geschieht, wenn dieser Sektor wieder komplett beschrieben wird, oder wenn er noch einmal fehlerfrei gelesen werden konnte (dann werden die Daten automatisch in einen Ersatzsektor geschrieben, der dann künftig transparent anstelle des alten genutzt wird).

Kann ich dieses Protokoll auch irgendwie löschen, damit es aktuell neu aufgebaut wird?

Nein, SMART-Daten sind read-only. Sie geben die existierende Festplattenwahrheit wider. Die Festplattenelektronik interessiert die Betriebssystemlogik einer Partitionierung oder eines Dateisystems nicht, sie hat sich für die Lesbarkeit jedes einzelnen Sektors zu interessieren. Und da sind im Moment 10 Stück so fehlerhaft, dass sie unbedingt umgemappt werden müssen.

Diesen Fehlereintrag kannst du nur eliminieren, indem du die fraglichen Sektoren mit neuen Daten (Nullen, Einsen, Rauschen, egal was) überschreibst, weil dann ein Ersatzsektor genutzt und der alte Sektor aus dem Betrieb genommen wird.

Es wäre also eine gute Idee, einfach noch mal eine Weile /dev/null nach /dev/hda zu kopieren, und danach noch einmal den langen Selbsttest der Platte aufzurufen.

- Sven Rautenberg

--
"Love your nation - respect the others."