Datenrekonstruktion auf Abbild-Ebene

dvdisaster Version 0.72.6 / 0.79 (devel-3) | Zur Internet-Version

Inhalt
Neuigkeiten
Überblick
Typische Anwendungen
Herunterladen
Fragen und Antworten
· | Technische Fragen
· | Fehlermeldungen
· | Hintergrundinformationen
| - | Eigenschaften der Fehlerkorrektur
| - | Datenrekonstruktion auf Abbild-Ebene
| - | RS01, RS02 und RS03
| - | Lineares Lese-Verfahren
| - | Angepaßtes Lese-Verfahren
| - | Bemerkungen zu Lesefehlern
| - | Fehlerkorrektur-Datei aufbewahren
Fehler berichten
|  | ### Datenrekonstruktion auf Abbild-Ebene Eine Datenträger-Rekonstruktion mit fehlerkorrigierenden Kodes findet in zwei Schritten statt: Zuerst wird versucht, möglichst viele Daten von dem Datenträger zu lesen. Dann werden die noch fehlenden Daten durch den Fehlerkorrektur-Kode rekonstruiert. Die Ausbeute an noch lesbaren Daten (Schritt 1) hängt nicht nur von dem verwendeten Laufwerk ab, sondern auch davon, auf welcher logischen Ebene auf den Datenträger zugegriffen wird. Diese Seite erklärt die logischen Ebenen und warum dvdisaster auf der Ebene von Abbildern arbeitet: Logische Ebenen eines Datenträgers Optische Datenträger sind in Daten-Sektoren von jeweils 2048 Bytes aufgeteilt. Liest man diese Sektoren nacheinander aus und speichert sie ab, so erhält man ein Abbild des Datenträgers. Das Arbeiten mit einzelnen Sektoren ist aus Benutzersicht sehr unhandlich. Deshalb werden Datenträger mit einem Dateisystem versehen, das Daten-Sektoren zu Dateien zusammenfaßt. Dies erfordert eine genaue Buchführung darüber, aus welchen Daten-Sektoren die Dateien bestehen (sowie weitere Merkmale wie Dateinamen und Zugriffsrechte). Für diese Buchführung wird ein Teil der Daten-Sektoren reserviert und mit entsprechenden Datenstrukturen gefüllt. Datenträger lassen sich somit in verschiedene logische Ebenen einteilen: Betrachtet man den Inhalt eines Datenträgers als eine Folge von Daten-Sektoren, so arbeitet man auf der Abbild-Ebene. Stellt man ihn sich hingegen als eine Menge von Dateien vor, so befindet man sich auf der Dateisystem-Ebene. In Hinsicht auf die Daten-Rekonstruktion haben die beiden Ebenen unterschiedliche Eigenschaften: Probleme beim Lesen auf Dateisystem-Ebene Beim Lesen auf Dateisystem-Ebene wird versucht, die auf einem defekten Datenträger enthaltenen Dateien einzeln soweit wie möglich auszulesen. Dabei entsteht ein Problem, wenn Daten-Sektoren beschädigt sind, die zur Buchführung im Dateisystem dienen. Dies kann bewirken, daß die Liste aller Dateien auf dem Datenträger unvollständig ist. Oder die Zuordnung von Daten-Sektoren zu Dateien ist nicht mehr vorhanden. Dadurch gehen Dateien oder Teile davon verloren, selbst wenn die zugehörigen Daten-Sektoren noch technisch lesbar sind. Das ist schlecht, denn auch die noch lesbaren Anteile von beschädigten Dateien sind für den Fehlerkorrektur-Kode wichtig. Ein besonders schlechter Fall entsteht, wenn die Fehlerkorrektur-Daten auch in Dateien abgelegt sind. Dann werden die Fehlerkorrektur-Daten gebraucht, um das zugehörige Dateisystem zu reparieren, aber aufgrund des defekten Dateisystems ist kein Zugriff auf die Fehlerkorrektur-Daten möglich. Das führt zum vollständigen Datenverlust und hat auch Konsequenzen für das Aufheben von Fehlerkorrektur-Dateien - dazu gleich mehr. Das gleiche Problem entsteht auch, wenn man Dateien mit dem PAR2-Format um Fehlerkorrektur-Daten ergänzt und dann alle diese Dateien auf einem Datenträger abspeichert. Wenn jetzt die Buchführung des Dateisystems beschädigt wird, kommt man an die Dateien und damit auch an die Fehlerkorrektur-Daten nicht mehr heran. Mit einem Abbild-basierten Ansatz sieht die Situation hingegen besser aus: Vorteile beim Lesen auf Abbild-Ebene Beim Einlesen auf der Abbild-Ebene wird auf die Daten-Sektoren durch direkte Kommunikation mit der Laufwerks-Hardware zugegriffen. Der Erfolg beim Einlesen von Daten-Sektoren hängt nur von den Lesefähigkeiten des Laufwerks ab, nicht aber vom Zustand des Dateisystems. Lesefehler in einem Sektor verhindern nicht den Zugriff auf andere Sektoren. Weil alle noch technisch lesbaren Daten gerettet werden können, liefert das Verfahren die günstigste Ausgangsbasis für die Fehlerkorrektur. Das Abbild enthält alle Daten-Sektoren des Datenträgers. Deshalb ist nach der Wiederherstellung des Abbilds auch das darauf gespeicherte Dateisystem wieder vollständig. Ein Schutz des Datenträgers auf der Abbild-Ebene ist damit umfassender als eine Fehlerkorrektur auf der Datei-Ebene. dvdisaster arbeitet ausschließlich auf der Abbild-Ebene, um von diesen Vorteilen zu profitieren. Mit dem RS02-Verfahren ist sogar ein Ablegen der Fehlerkorrektur-Daten auf dem selben Datenträger möglich, weil das Auslesen der Fehlerkorrektur-Daten auf der Abbild-Ebene nicht durch Fehler an anderen Stellen verhindert wird (beschädigte Sektoren mit Fehlerkorrektur-Daten verringern natürlich die Leistung der Fehlerkorrektur, machen sie aber nicht unmöglich). Das RS01-Verfahren schützt Datenträger ebenfalls auf der Abbild-Ebene, legt die Fehlerkorrektur-Informationen aber in Dateien ab. Auf mögliche Fallgruben in diesem Zusammenhang weist der nächste Abschnitt hin. Konsequenzen für das Aufbewahren von Fehlerkorrektur-Dateien Datenträger sind durch die mit dvdisaster erzeugten Fehlerkorrektur-Daten auf Abbild-Ebene geschützt. Aber was ist mit den Fehlerkorrektur-Dateien selbst? Da Fehlerkorrektur-Dateien auf Dateisystem-Ebene gelesen werden, unterliegen sie den entsprechenden Einschränkungen. Wenn der Datenträger mit den Fehlerkorrektur-Dateien schadhaft wird, ist nicht mehr sichergestellt, daß sich die Fehlerkorrektur-Dateien noch vollständig lesen lassen.
| Deshalb ist es unverzichtbar, auch Fehlerkorrektur-Dateien auf der Abbild-Ebene zu schützen: Die Datenträger mit Fehlerkorrektur-Dateien müssen ebenfalls mit dvdisaster gesichert werden.
Weil dies vorausgesetzt wird, enthalten RS01- Fehlerkorrektur-Dateien keinen eigenen Schutz gegen Beschädigung! Dies würde auch nicht viel nutzen: Natürlich könnten die Fehlerkorrektur-Dateien so aufgebaut werden, daß sie auch im beschädigten Zustand noch eine verminderte Fehlerkorrektur leisten*). Aber egal wie ausgeklügelt der innere Schutz-Mechanismus auch wäre, es bliebe ein Schutz auf Dateisystem-Ebene mit den oben beschriebenen Nachteilen! Hinzu kommt, daß die dafür benötigte Rechenzeit und Redundanz besser auf der Abbild-Ebene investiert sind: Die Reed-Solomon-Fehlerkorrektur profitiert davon, wenn Fehlerkorrektur-Informationen über große Datenmengen verteilt werden. Das Abbild als Ganzes läßt sich besser schützen als die einzelnen Fehlerkorrektur-Dateien darin.
*) Mit dem neuen RS03-Kodierer erzeugte Fehlerkorrektur-Dateien haben genau diese Eigenschaften, d.h. sie sind robust gegen Beschädigungen soweit wie die Fehlerkorrektur-Kapazität reicht. Dies ist möglich da mittlerweile genügend Rechenleistung und schnelle Festplattenzugriffe zur Verfügung stehen um die Dateien entsprechend aufzubauen. Zur Zeit der Entwicklung von RS01 war dies noch nicht der Fall. Aber auch für RS03-Fehlerkorrektur-Dateien gelten die oben erwähnten Nachteile des Lesens auf Dateisystem-Ebene!

Copyright 2004-2014 Carsten Gnörlich. Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.