RAID 6の機能に関して、上記のすべての答えは正しくありません。RAID6アルゴリズムは、バイトごとにRAID 5と同じように動作し、ドライブの1バイトが破損した場合、ドライブによってエラーが示されなくても、検出および修正されます。そうするためのアルゴリズムはで完全に説明されています
https://mirrors.edge.kernel.org/pub/linux/kernel/people/hpa/raid6.pdf
このチェックを実行するには、データドライブとともにパリティPおよびQドライブも読み取る必要があります。計算されたパリティP 'とQ'がドライブエラーなしで異なる場合、分析はどのドライブが正しくないかを特定し、データを修正できます。
さらに、ドライブIDが存在しないドライブ(ドライブが15台しかない場合のドライブ137など)の場合、複数のドライブが破損データを提供し、修正不可能なエラーエラーを通知します。セット内のドライブが256個よりはるかに少ない場合、これはバイトごとに高い確率で検出され、ブロックには多くのバイトがあるため、ブロックごとに非常に高い確率で検出されます。RAIDブロック内のすべてのバイトでドライブIDが一貫していない場合、複数のドライブが破損データを提供しており、通常は条件を拒否する可能性がありますが、すべてのドライブIDが有効である限り、ブロックは必ずしも必要ではありません拒否されます。
この修正を実行するには通常の検証時間よりも時間がかかりますが、シンドローム(PおよびQ)計算でエラーが表示された場合にのみ実行する必要があります。
ただし、これはすべて、シングルバイトの破損が処理されるかどうかを判断するためにmdadmコードを調べたことはありません。mdadmが毎月のスキャンでRAID6シンドロームエラーを報告することは承知していますが、エラーメッセージから、それらが修正されているかどうかは明確ではありません-ドライブアレイを停止せず、メッセージ内の特定のドライブを特定しません