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.