Festplatten halten nicht ewig. Jede Festplatte wird irgendwann einmal ausfallen, was im schlimmsten Fall den Totalverlust sämtlicher darauf enthaltener Daten bedeutet. |
Die Frage ist nicht, ob Ihre Festplatte jetzt im Moment noch einwandfrei funktioniert. Die Frage ist, was Sie tun werden, wenn Ihre Festplatte sich für immer verabschiedet (und die Chancen dafür sind relativ hoch). Haben Sie ein Backup Ihrer persönlichen Daten, wie z.B. Fotos, Schriftverkehr, Source Code, sonstige Arbeitsergebnisse? Befindet sich das Backup auf CD-ROM, DVD oder einer externen Festplatte? Wenn nicht, fertigen Sie noch heute ein Backup an. Bewahren Sie das Backup in einem anderen Raum auf; möglichst in einem anderen Gebäude. Kaufen Sie sich eine ausreichend große externe Festplatte, die ausschließlich für Backup-Zwecke reserviert ist. |
Die häufigste Fehlerursache scheint mir ein Schreib-/Lesefehler eines Sektors oder mehrerer aufeinanderfolgender Sektoren zu sein. Mechanische Probleme, wie etwa dass sich der Schreib-/Lesekopf nicht mehr bewegt, oder dass die Platte überhaupt nicht mehr anläuft, sind dagegen eher selten.
Diese Schreib-/Lesefehler bleiben oft unbemerkt. Bei den heutigen Plattenkapazitäten ist es gut möglich, dass der defekte Sektor in einer selten genutzten Datei zu liegen kommt. Erst wenn man wieder auf die Datei zugreifen will, erfährt man von dem Problem. Leider verschlimmern sich solche Probleme aber im Laufe der Zeit. Erst ist es nur ein Sektor, dann mehrere. Irgendwann ist ein Sektor in der Directorystruktur betroffen, dann kann es passieren, dass man ganze Verzeichnisse verliert, weil das Betriebssystem die Verzeichnisse nicht mehr wiederfindet (obwohl die Dateien selbst noch intakt sind).
Deswegen sollte man seine Festplatten in gewissen Abständen überprüfen. Der einfachste Weg ist, den in jede moderne Festblatte eingebauten SMART (Self-Monitoring Analysis and Reporting Technology) Selbsttest auszuführen, oder wenigstens die SMART Statusinformationen abzufragen. Unter Linux wurden hierzu die "S.M.A.R.T. Monitoring Tools", die es übrigens auch in einer Windows Version gibt.
Bei manchen USB- oder FireWire Platten kann man leider nicht auf die SMART Statusinformationen zugreifen. Die entsprechenden Befehle werden nicht durch den USB- bzw. FireWire-Controller weitergereicht. In diesem Fall muss man die Festplatte aus dem Gehäuse ausbauen und direkt an einen PC anschließen.
Die S.M.A.R.T. Monitoring Tools stehen in einer Windows- und Linux-Version zur Verfügung. Für die Windows-Version gibt es einen Installer, die Linux-Version ist in praktisch jeder Distribution enthalten und kann z.B. unter Debian (auch Ubuntu oder Knoppix) mit
apt-get install smartmontools |
installiert werden. Die SmartMonTools Homepage enthält zahlreiche weitere nützliche Informationen zum Thema.
Wie man auf einem Linux Server die S.M.A.R.T. Monitoring Tools so installiert, dass der Zustand der Platten periodisch überwacht wird und der Administrator eine Email bei Problemen bekommt, ist im Artikel "Festplatten mit SMART überwachen" beschrieben.
smartctl wird von der Linux-Konsole bzw. dem Windows DOS Fenster wie fogt aufgerufen:
# IDE Platte: smartctl -a /dev/hda # SATA Platte smartctl -a /dev/sda # SATA Platte an älterem PC smartctl -d ata -a /dev/sda # unter Windows: smartctl -a hda |
Hier eine Liste der wichtigsten Optionen. Für weitere Informationen siehe die smartctl man page oder SmartMonTools Homepage.
Option | Beschreibung | Weitere Informationen | |
---|---|---|---|
-h | Help | Online Hilfe | |
-s on | SMART aktivieren/deaktivieren | SMART Funktionen aktivieren, sonst funktionieren die weiteren Kommandos nicht. | |
-d ata | device type | Unter Linux werden SATA Platten wie SCSI Platten angesprochen. Falls smartctl die Platte nicht auf Anhieb erkennt, explizit den Typ angeben (ata, scsi, 3ware, N) | |
-d megaraid,[id] | device type | Platte ist an einen RAID-Controller (hier: MegaRAID/LSI/Avago) angeschlossen | |
-t short | Run Test | Kurzen (1 - 2 Minuten) Selbsttest ausführen. | |
-t long | Run Test | Langen (viele Stunden) Selbsttest ausführen.
| |
-C | Do test in captive mode | Zusatzoption für -t: alle Zugriffe auf die Festplatte werden für die Dauer des laufenden Tests gesperrt. | |
-a | Alle SMART Informationen | Führt alle folgenden Statusabfragen auf einmal aus. | |
-i, --info | Informationen über die Festplatte |
Einige allgemeine Festplatteninformationen. Nützlich ist die Seriennummer, die man immer braucht, wenn man die Platte zum Hersteller schickt. | |
-H | Health Status |
Der Health Status zeigt an, ob der Self-Test der Festplatte erfolgreich war oder fehlgeschlagen ist. Aber Achtung: Auch wenn hier "PASSED" steht, heißt das nicht unbedingt, dass die Festplatte einwandfrei ist. Sie kann durchaus nicht mehr lesbare Sektoren enthalten - wie dieses Exemplar hier. Falls der Self-Test "FAILED!" ergibt, dann sollte man schleunigst alle Daten retten und die Platte austauschen. | |
-c | device SMART capabilities |
Diverse Angaben über die SMART Funktionen dieser Festplatte. Enthält auch die ungefähre Dauer der Selbsttests. | |
-A | device SMART vendor-specific Attributes and values |
Diese Tabelle enthält zahlreiche wichtige Informationen zum aktuellen Zustand der Platte. Weiter unten im Text dazu mehr. | |
-l error | device log |
Dies kann auf eine beschädigte Festplatte hinweisen, muss aber nicht. Solche Fehler können auch durch Probleme mit der Stromversorgung, Stöße während des Schreib-/Lesevorgangs (z.B. bei Notebooks) verursacht werden. Vorsichtshalber sollte man jedoch einen Selbsttest starten. | |
-l selftest | device log |
Jede SMART Festplatte kann Selbsttests ausführen. Dieser Abschnitt enthält die Ergebnisse der letzten Tests. In diesem Beispiel sind sowohl der kurze als auch der lange Selbsttest fehlgeschlagen. Die Festplatte ist defekt und ein Garantiefall. Zusätzlich wird noch der Zeitpunkt des Tests angegeben sowie die logische Blockadresse des fehlerhaften Blocks. | |
-l selective | device log |
Falls man nur bestimmte Bereiche der Platte getestet hat, stehen hier die entsprechenden Resultate. |
Man sollte sich zunächst die folgenden Einträge ansehen:
SMART Information | Bedeutung |
---|---|
SMART overall-health self-assessment test result | Kann "PASSED" oder "FAILED!" enthalten. Ein PASSED Ergebnis heißt jedoch keineswegs, dass die Festplatte in Ordnung ist. |
Reallocated_Sector_Ct | Die Anzahl der Sektoren mit Lesefehlern, die automatisch von der Festplatten-Controllersoftware durch Reserve-Sektoren ersetzt wurden. Sollte normalerweise Null sein. Wenn die Anzahl defekter Blöcke im Laufe der Zeit ansteigt, sollte man die Platte ersetzen. |
Current_Pending_Sector | Die Anzahl Sektoren mit Lesefehlern, die noch nicht ersetzt wurden. Wenn dieser Wert nicht Null ist, muss dieser Sektor explizit geschrieben oder die Platte neu formatiert werden. |
SMART Error Log | Dieser Abschnitt enthält Detailinformationen zu den letzten aufgetretenen Problemen. Einträge sind kein Beweis für ein schwerwiegendes Problem mit der Festplatte; wenn jedoch der Error Counter sehr hoch ist, ist die Platte wahrscheinlich defekt. |
SMART Self-test log | Enthält die Ergebnisse der letzten Selbsttest. Falls hier ein "FAILED" steht, ist die Platte defekt. Daten sichern und Festplatte an den Hersteller zurücksenden. |
Es ist durchaus normal, dass eine Festplatte defekte Sektoren hat. Die Steuersoftware der Festplatte kann Zugriffe auf solche defekten Sektoren auf einwandfreie Reservesektoren umlenken, so dass keinerlei Einschränkungen im Betrieb auftreten.
Aber man sollte folgende zwei Punkte im Auge behalten:
Dies ist die Anzahl defekter Blöcke, die definitiv nicht mehr lesbar sind und für die die Controllersoftware ein Reassign geplant hat. Die Zuweisung eines Reserveblocks erfolgt jedoch nur bei einem Schreibvorgang.
Es gibt zwei Arten von Selbsttests, einen langen und einen kurzen (smartctl -t long und smartctl -t short). Beide Varianten kann man ohne Probleme auf aktiven Festplatten ausführen, da sie weder Daten überschreiben noch den Betrieb nennenswert stören. Der kurze Selbsttest benötigt im allgemeinen ein, zwei Minuten; der lange Selbsttest kann schon mal einige Stunden dauern.
Beide Tests sollte man in gewissen Abständen ausführen. In den Linux smartmontools gibt es dazu den smartd, der z.B. täglich einen kurzen und wöchentlich einen langen Selbsttest ausführt. Sollte es Probleme geben, erhält man automatisch eine Email.
Unter Windows gibt es zahlreiche Tools, die ähnliche Funktionen durchführen:
http://www.google.de/search?q=smart+disk+tools+windows
http://de.wikipedia.org/wiki/Self-Monitoring,_Analysis_and_Reporting_Technology#S.M.A.R.T.-Programme_im_Vergleich
Die meisten Festplatten haben eine ziemlich lange Garantiezeit, im allgemeinen drei oder fünf Jahre. Wenn der SMART Selbsttest einen Fehler nachweist, ist die Platte ein Garantiefall. Daten retten, Platte an den Hersteller zurückschicken.
Auch bei sonstigen Fehlern, die keinen Garantieanspruch bedingen, sollte man nicht lange herumexperimentieren. Es lohnt sich nicht. Meine Zeit ist mir dafür zu schade. Zeigt eine Platte irgendwelche Unregelmäßigkeiten, gibt es für mich nur einen Weg: Daten runterkopieren, neue Platte einbauen. Und die defekte alte Platte bitte nicht bei Ebay vertickern... lieber in den Elektronikschrott.
Bei Lesefehlern kann man die Festplatte zwingen, einen der Reserveblöcke zuzuweisen, indem man Daten auf diesen Sektor schreibt. Die Datei, zu der dieser Sektor gehört, ist allerdings beschädigt.
Unter Linux verwendet man folgendes Kommando:
dd if=/dev/zero of=/dev/sda bs=512 count=1 seek=[Blocknummer] |
Unter Windows führt man eine Datenträgerprüfung durch: Rechtsklick auf das fragliche Volume, Eigenschaften, Extras, Fehlerüberprüfung, Jetzt prüfen, Option "Fehlerhafte Sektoren suchen/wiederherstellen" auswählen. Dies liest jeden einzelnen Block der Festplatte und schreibt ihn wieder zurück. Dieser Vorgang kann jedoch eine ganze Weile dauern.
Die Reallokierung wird auch durch eine Neuformatierung erzwungen. Unter Windows: nicht die Option "Schnellformatierung" auswählen; unter Linux: mke2fs -c -c.
Die beste Methode ist, ein aktuelles Backup zu haben.
Das grundsätzliche Problem beim Kopieren von Daten von einer defekten Festplatte ist, dass irgendwo ja nicht lesbare Blöcke sind. Windows bricht dann gerne mit einem Lesefehler ab, so dass man an die weiteren Daten nicht mehr rankommt. Man kann natürlich etappenweise einzelne Directories kopieren, aber der Aufwand ist sehr viel höher.
Deswegen sollte man zunächst Sektor für Sektor die gesamte Festplatte kopieren. Dann kann man in aller Ruhe die Dateien kopieren, ohne befürchten zu müssen, dass durch Reparaturversuche noch mehr kaputtgeht.
Am besten funktioniert dies unter Linux; auch dann, wenn es sich um Windows Partitionen handelt.