RAID 6, como el RAID 5, también se desarrolló en la década de 1980. Una matriz RAID 6 construida con un controlador de hardware se usa a menudo como un buen compromiso entre redundancia y velocidad. Una matriz RAID 6 requiere al menos cuatro discos y ofrece mayores velocidades de lectura con un impacto mínimo en el rendimiento de escritura. Este nivel de RAID puede tolerar dos fallos de disco.
Las matrices RAID 6 deberán dedicar dos discos de datos a la paridad. Esto significa que una matriz RAID 6 sigue siendo más barata de implementar que una RAID 10 del mismo tamaño, ya que solo se asignan dos unidades de espacio a la paridad. RAID 6 también permite más flexibilidad y mayores tamaños de volumen que RAID 1.
En el ejemplo anterior, tenemos una matriz RAID 6 de cinco unidades como la que vería en un servidor Dell PowerEdge. El primer bloque de paridad (Paridad 1) que se encuentra en la Unidad 4 para la primera franja, es el XOR de los datos de los bloques denominados Datos 1 (Unidad 1), Datos 2 (Unidad 2) y Datos 3 (Unidad 3).
El segundo bloque de paridad (Paridad 2) que se encuentra en la Unidad 5 para la primera franja, es una combinación de los datos de Datos 1, Datos 2, Datos 3 y puede incluir la Paridad 1 según el fabricante y el controlador. Estos cálculos de paridad se repiten en todas las franjas de datos utilizando diferentes combinaciones de unidades.
En el siguiente ejemplo, vemos que la unidad 2 falló.
Al perder una unidad, la matriz entrará en un modo degradado. En el modo degradado, el controlador RAID combinará las franjas de datos con paridad según sea necesario para presentar buenos datos al sistema operativo. En nuestro ejemplo, el controlador combinará Datos 1, Datos 3 y Paridad 1 en la primera franja para reemplazar los datos que faltan en los Datos 2. En la segunda franja, los Datos 4, los Datos 6 y la Paridad 1 se utilizan para reemplazar los Datos 5. En las franjas tercera y cuarta, no se necesita paridad ya que todas las unidades de datos están presentes.
Con dos bloques de paridad por banda, RAID 6 permite que dos unidades fallen. En el siguiente ejemplo, vemos que las unidades 2 y 4 fallaron.
Al perder dos unidades, el controlador usará las franjas de datos combinadas con Paridad 1 y Paridad 2 para recrear los datos que faltan. En nuestro ejemplo, el controlador combinará Datos 1, Datos 3 y Paridad 2 en la primera franja para reemplazar los datos que faltan en los Datos 2. En la segunda franja, los Datos 4, los Datos 6 y la Paridad 1 se utilizan para reemplazar los Datos 5. En la tercera franja, Datos 7, Datos 9 y Paridad 2 se utilizan para reemplazar Datos 8.
Si hay un repuesto dinámico disponible para el sistema, el controlador comenzará automáticamente a reconstruir los datos faltantes de la unidad fallida en el repuesto dinámico en caso de fallo.
El ejemplo anterior muestra que la unidad 2 falló. El sistema usó el repuesto dinámico y reconstruyó todos los datos faltantes de la unidad 2 en el repuesto dinámico. La unidad 2 ahora se puede quitar del sistema y reemplazar con una nueva unidad, ya sea como un nuevo repuesto dinámico o como una nueva unidad 2 y los datos se pueden reconstruir en ella.
¿Por qué utilizar repuestos dinámicos? Cuando falla una unidad, el tiempo es esencial en la reconstrucción. La ejecución en modo degradado ejerce una presión adicional sobre las unidades restantes y puede causar fallos adicionales si no se corrige rápidamente. También es posible que las unidades de un lote de fabricación similar tengan defectos similares, por lo que es posible que otras fallen pronto. Tener uno o más repuestos dinámicos disponibles permite tiempos de recuperación más rápidos.
Hay varias razones para la pérdida de datos y el esfuerzo de recuperación para cada una de ellas es diferente. A continuación, se muestran algunos ejemplos:
Al igual que una matriz RAID 5, si una unidad falla en una matriz, se puede usar la paridad para reconstruir los datos que faltan. En este escenario, Ontrack normalmente puede recuperar el 100 % de los datos. Al recibir una matriz que no funciona, se crean imágenes de todas las unidades de la matriz en la sala limpia (incluida la unidad fallida, si es posible). Luego, la matriz se reconstruye virtualmente utilizando esas imágenes. Una vez que se ensambla el RAID, el sistema de archivos o el volumen se escanea en busca de corrupción, se repara virtualmente y se extraen los datos. La unidad fallida a menudo no se necesita, ya que las bandas de datos que faltan se pueden reconstruir a partir de la paridad.
A diferencia de la matriz RAID 5, donde se necesitan todas las unidades excepto una para que funcione, RAID 6 está diseñado para permitir el fallo de hasta dos discos sin ningún impacto en los datos. El proceso de recuperación de varias unidades fallidas es similar al fallo de una sola unidad. Al recibir una matriz no funcional, se crean imágenes de las unidades en la sala limpia, incluidas las unidades fallidas. Si los datos de las unidades están actualizados, es posible que no se necesiten las unidades fallidas para obtener una recuperación completa de la matriz. Luego, la matriz se reconstruye virtualmente utilizando esas imágenes.
En el ejemplo anterior, los datos 1, los datos 3 y la paridad 2 de la franja uno se usan para reconstruir los datos 2. Los datos 4, la paridad 1 y los datos 6 se usan para reconstruir los datos 5 en la segunda franja. Los Datos 7, Paridad 2 y Datos 9 se utilizan para reconstruir los Datos 8 en la tercera franja.
Una vez que la matriz RAID se vuelve a ensamblar virtualmente, el sistema de archivos o el volumen se analiza en busca de corrupción. Además de la corrupción del sistema de archivos, los ingenieros también buscan datos que no son consistentes o están desactualizados. Esto ocurre cuando hay un lapso de tiempo entre los fallos de la unidad y una de las unidades se degrada. Los ingenieros de recuperación de datos necesitan experiencia en el reconocimiento de este tipo de daño para que puedan reparar virtualmente el volumen y extraer buenos datos de archivo.
Es posible obtener una recuperación completa de una matriz RAID 6 incluso si hay más de dos fallos en la unidad.
En el ejemplo anterior, tenemos una matriz RAID 6 con daños en algunas áreas de los cinco discos. Si no hay más de dos bloques fallidos por franja, es posible reconstruir los datos que faltan. Ontrack generará la mayor cantidad posible de imágenes de cada unidad.
Luego, la matriz se reconstruye virtualmente utilizando esas imágenes. En el ejemplo anterior, los Datos 1, Datos 3 y Paridad 2 de la franja uno se usa para reconstruir los Datos 2. No se necesita paridad para la franja 2 ya que los Datos 4, Datos 5 y Datos 6 están todos intactos. Los Datos 7, Paridad 2 y Datos 8 se utilizan para reconstruir los Datos 9 en la tercera franja.
Una vez que la matriz RAID se vuelve a ensamblar virtualmente, el sistema de archivos o el volumen se analiza en busca de corrupción. Los datos recuperables se extraen de la matriz virtualmente reconstruida a nuevos medios para volver a ponerlos en producción.