Todas las respuestas anteriores son incorrectas con respecto a las capacidades de RAID 6. Los algoritmos RAID 6 operan byte por byte al igual que RAID 5, y si un solo byte en cualquier unidad está dañado, incluso si la unidad no indica ningún error, puede ser detectado y corregido. El algoritmo para hacerlo se explica completamente en
https://mirrors.edge.kernel.org/pub/linux/kernel/people/hpa/raid6.pdf
Para realizar esta verificación, las unidades de paridad P y Q también deben leerse junto con las unidades de datos. Si la paridad calculada P 'y Q' difiere sin errores de unidad, un análisis puede determinar cuál de las unidades es incorrecta y corregir los datos.
Además, si la identificación de la unidad es para una unidad que no está presente (como la unidad 137 si solo hay 15 unidades), más de una unidad está proporcionando datos corruptos PARA ESTE BYTE, lo que indica un error de error no corregible. Cuando hay mucho menos de 256 unidades en el conjunto, esto se detecta con alta probabilidad por byte, y dado que hay muchos bytes en un bloque, con una probabilidad extremadamente alta por bloque. Si la identificación de la unidad no es consistente para todos los bytes dentro del bloque RAID, nuevamente, más de una unidad está proporcionando datos corruptos, y generalmente uno puede rechazar la condición, pero siempre y cuando todas las identificaciones de la unidad sean válidas, el bloque no necesariamente necesita ser rechazado.
Se necesita más tiempo que el tiempo de verificación habitual para realizar esta corrección, pero solo se debe realizar con el cálculo del síndrome (P y Q) muestra un error.
Dicho todo esto, sin embargo, no he examinado el código mdadm para determinar si se maneja la corrupción de un solo byte. Soy consciente de que mdadm informa errores del síndrome RAID6 en la exploración mensual, pero del mensaje de error no está claro si se están corrigiendo; no detiene la matriz de unidades ni identifica ninguna unidad particular en el mensaje.