Werden Festplatten vom Herumliegen "schlecht"

Dass fehlerhafte Daten aus der Redundanz des RAID korrigiert werden können.
 
Das musst du mir ein bißchen erklären was du damit meinst. Für Datenintegrität zwingend auf ein RAID setzen zu müssen ist mir neu. Mir ist auch kein RAID bekannt, das korrupte Daten in fehlerhaften Blöcken erkennen und ausgleichen.
 
Wenn du ein RAID hast und für den Pool einen Scrub durchführst, dann wird ein fehlerhafter Sektor aus der Redundanz des RAID korrigiert. Bei ZFS (Btrfs evtl. auch?) braucht es dafür noch nicht mal einen Scrub; das bloße Lesen eines fehlerhaften Sektors im Betrieb reicht aus, damit eine Wiederherstellung aus der Redundanz stattfindet.

Kann die HDD einen Sektor über ihren eigenen ECC nicht wiederherstellen, kommt dies zum Einsatz. Hast du z.B. eine einzelne HDD und ein Sektor kann nicht wiederhergestellt werden, sind seine Daten erst mal verloren. Du kriegst als Nutzer noch nicht mal unbedingt mit, dass es überhaupt einen Fehler gegeben hat. Das merkst du vielleicht, weil in deinem Word-Dokument nur Blödsinn steht, oder spätestens, wenn der Sektor neu zugewiesen wird und bei den SMART-Werten ein Eintrag vorhanden ist (oder auch gar nicht, ich hatte auf einer alten HDD [an die zehn Jahre alt] auch schon Dateien, die laut Prüfsumme defekt waren, aber bei den SMART-Werten nichts Bedenkliches/Auffälliges hervorgerufen haben.).

Ergo weiß man u.U. noch nicht mal, welche Datei überhaupt betroffen ist. Das kann man prüfen, wenn man manuell initiiert für alle Dateien Prüfsummen angelegt hat. Dann kann man die entsprechende Datei identifizieren und aus einem Backup ersetzen. Hat man keine Prüfsummen (und es kann theoretisch jede Datei sein), muss man ein komplettes Backup einspielen.

Über ein RAID kann man somit sehr komfortabel zur Datenintegrität beitragen. Zwingend ist es natürlich nicht.
 
Zuletzt bearbeitet:
Banned schrieb:
Kann die HDD einen Sektor über ihren eigenen ECC nicht wiederherstellen, kommt dies zum Einsatz.
Hier sollte man aber sowohl die verschiedenen Fehlerfälle im Kontext ECC durch die Platte differenzieren als auch wie die RAID-Steuerung die Daten liest und prüft.
Bei ECC gibt es neben A) erkennbaren und korrigierbaren Fehlern auch B) erkennbare, aber nicht korrigierbare und sogar (wenn auch am recht unwahrscheinlich) C) nicht erkennbare (die dann logischerweise auch nicht korrigierbar sind, da es gar nicht erst versucht wird).
Im Fall A) korrigiert die Platte selbst, zählt das Korrekturevent per SMART hoch und behält den verdächtigen Sektor vermutlich im Blick um ihn bei Bedarf zu tauschen. Die nach oben gelieferten Daten sind hier garantiert richtig, was heißt, dass hier alles normal weiter läuft. Dieser Fall ist dem RAID also relativ wurst.
Im Fall B) meldet die Platte aktiv ein Problem und kann keine (korrekten) Daten liefern. Primär in diesem Fall hat die RAID-Steuerung also nun einen klaren Anlass, um auf anderen Datenträgern nach dem korrekten Sektorinhalt zu fragen und diesen auch neu auf den Problemdatenträger zurückschreiben.
Nur im unwahrscheinlichsten Fall C) würde die Platte allerdings stellenweise falsche Daten liefern, ohne dass sie dabei ein Problem signalisiert. Falls die RAID-Steuerung im Sinne der Performanz jeden Sektor nur von einer Platte liest (statt von allen möglichen redundanten Ablageorten), würde auch sie den Fehler möglicherweise nicht bemerken (sofern sie nicht eigene Checksummen verwaltet und prüft) und würde folglich die vorhandene Redundanz durch das RAID nicht zur Korrektur nutzen. Ein intelligentes RAID muss also schon etwas mehr machen als sich auf die ECC-Korrektur und ggf. Fehlermeldung durch die Platte zu verlassen....

Banned schrieb:
Hast du z.B. eine einzelne HDD und ein Sektor kann nicht wiederhergestellt werden, sind seine Daten erst mal verloren. Du kriegst als Nutzer noch nicht mal unbedingt mit, dass es überhaupt einen Fehler gegeben hat.
Nicht beide Fälle vermischen. Wenn eine Wiederherstellung gescheitert ist, sind wir in Fall B), wo die Platte auf jeden Fall einen Fehler wirft und z.B. der Windows Explorer meckert, dass nicht vom Quelldatenträger gelesen werden konnte. Nur, wenn der Fehler nicht erkannt wurde (da trotz Multi-Bit-Fehlern in den beschädigten Daten die geprüfte ECC Checksumme zufällig weiterhin passt), würde es passieren können, dass falsche Daten geliefert werden, ohne dass man es mitbekommt - dem ging dann aber kein gescheiterter Wiederherstellungsversuch voraus.
 
Purche schrieb:
Ein intelligentes RAID muss also schon etwas mehr machen als sich auf die ECC-Korrektur und ggf. Fehlermeldung durch die Platte zu verlassen....

Wenn die ECC-Korrektur gelingt, braucht es kein RAID bzw. keine Redundanz. Ansonsten ist das RAID schon auf eine Fehlermeldung der Platte angewiesen (sicher gibt es auch Hardware-RAID-Controller, die selbst noch eine Parität verwalten), sofern nicht auf einer höhergelagerten Ebene (z.B. das ZFS-Dateisystem) ein Prüfsummenfehler festgestellt wird.

Purche schrieb:
Falls die RAID-Steuerung im Sinne der Performanz jeden Sektor nur von einer Platte liest (statt von allen möglichen redundanten Ablageorten), würde auch sie den Fehler möglicherweise nicht bemerken

Dafür ja die Scrubs.

Banned schrieb:
Kann die HDD einen Sektor über ihren eigenen ECC nicht wiederherstellen, kommt dies zum Einsatz. Hast du z.B. eine einzelne HDD und ein Sektor kann nicht wiederhergestellt werden, sind seine Daten erst mal verloren. {Hier hätte ich einen Absatz machen sollen. Der folgende Satz sollte keinen Bezug nehmen auf den vorherigen, sondern einer allgemeinen Aussage entsprechen.} Du kriegst als Nutzer noch nicht mal unbedingt mit, dass es überhaupt einen Fehler gegeben hat. Das merkst du vielleicht, weil in deinem Word-Dokument nur Blödsinn steht, oder spätestens, wenn der Sektor neu zugewiesen wird und bei den SMART-Werten ein Eintrag vorhanden ist (oder auch gar nicht, ich hatte auf einer alten HDD [an die zehn Jahre alt] auch schon Dateien, die laut Prüfsumme defekt waren, aber bei den SMART-Werten nichts Bedenkliches/Auffälliges hervorgerufen haben.).
 
Zuletzt bearbeitet:
Zurück
Oben