Laut Wikipedia ist "RAID 2 - abgesehen von einigen Implementierungen von RAID 6 - die einzige Standard-RAID-Stufe, mit der genaue Daten automatisch nach einer Einzelbit-Beschädigung in Daten wiederhergestellt werden können".
Weiß jemand, ob die RAID 6 mdadm-Implementierung unter Linux eine solche Implementierung ist, mit der sich Einzelbit-Datenbeschädigungen automatisch erkennen und beheben lassen? Dies betrifft CentOS / Red Hat 6, wenn sich diese von anderen Versionen unterscheiden. Ich habe versucht, online zu suchen, hatte aber nicht viel Glück.
Bei SATA-Fehlerraten von 1 zu 1E14 Bit und einer 2 TB großen SATA-Festplatte mit 1,6E13 Bit ist dies besonders wichtig, um Datenkorruption zu verhindern.
EDIT 17-Jun-2015
Ich glaube, dies ist weniger ein Problem, von dem ich ursprünglich dachte: Siehe Festplatten / SSDs - Erkennung und Behandlung von Fehlern - Wird eine stille Datenkorruption zuverlässig verhindert? für mehr Details
quelle
RAID5 und RAID6 können Bit-Korruption erkennen und normalerweise korrigieren, wenn Sie die Parität des gesamten Laufwerks überprüfen. Dies wird als "Scrubbing" oder "Paritätsprüfung" bezeichnet und dauert bei den meisten RAID-Produktionssystemen in der Regel 24 bis 48 Stunden. Während dieser Zeit kann die Leistung erheblich beeinträchtigt werden. (Bei einigen Systemen kann der Bediener das Scrubben vor dem Lese- / Schreibzugriff oder darunter priorisieren.) Bei RAID6 besteht eine höhere Wahrscheinlichkeit, dass das Problem behoben wird, da es bei zwei Laufwerksfehlern behoben werden kann, während RAID5 nur einen Laufwerksfehler behandeln kann Laufwerksausfälle sind aufgrund der erhöhten Aktivität beim Schrubben wahrscheinlicher.
quelle
Ich hätte dies als Kommentar hinzugefügt, aber ich habe keinen ausreichenden Ruf. Ich wollte klarstellen: RAID5 kann Bit-Korruption erkennen, aber es weiß nicht, welches Laufwerk die Korruption aufweist, ohne dass ein Lesefehler vorliegt. Infolgedessen konnte ein Scrub dies nicht ohne einen Lesefehler beheben - es würde höchstwahrscheinlich nur protokollieren und das Paritätsbit entsprechend aktualisieren. Der RAID6-Algorithmus ist positionsabhängig, sodass er erkennen kann, auf welchem Laufwerk der Fehler aufgetreten ist, und die Bit-Beschädigung beheben kann.
quelle
Alle obigen Antworten sind in Bezug auf die Funktionen von RAID 6 falsch. RAID 6-Algorithmen arbeiten byteweise wie RAID 5, und wenn ein einzelnes Byte auf einem Laufwerk beschädigt ist, kann dies auch ohne Angabe eines Fehlers durch das Laufwerk geschehen erkannt und korrigiert werden. Der Algorithmus dazu wird in vollständig erklärt
https://mirrors.edge.kernel.org/pub/linux/kernel/people/hpa/raid6.pdf
Um diese Überprüfung durchzuführen, müssen die Paritätslaufwerke P und Q zusammen mit den Datenlaufwerken gelesen werden. Wenn sich die berechnete Parität P 'und Q' ohne Laufwerksfehler unterscheidet, kann eine Analyse herausfinden, welches der Laufwerke falsch ist, und die Daten korrigieren.
Wenn sich die Laufwerksidentifikation auf ein Laufwerk bezieht, das nicht vorhanden ist (z. B. Laufwerk 137, wenn nur 15 Laufwerke vorhanden sind), stellt mehr als ein Laufwerk für DIESES BYTE beschädigte Daten bereit, was auf einen nicht korrigierbaren Fehler hinweist. Befinden sich weniger als 256 Laufwerke im Satz, wird dies mit hoher Wahrscheinlichkeit pro Byte erkannt, und da ein Block viele Bytes enthält, mit extrem hoher Wahrscheinlichkeit pro Block. Wenn die Laufwerksidentifikation nicht für alle Bytes innerhalb des RAID-Blocks konsistent ist, liefert wieder mehr als ein Laufwerk beschädigte Daten, und im Allgemeinen kann man die Bedingung ablehnen, aber solange alle Laufwerksidentifikationen gültig sind, muss der Block nicht notwendigerweise Abgelehnt werden.
Die Durchführung dieser Korrektur dauert länger als die übliche Überprüfungszeit, sie muss jedoch nur durchgeführt werden, wenn die Berechnung des Syndroms (P und Q) einen Fehler anzeigt.
Trotzdem habe ich den mdadm-Code nicht untersucht, um festzustellen, ob eine Einzelbyte-Beschädigung behandelt wird. Ich bin mir bewusst, dass mdadm beim monatlichen Scan RAID6-Syndrom-Fehler meldet, aber anhand der Fehlermeldung ist nicht klar, ob sie behoben werden - das Laufwerk-Array wird nicht gestoppt, und es wird kein bestimmtes Laufwerk in der Nachricht identifiziert.
quelle