
Im Laufe der Zeit können Daten Opfer einer schleichenden Verschlechterung werden, welche die Datenintegrität allmählich beeinträchtigt. Dieser langsame Verschleiss der Datenintegrität eines Speichermediums, betrifft sowohl Solid-State Drives (SSDs), als auch herkömmliche Festplatten (HDDs). Somit kann es sein, dass die geliebten Ferien-Fotos plötzlich nicht mehr korrekt lesbar sind. Weiter unten im Bericht erfahren Sie wie man sich mittels «Data Scrubbing» vor Datenbeschädigungen schützt.
Dieser Vorgang geschieht stillschweigend, ohne Vorwarnung und nennt sich «bit rot» oder ist auch als Bit-Verfall, Bit-Verwesung, Datenverfall oder stille Korruption bekannt (silent data corruption). Die beiden folgenden Bilder zeigen das Originalfoto und das beschädigte Foto, das an «bit rot» leidet.
Bevor wir auf das Data Scrubbing im Detail eingehen, müssen wir uns zunächst über die Funktionsweise mit RAID-Arrays vertraut machen. RAID steht für redundante Anordnung von unabhängigen Festplatten (Redundant Array of Independent Disks). Einfach ausgedrückt, kombiniert es mehrere Laufwerke in einem einzigen Speicherpool und bietet Fehlertoleranz und Datenredundanz. An dieser Stelle stellen wir kurz RAID 5 vor.
So funktioniert RAID 5
RAID 5 benötigt mindestens drei Laufwerke und verwendet Parity-Striping auf Blockebene. Wenn beispielsweise einen Block sequentieller Daten in das Array geschrieben wird, schreibt RAID 5 ihn nacheinander in A1, A2, A3, B1, B2, B3. Ebenso liest es Daten in der gleichen Reihenfolge. Pa, Pb und Pc sind Paritätsblöcke, die über die Laufwerke verteilt sind. Beim Schreiben von A1, A2 und A3 verwendet RAID 5 das folgende XOR, um Pa zu berechnen und in den entsprechenden Block zu schreiben.
Pa = A1 (XOR) A2 (XOR) A3 (Funktion 1)
Wenn eines der Laufwerke ausfällt, errechnet RAID 5 die fehlenden Daten, indem Pa und der Inhalt der beiden verbleibenden Laufwerke verwendet werden. Angenommen die Festplatte wo A2 gespeichert ist fällt aus, dann kann die folgende XOR-Berechnung durchgeführt werden, um ihn zu rekonstruieren:
A2 = A1 (XOR) A3 (XOR) Pa (Funktion 2)
Die wiederhergestellten Inhalte sind das, was eine redundante Kopie genannt wird. Auf diese Weise erreicht RAID 5 Redundanz und schützt die Daten vor Festplattenausfällen.
RAID-Scrubbing
Da wir nun ein grundlegendes Verständnis der Eigenschaften von RAID 5 haben, können wir weiter über die Datenkonsistenz sprechen. Zunächst einmal wissen wir, dass die Paritätsinformationen in jedem Laufwerk der oben gezeigten Funktion 1 entsprechen sollten. Wenn dies zutrifft, kann mit Sicherheit gesagt werden, dass die Daten im Array konsistent sind. Bei Ausfall eines einzelnen Laufwerks kann mit Funktion 2 die redundante Kopie berechnet und der Inhalt entsprechend wiederhergestellt werden. Daten nicht wiederherstellen zu können, kann ernsthafte Probleme verursachen, daher ist es wichtig, die Datenkonsistenz zu erhalten. Das RAID-Scrubbing scannt alle Inhalte eines Arrays und stellt sicher, dass alle Paritätsstreifen der Funktion 1 entsprechen. Wenn es die XOR-Funktion nicht erfüllt ist, wird immer wieder neu berechnet, bis alle Werte konsistent sind.
"Bleiben meine Daten immer intakt, wenn ich einen regelmässigen RAID-Scrubbing-Plan festlege?"
Leider ist die Antwort nein. Es kann nicht sichergestellt werden, dass die auf den Laufwerken gespeicherten Daten immer korrekt sind. Einige Datenverluste können während des Schreib-zu-Laufwerk-Prozesses auftreten, ohne bemerkt zu werden (silent data corruption). Diese Art von Fehlern wird durch verschiedene Ursachen hervorgerufen: Hardwarefehler, elektromagnetische Störungen und vieles mehr.
Das Problem ist, dass RAID-Scrubbing nur die Datenkonsistenz gewährleisten kann. Das heisst, es wird nicht erkannt, welcher Datenblock falsch ist. Wenn ein Block beschädigt ist, ist auch jeder abhängiger Block "konsistent beschädigt". Die alleinige Abhängigkeit von RAID-Scrubbing kann ein potenzielles Risiko darstellen. Stellen wir uns vor, dass wir Pa mit A1, A2 und A3 rekonstruieren wollen (wie in Funktion 1 oben). Bereits wenn nur einer von A1, A2 oder A3 beschädigt ist, dann wird die Ausführung der Funktion schiefgehen. Die Parität wird falsch berechnet und die Wiederherstellung der Daten endet in korrupten Blöcken. An dieser Stelle kommt nun das Btrfs Data Scrubbing ins Spiel.
Btrfs Daten-Scrubbing (Linux)
Das Dateisystem-Daten-Scrubbing verwendet den Prüfsummenmechanismus, um die Volumes im Btrfs-Dateisystem zu überprüfen. Wenn Daten entdeckt werden, die mit der Prüfsumme nicht übereinstimmen, versucht das System, die Daten mit der redundanten Kopie zu reparieren. Sobald Sie die Daten-Prüfsumme beim Erstellen eines gemeinsamen Ordners aktivieren, berechnet das Dateisystem Btrfs für jede geschriebene Datei eine Prüfsumme (Daten-Prüfsumme) und schützt diese Daten-Prüfsumme zusätzlich mit einer anderen Prüfsumme (Metadaten-Prüfsumme).
Bei jedem Daten-Scrubbing berechnet das Dateisystem die Prüfsumme neu und vergleicht sie mit der zuvor gespeicherten Daten-Prüfsumme. In der Zwischenzeit überprüft die Daten-Prüfsumme die entsprechende Metadaten-Prüfsumme, um sicherzustellen, dass die Daten-Prüfsumme selbst intakt ist. Mit anderen Worten, wenn die neu berechnete Prüfsumme nicht mit der Datenprüfsumme übereinstimmt, wird eine Gegenprüfung mit der Metadatenprüfsumme durchgeführt, um festzustellen, ob die Datei oder die Datenprüfsumme falsch läuft. Sobald eine Datenbeschädigung festgestellt wird, versucht das System, die beschädigten Daten durch Abrufen der redundanten Kopie (RAID 5) zu reparieren.
Zu beachten ist jedoch, dass die Btrfs-Datenprüfsumme die Systemleistung beeinträchtigen kann. Es wird nicht empfohlen, die Datenprüfsumme zu aktivieren, wenn es sich um einen gemeinsamen Ordner handelt, in dem Datenbanken, virtuelle Maschinen oder Überwachungsvideos gespeichert sind. Bedenkenlos kann Btrfs eingesetzt werden, wenn es für freigegebenen Ordnern verwendet wird wo Dokumente oder Fotos gespeichert sind. Der Einfluss der Datenprüfsumme auf die Systemleistung wird nur sehr gering sein.
ReFS Daten-Scrubbing (Windows)
Auch Windows bietet ein Dateisystem welche vor «Bit Rot» schütz. Es ist das ReFS Dateisystem welches seit Windows Server 2012 existiert. Die Funktionsweise ist weitgehend vergleichbar mit Btrfs. Microsoft schreibt dazu in einem Blog folgendes:
Um Bit-Rot zu bewältigen, haben wir eine Systemaufgabe hinzugefügt, die periodisch alle Metadaten und Integritätsstromdaten auf einem ReFS-Volume, das sich auf einem gespiegelten Speicherplatz befindet, bereinigt. Beim Scrubbing werden alle redundanten Kopien gelesen und ihre Richtigkeit mit den ReFS-Prüfsummen überprüft. Wenn Prüfsummen nicht übereinstimmen, werden fehlerhafte Kopien mit guten korrigiert.
Das Befehlszeilentool Integrity.exe ist eine leistungsstarke Methode zur Verwaltung der Integritäts- und Scrubbing-Richtlinien.
Quelle: synology.com