domingo, 13 de febrero de 2011

RAIDs anidados: Configuraciones basadas en RAID-5 y RAID-6 (Tercera y última)

Esta es la tercera y última parte de la serie sobre RAIDs que iniciamos hace algún tiempo. Como verán el artículo es bien largo y fue una de las causas de la demora (como he dicho antes, no solo hago esto). Para los que llegan ahora es una traducción de un artículo de Jeffrey B Layton cuya primera parte salió el martes 4 de enero de este año y la segunda el jueves seis, esta tercera salió el 11 de enero lo que significa un mes de diferencia (la traducción nuestra) pero finalmente aquí la tienen y en buena hora, dado que las primeras partes tuvieron muchas visitas.  De nuevo, está largo así que mejor la marcan para referencias futuras. Espero les resulte útil, provecho.
RAID Anidados: Configuraciones basadas en RAID-5 y RAID-6
Una configuración RAID anidada se construye en la parte superior de una configuración RAID estándar con el fin de resolver las limitaciones de rendimiento y redundancia de datos de estas. Profundizando en los RAID anidados, echamos un vistazo a RAID-5 y RAID-6, que tienen algunas características realmente sorprendentes (si tienes suficientes discos)
En nuestro último artículo, introdujimos el concepto de una configuración RAID anidada. Los RAID anidados combinan niveles RAID estándares, tales como RAID-0, RAID-1, RAID-5 o RAID-6 para crear una combinación de RAID nueva que apunte a un mejor rendimiento, una mejor redundancia de datos, o ambos. Normalmente, el objetivo de los RAID anidados es proporcionar una combinación de ambos, un rendimiento muy bueno y una muy buena redundancia de datos (si es posible), pero también veremos algunas configuraciones RAID en este artículo que logran increíbles características de redundancia de datos.
En general, es bastante fácil de reconocer una configuración RAID anidada, ya que tendrá dos o más números que designan la combinación de niveles RAID estándar. Por ejemplo RAID-10 usa configuraciones RAID-1 y RAID-0 para crear una configuración anidada. RAID-51 utiliza RAID-5 y RAID-1 para crear la configuración anidada, y así sucesivamente.

El orden de los números en la designación del RAID anidado es importante. El primer número de la izquierda es el nivel RAID estándar más bajo utilizado (justo por encima de los discos). El RAID de nivel inmediatamente superior es el número siguiente a la derecha y así sucesivamente. Si bien casi todas las configuraciones de RAID anidadas utilizadas en la actualidad incluyen sólo dos números, realmente no hay límite en el número de niveles RAID anidados, excepto tal vez el buen juicio y la capacidad de la controladora RAID.
Mientras que las configuraciones RAID anidadas están numeradas de izquierda a derecha (del nivel más bajo al más alto), el flujo de datos va de derecha a izquierda. Así, por ejemplo, un RAID-10 se compone de varios pares RAID-1 que se combinan usando RAID-0 (RAID-1 es el nivel más bajo y RAID-0, el nivel más alto). Pero los datos que llegan a un RAID-10 inician en RAID-0 y luego se mueve hacia RAID-1 (hacia abajo).
En el artículo anterior examinamos configuraciones RAID anidadas edificadas por sobre niveles RAID-0 y RAID-1. En concreto, se examinaron dos configuraciones, RAID-01 y RAID-10, que suenan algo similar, y lo son en algunos aspectos, pero también son diferentes entre sí en otras maneras. Hemos contrastado los dos enfoques y parece como si RAID-10 fuera más deseable que RAID-01 por la sencilla razón que el RAID-10 toca sólo una unidad durante una reconstrucción, mientras que RAID-01 toca todas las unidades de la matriz. Esto significa que una reconstrucción potencialmente puede ser más rápida en una configuración RAID-10 que en una RAID-01. Tal vez lo más importante, utilizando el menor número de unidades posibles en una reconstrucción significa mantenerse alejado de la posibilidad de una URE (error de lectura irrecuperable) tanto como sea posible.
En este artículo, vamos a ampliar nuestro examen de RAID anidados incluyendo configuraciones de base RAID-5 y RAID-6 , empezamos con RAID-05.

RAID 0 + 5 (RAID-05)
Esta configuración de RAID anidada intenta mejorar el rendimiento de escritura de RAID-5 mediante la adición de un RAID-0 (distribuido) para crear una configuración RAID con aun mejores resultados. El RAID-05 anidado comienza con RAID-0 en el nivel más bajo y luego usa un RAID-5 en la parte superior. La Figura 1 muestra cómo quedaría.



En esta ilustración, se han utilizado doce unidades para explicar cómo funciona RAID-05. Cada grupo de nivel inferior RAID-0 se compone de tres unidades y forman cuatro grupos RAID-5 en el nivel superior (recuerde que RAID-5 necesita al menos 3 "unidades"). Puede ver la distribución de los fragmentos de datos en el diseño incluyendo la distribución de los datos, así como la paridad. La paridad para cada banda está escrita como Ap (1), Ap (2), y Ap (3) donde el número entre paréntesis indica el trozo correspondiente en la banda. En otras palabras, los datos de paridad se distribuyen en bandas, así como los datos reales.

La capacidad de una configuración de RAID-05 es bastante fácil de calcular asumiendo que todas las unidades tienen la misma capacidad.

Capacidad = min (tamaños de disco) * (Número de unidades en cada grupo RAID-0) * (Número de grupos RAID

Para la figura 1, esto significa,

Capacidad = min (tamaño del disco) * 3 * (4-1)
Capacidad = min (tamaño del disco) * 9

La eficiencia de almacenamiento resultante es también bastante fácil de calcular:

Eficiencia de almacenamiento = (Número de grupos RAID-0 - 1) / (Número de grupos RAID-0 )

Para la figura 1, la eficiencia de almacenamiento resultante es:

Eficiencia de almacenamiento = (4 -1) / (4)
Eficiencia de almacenamiento = 0,75 (75%)

Así que la eficiencia de almacenamiento es muy buena para RAID-05 (sería la misma que para una configuración RAID-5 con cuatro unidades).
Tenga en cuenta que el número mínimo de unidades en una configuración RAID-05 es de seis: se necesitan al menos tres grupos RAID-5 y por lo menos dos unidades por RAID-0 para un total mínimo de seis unidades.
En algunos casos hay varias maneras de tomar un conjunto de unidades y crear una matriz RAID-05. Por ejemplo, si usted tuviera 12 unidades, podría crear tres grupos RAID-5 conteniendo cada uno cuatro discos en RAID-0. O puede crear cuatro grupos RAID-5 con tres unidades en cada grupo RAID-0 (como en la Figura 1). La única regla a la que tiene que atenerse es que debe crear un RAID-05 con al menos seis unidades y no puede utilizar un número primo de unidades. Esto significa que usted puede crear una matriz RAID-05 de nueve unidades, pero no de once o de trece.
La tolerancia a fallos de RAID-05 se limita en realidad a una unidad. Si pierde una o más unidades en un grupo RAID-0, entonces pierde un grupo RAID-0 . Esto significa que el nivel superior RAID-5 cree que ha perdido una "unidad" que es el número máximo posible para RAID-5. Usted podría perder otra unidad en el mismo grupo RAID-0 que ya ha perdido una unidad, pero esto requerirá que ud controle que discos fallan y en que orden.
Si pierde una unidad en una configuración RAID-05, entonces, todas las unidades en la configuración estarán involucradas en el proceso de reconstrucción (ya sea por escritura, o lectura). Por ejemplo, en la Figura 1, si perdemos el disco 4 (la cuarta unidad desde la izquierda) todo el grupo RAID-0 (discos 4-6) ha fallado y una nueva unidad es insertada en la configuración, a continuación, los discos de 1 al 3 y los discos del 7 al 12 deberán ser leídos para reconstruir los datos del grupo RAID-0 fallado. A continuación, los discos del 6 al 4 deberán ser escritos como parte del proceso de reconstrucción. Al igual que con RAID-01 poner el nivel más redundante de datos RAID en el punto más alto en la matriz RAID anidada hace que todas las unidades sean involucradas en la reconstrucción de la matriz en el caso del fallo de un disco.
La tabla 1 a continuación muestra un breve resumen de RAID-05 con algunos puntos destacados.


Clic para agrandar.

RAID 5 + 0 (RAID-50)
El "compañero" de RAID-05 es RAID-50. En este caso, usaremos grupos RAID-5 en el nivel más bajo y RAID-0 para combinarlos en el nivel superior. La figura 2 a continuación es un ejemplo que muestra la estructura de datos para 12 unidades idénticas.
En este ejemplo, hay tres unidades en cada uno de los cuatro grupos RAID-5 que se combinan usando RAID-0 en el nivel superior. El bloque de paridad para cada banda se denota como [xy] donde xy son los fragmentos de datos en un grupo RAID-5 particular. Así Ap [3-4] se refiere a la paridad de los fragmentos de datos A3 y A4

La capacidad del RAID-50 es la misma que para una configuración RAID-05, pero la fórmula es un poco diferente

Capacidad = min (tamaños de disco) * (Número de unidades en cada grupo  RAID-5 - 1) * (Número de grupos RAID-5)

Para la figura 2, esto significa:

Capacidad = min (tamaño de disco) * (3 -1) * 4
Capacidad = min (tamaño del disco) * 8

Esta cifra es ligeramente diferente a la de figura 1, pero las dos configuraciones no son realmente imágenes "espejo" una de la otra.
La eficiencia de almacenamiento de RAID-50 es también bastante fácil de calcular:

Eficiencia de almacenamiento = (Número de unidades en cada grupo de RAID-5 - 1) / (Número de unidades en cada grupo de RAID-5)

Para la figura 2, la eficiencia de almacenamiento resultante es:

Eficiencia de almacenamiento = (3-1) / (3)
Eficacia de almacenamiento = 0,67 (67%)

Tenga en cuenta que la figura 2 no es un "espejo" de la Figura 1 por lo que la eficiencia de almacenamiento de la Figura 2 no es la misma. Sin embargo, podríamos fácilmente haber cambiado la figura 2 para utilizar cuatro unidades en cada grupo RAID-5 y luego combinar tres de ellos en un RAID-0 y alcanzar la misma eficiencia de almacenamiento que el RAID-05 en la Figura 1. Por otra parte, el rendimiento de RAID-50 es casi el mismo que RAID-05 con algunas diferencias atribuidas en general a ciertos detalles de implementación.
Al igual que con RAID-05, RAID-50 tiene que utilizar un mínimo de seis discos y el número total de unidades no debe ser un número primo. Sin embargo, nótese que las figuras 1 y 2, aún cuando usan el mismo número de unidades, tienen capacidades diferentes. La figura 1 tiene una mejor eficiencia en el almacenamiento que la figura 2, mientras que la figura 2 debería tener un mejor rendimiento que la Figura 1 (más "unidades" en la creación de bandas RAID-0). Una vez más, esto ilustra el hecho de que las configuraciones RAID anidadas tienen una gran flexibilidad en el diseño, para que pueda satisfacer sus necesidades específicas.
La tolerancia a fallos de RAID-50 es la misma que RAID-05, es decir: un disco. Si pierde una unidad, el grupo RAID-5 específico se estará ejecutando en modo degradado (es decir, no puede tolerar la pérdida de otra unidad). Si perdemos otra unidad en el mismo grupo RAID-5, el grupo entero caerá y a continuación se perderá todo el grupo RAID-0. Sin embargo, usted puede perder más de un disco sin perder el acceso a los datos, pero como con RAID-05, debe ser en una secuencia específica que es poco probable que suceda.
La gran diferencia entre RAID-05 y RAID 50 es el número de unidades que participan en la reconstrucción. En el caso de RAID-50 sólo las unidades que sobreviven en el grupo RAID-5 específico que tiene la unidad fallada tendrán que ser leídas y sólo la unidad repuesta deberá ser escrita. Por ejemplo, en la figura 2, si perdemos el disco 4 (cuarto disco desde la izquierda), solo serán leídos los discos 5 y 6 y solo deberá escribirse en la unidad de reemplazo. El número de unidades utilizadas en una reconstrucción RAID-50 es mucho más pequeño que en RAID-05 y esto es una clara ventaja, porque nos da un tiempo más corto de reconstrucción.
La tabla 2 a continuación muestra un breve resumen de RAID-50 con algunos puntos destacados.


Clic para agrandar.

RAID 1 + 5 (RAID-15)
Recuerden que las configuraciones RAID anidadas pueden ser combinaciones de niveles RAID estándar. Así que si usted está interesado en mejorar el rendimiento de una configuración RAID-1, siempre podrá utilizar un RAID-5, que añadirá algo de rendimiento, y también añade algo de redundancia de datos ("un cinturón y un par de tirantes"). RAID-15 combina dos tipos de protección de datos: espejo (mirroring, RAID-1) y paridad (RAID-5) para crear un muy bien protegido RAID que además exibirá un mejor rendimiento que RAID-1. Pero una cuestión interesante es cómo la interacción de los esquemas de protección de datos de los dos RAIDs se relacionan en la configuración RAID anidada final.
La figura 3 a continuación es un ejemplo que muestra la disposición de datos de ocho unidades idénticas en una configuración RAID-15.
En esta configuración RAID anidada, hay 4 pares de discos en el nivel más bajo RAID-1 que se combinan en un RAID-5 en el nivel superior (lo que significa que usted necesita por lo menos tres pares RAID-1 en el nivel más bajo). En este caso particular, hay cuatro pares de discos RAID-1 que se combinan en una configuración RAID-5 para un total de ocho unidades.
Como se puede ver en la ilustración, los pedazos de datos inicialmente son pasados al RAID-5, que a continuación, calcula la paridad y los pasa a los pares RAID-1. Entonces cada RAID-1 replica los pedazos específicos a través de las dos unidades. En esencia, RAID-15 utiliza ambos sistemas de protección de datos - la paridad (es decir, RAID-5 o RAID-6) y el espejo (RAID-1), pero a cambio gana algo de la eficiencia de almacenamiento y el rendimiento de RAID-5.
La capacidad de la configuración de RAID-15 es bastante fácil de calcular:

Capacidad = min (tamaños de disco) * (Número de grupos RAID-1 - 1)

Para la figura 3, esto significa:

Capacidad = min (tamaño de disco) * (4 - 1)
Capacidad = min (tamaño del disco) * 3

La eficiencia de almacenamiento resultante es también bastante fácil de calcular:

Eficiencia de almacenamiento = (Número de grupos RAID-1 - 1) / (Número de grupos RAID-1 * Número de discos en el grupo RAID-1)

Para la figura 3, la eficiencia de almacenamiento resultante es:

Eficiencia de almacenamiento = (4 - 1) / (4 * 2)
Eficiencia de almacenamiento = 3/8
Eficiencia de almacenamiento = 0.375 (37,5%)

La paranoia de datos añadida, fuerza un poco la eficiencia de almacenamiento a ser más baja incluso que RAID-1. Sin embargo, a medida que aumenta el número de unidades a un número muy grande, la eficiencia del almacenamiento se acercará, sin llegar nunca, al 50% (RAID-1).
Tenga en cuenta que el número mínimo de unidades en un volumen RAID-15 que es de seis: se necesita al menos tres grupos RAID-5 y por lo menos dos unidades por RAID-1. Sin embargo, en algunos casos se pueden construir diferentes arreglos si puede usar más de dos unidades en los RAID-1 (algunas implementaciones RAID permiten esto). Pero tenga en cuenta que si usted sólo puede tener dos unidades en los niveles RAID-1, entonces necesitará un número par de unidades.
La tolerancia a fallos de RAID-15 es excelente lo que le permite perder tres unidades. En el peor de los casos la primera unidad que se pierde es en uno de los pares RAID-1, y la segunda unidad en ese mismo par. Esto significa que el par completo RAID-1 ha fallado y a efectos de la configuración RAID-5 de nivel superior, significa que una "unidad" ha fallado. En este punto, la configuración RAID-15 se ejecuta en "modo degradado", y no podrá tolerar la pérdida de más "discos". Usted puede perder una unidad más arbitrariamente en uno de los RAID-1 sobrevivientes, que sería la tercera unidad global perdida, sin perder ningún dato. Pero en el peor de los casos, usted podría perder la unidad sobreviviente en el par RAID-1 fallado, haciendo que el par completo falle. En ese momento, el RAID-5 creerá que acaba de perder a otra "unidad" y por tanto fallará el también.
Si pierde una unidad en una configuración RAID-15, solo deberá leer desde la unidad espejo y solo deberá escribir hacia la unidad de reemplazo. Si pierdes un par duplicado (dos unidades), todas las unidades restantes de la matriz se leerán durante la reconstrucción. Por ejemplo, si pierde los discos 3 y 4 habrá perdido un volumen/par RAID-1 y el RAID-5 se ejecutará en modo degradado. Si reemplaza los discos 3 y 4, a continuación, los discos 1-2 y 5-8 se leen, y los discos de 3-4 se escriben. Así que cuando usted pierde dos o más unidades, todos los discos de la matriz se utilizan para el proceso de reconstrucción.
La tabla 3 a continuación muestra un breve resumen de RAID-15 con algunos puntos destacados.


Clic para agrandar.

RAID 5 + 1 (RAID-51)
Como se mencionó anteriormente, es deseable poner los niveles RAID de más rendimiento en la parte superior de los niveles más redundantes debido a que durante una reconstrucción, se tocarán menos unidades reduciendo la posibilidad de pérdida de datos. Pero en el caso de RAID-15 y RAID-51, en realidad estamos combinando dos niveles redundantes entre sí. Ya hemos examinado RAID-15 y encontraron que en la pérdida de una unidad única, sólo se utilizará una unidad para la reconstrucción. Pero en caso de perder dos unidades, entonces todas las unidades restantes se utilizarán en la reconstrucción. Sin embargo, en RAID-15 se pueden perder hasta tres unidades de disco sin perder el acceso a los datos.
Además, RAID-15 puede tolerar la pérdida de tres unidades de disco sin perder el acceso a los datos. Esto es mejor incluso que RAID-6. No estoy seguro de lo que puede lograr RAID-51 así que vamos a examinarlo. La figura 4 a continuación es un ejemplo que muestra la disposición de datos en un RAID-51 de ocho unidades idénticas (mismo número de discos que RAID-15).

En esta configuración RAID anidada, RAID-5 es el nivel más bajo y RAID-1 es el nivel superior. Así que este diseño de ocho unidades consta de dos grupos de cuatro discos para un total de ocho discos. Cada grupo de cuatro discos se construye con un RAID-5 y luego se combinan con un RAID-1.
En la Figura 4 se puede observar una disposición de datos donde cada "banda" tiene dos copias del bloque de paridad RAID-5. Sin embargo, en un esquema RAID-15, los bloques de paridad están más cerca que en el caso de RAID-51 (compárense las figura 4 y 3).
La capacidad de una configuración RAID-51 es la siguiente.

Capacidad = min (tamaños de disco) * (Número de discos en los grupos RAID-5 - 1)

Para la Figura 4, esto significa:

Capacidad = min (tamaño de disco) * (4-1)
Capacidad = min (tamaño del disco) * 3

La eficiencia de almacenamiento resultante es también bastante fácil de calcular:

Eficiencia de almacenamiento = (Número de discos en el grupo RAID-5 - 1) / (Número de grupos RAID-1 * Número de unidades en el grupo RAID-5)

Para la figura 4, la eficiencia de almacenamiento resultante es:

Eficiencia de almacenamiento = (4 - 1) / (2 * 4)
Eficiencia de almacenamiento = 3/8
Eficiencia de almacenamiento = 0.375 (37,5%)

La paranoia de protección de datos nos ha costado mucho en términos de capacidad y eficiencia de almacenamiento al igual que lo hizo para RAID-15.
El número mínimo de unidades en un RAID-51 es de seis - el mismo que RAID-15. Pero dado que RAID-1 normalmente consiste de sólo dos grupos, la única flexibilidad en RAID-51 es el número de unidades en el grupo RAID-5. En cualquier caso, RAID-51 también debe utilizar un número par de discos (como RAID-15).
La tolerancia a fallos de RAID-51 es de tres unidades. Si ud pierde una unidad en un grupo RAID-5, ese grupo operará en modo degradado (es decir, una unidad más y se perderá el grupo completo). RAID-1 en el nivel superior no sabe que perdió una unidad en un lado del espejo por lo que continúa utilizando ambos grupos RAID-5. Usted puede perder un segundo disco en ambos lados del RAID-1 sin perder acceso a los datos en este momento. Si ese segundo disco perdido sucede en el RAID-5 de la parte degradada del espejo, entonces esa parte cae y RAID-1 pasa a operar en modo degradado con el otro lado del espejo. También se podría perder una unidad en el lado no afectado del espejo dando lugar a dos grupos RAID-5 que operan en modo degradado.
Después de la pérdida de dos unidades, perder una tercera unidad tumbaría un lado del RAID-1 y el otro lado quedaría funcionando en modo degradado. La pérdida de una cuarta unidad podría resultar en la pérdida de datos.
A modo de ejemplo, supongamos que perdemos el disco 4 (cuarta unidad desde la izquierda). En este punto, el grupo RAID-5 de la izquierda estará funcionando en modo degradado, pero el lado derecho está funcionando normalmente. Ahora supongamos que perdemos un segundo disco, el 5. Ahora, ambos lados del RAID-1 están funcionando en modo degradado, pero en lo que a RAID-1 respecta, ambos funcionan correctamente. En este punto, supongamos que se pierde el disco 1. El lado izquierdo del RAID-1 está ahora fallado y RAID-1 utiliza el lado derecho para acceder a los datos. En este punto, la pérdida de la cuarta unidad en el lado derecho del espejo significará que pierde el acceso a los datos (es decir, la matriz RAID-51 quedará fallada).
La reconstrucción de un RAID-51 no es tan mala. Si usted tiene uno de los pares RAID-5 funcionando en modo degradado (es decir, que no puede tolerar la pérdida de otra unidad), poner la unidad de reemplazo y reconstruirla sólo involucrará los datos de ese grupo RAID-5 particular. En el peor de los casos esto significa que el número de discos de leídos es

Número de unidades leídas luego del fallo de un disco = (Número de discos en RAID-5 - 1)

El número de unidades escritas será sólo una (la unidad de reemplazo).
En el caso de perder uno de los lados del RAID-1, entonces todos los discos del otro lado tienen que ser leídos. El número de unidades leídas dependerá de si el RAID-5 que si funciona, está o no en modo degradado. El número de unidades escritas es el siguiente,

Número de unidades leídas luego del fallo de un disco = Número de discos en el RAID-5

Comparado con RAID-15, podemos ver que cuando un disco se pierde, RAID-15 realmente utiliza menos unidades (1) en la reconstrucción que RAID-51, que tiene que usar (Número de discos en RAID-5 - 1) discos.
La tabla 4 a continuación muestra un breve resumen de RAID-51 con algunos puntos destacados.

Clic para agrandar.

RAID 0 + 6 (RAID-06)
RAID-6 fue desarrollado para mejorar la redundancia de datos de RAID-5. Sin embargo, el precio de esto es que, en general, el rendimiento de escritura es peor que en RAID-5. Así que para recuperar algo de rendimiento en RAID-6, la gente lo combina con RAID-0. El primer nivel anidado RAID involucrando un RAID-6, que vamos a examinar es RAID-06.
Hasta este punto, nuestro análisis de los niveles RAID anidados que ponen los RAID de rendimiento en los niveles inferiores y los RAID que ofrecen redundancia en los niveles superiores nos ha demostrado que mientras que la eficiencia de almacenamiento y el rendimiento es bueno, el número de unidades utilizadas en caso de una unidad perdida (la reconstrucción) es muy alto - por lo general todas las unidades en la configuración. Así que debemos esperar lo mismo para RAID-06.
La figura 5 a continuación presenta un ejemplo de una configuración RAID-06 con un total de doce unidades y cuatro grupos RAID-6 (el número mínimo de grupos en RAID-6), donde cada grupo se compone de tres unidades en RAID-0.
En esta configuración, los dos grupos de paridad para RAID-6 (identificados con un subíndice "p" y un subíndice "q") son cada uno distribuidos en los grupos RAID-0 de nivel bajo. El acceso a los datos es bastante fácil de determinar con el nivel RAID-6 calculando en primer lugar los dos grupos de paridad y enviándolos, junto con  los datos, a los grupos RAID-0 que a continuación los distribuye en los discos.
La capacidad de la configuración de RAID-06 es la siguiente:

Capacidad = min (tamaños de disco) * (Número de discos en los grupos RAID-6 - 2) * (Número de discos en el grupo RAID-0)

Para la figura 5, esto significa:

Capacidad = min (tamaño de disco) * (4-2) * 3
Capacidad = min (tamaño del disco) * 6

La eficiencia de almacenamiento resultante es la siguiente:

Eficiencia de almacenamiento = (Número de grupos RAID-6 - 2) / (Número de grupos RAID-6)

Para la figura 5, la eficiencia de almacenamiento resultante es:

Eficiencia de almacenamiento = (4-2) / (4)
Eficiencia de almacenamiento = 0,50 (50%)

Así que la adición de RAID-6 para aumentar la protección de datos ha disminuido nuestra eficiencia de almacenamiento en comparación con RAID-05.
Tenga en cuenta que el número mínimo de unidades en un conjunto RAID-06 es de ocho: se necesita al menos cuatro grupos RAID-6 y al menos dos unidades por cada RAID-0 (de lo contrario es simplemente un RAID-6). Sin embargo, en algunos casos, hay maneras de tomar un conjunto de unidades y crear una matriz RAID-06. Por ejemplo, si usted tiene 12 unidades, puede crear cuatro grupos RAID-6 con tres discos en RAID-0 en cada uno (como en la figura 5). O puede crear seis grupos RAID-6 con dos unidades en RAID-0 cada uno. Sólo tiene que tener en cuenta que necesita al menos ocho unidades y que el número de unidades en cada grupo RAID-0 tiene que ser el mismo.
La tolerancia a fallos de RAID-06 es de dos unidades - la misma que RAID-6. Si pierde una unidad perderá el grupo RAID-0 correspondiente. Sin embargo, una configuración que incluya el RAID-6 en el nivel superior le permitirá perder hasta dos grupos RAID-0 sin perder datos. En teoría, usted podría perder todas las unidades en dos de los grupos RAID-0, pero eso significa que el fallo de las unidades tiene que seguir un patrón específico y esto no está bajo nuestro control.
Si pierde una unidad en una configuración RAID-06, entonces, todas las unidades en la configuración deberán ser leídas o escritas. En el ejemplo de la figura 5, si perdemos el disco 4 (cuarta unidad desde la izquierda) y una nueva unidad se inserta en la configuración, entonces, deberán ser leídos los discos del 1-3 y del 7-12 para poder reconstruir los datos del grupo RAID-0 perdido y se escribirá en los discos 4-6. Como habíamos previsto, poniendo el nivel RAID redundante en el nivel mas alto del RAID anidado resultará en que serán involucradas todas las demás unidades en la reconstrucción en caso del fallo de una unidad.
La tabla 5 a continuación muestra un breve resumen de RAID-06 con algunos puntos destacados.

Clic para agrandar.

RAID 6 + 0 (RAID-60)
Esta configuración RAID anidada es la "compañera" de RAID-06. Sin embargo, al igual que en la comparación entre RAID-05 y RAID-50, debemos ver que mientras que RAID-06 y RAID-60 son muy parecidos en términos de rendimiento, capacidad, eficiencia de almacenamiento, y tolerancia a fallos de disco, RAID-60 debe ir poco adelante de RAID-06 en términos del número de unidades utilizadas en la reconstrucción. La figura 6 a continuación es un ejemplo de un RAID-60 que muestra la disposición de datos de doce unidades idénticas.
La configuración de ejemplo consta de tres grupos RAID-0 en el nivel superior, cada grupo está formado por cuatro unidades en un grupo RAID-6. Los dos bloques de paridad para cada RAID-6 se indican con el subíndice "p" y "q". El flujo de datos es bastante fácil de seguir con los datos de entrada distribuyéndose en primer lugar, seguido de un RAID-6 en cada trozo de entrada de datos (incluyendo el cálculo de los dos bloques de paridad).
La capacidad de una configuración RAID-60 es la siguiente:

Capacidad = min (tamaños de disco) * (Número de discos en el grupo RAID-6 - 2) * (Número de grupos RAID-0)

Para la figura 6, esto significa:

Capacidad = min (tamaño de disco) * (4-2) * 3
Capacidad = min (tamaño del disco) * 6

La eficiencia de almacenamiento resultante es también bastante fácil de calcular:


Eficiencia de almacenamiento = (Número de discos en el grupo RAID-6 - 2) / (Número de discos en el grupo RAID-6)

Para la figura 6, la eficiencia de almacenamiento resultante es:

Eficiencia de almacenamiento = (4-2) / (4)
Eficiencia de almacenamiento = 0,50 (50%)

Al igual que con RAID-06, la adición de RAID para aumentar la protección de datos (RAID-6) ha reducido nuestra eficiencia de almacenamiento.
Tenga en cuenta que el número mínimo de unidades en un conjunto RAID-60 es de ocho: se necesitan al menos dos grupos RAID-0 y por lo menos cuatro unidades por cada RAID-6. Sin embargo, en algunos casos, hay muchas maneras de tomar un conjunto de unidades y crear un arreglo RAID-60, pero esto es normalmente para un mayor número de unidades totales.
La tolerancia a fallos de RAID-60 es de dos unidades arbitrarias - el mismo que RAID-06. Si pierde una unidad arbitraria, a continuación, el grupo RAID-6 particular aún podrá funcionar. Usted puede incluso perder una segunda unidad de ese grupo, sin perder datos. Pero si usted pierde una tercera unidad en ese grupo, entonces el grupo fallará, y subsecuentemente fallará el RAID-0. En teoría, usted podría perder dos unidades en cada grupo RAID-6, pero eso significa que los fallos de las unidades tienen que seguir un patrón específico que no está bajo nuestro control.
Si pierde una unidad en una configuración RAID-60, sólo las unidades en el grupo RAID-6 específico estarán involucradas en la reconstrucción. Así que el número total de unidades leídas es de (número de unidades del grupo RAID-6 - 1) y el número total de unidades escritas es uno (esto es en el caso de la pérdida de una sola unidad). En el caso de la pérdida de dos unidades, entonces el número de unidades que se leen es (número de unidades en grupo RAID-6 - 2) y el número de unidades escritas es de dos discos.
Utilizando la figura 6 como ejemplo, si perdemos el disco 4 (cuarta unidad desde la izquierda) y una nueva unidad se inserta en la configuración, a continuación, deberán ser leídas las unidades 1-3 para la reconstrucción de los datos del grupo RAID-0 fallado. Se escribirá al disco 4 de reemplazo mientras dure la reconstrucción de la matriz. Como habíamos previsto poniendo el nivel RAID de redundancia en el punto más bajo de la configuración resulta en menos unidades participando en la reconstrucción de la matriz en el caso de un fallo de disco.
La tabla 6 a continuación muestra un breve resumen de RAID-60 con algunos puntos destacados.


Clic para agrandar.

RAID 1 + 6 (RAID-16)
Habíamos caracterizado RAID-15 y RAID-51 como el uso de un cinturón y un par de tirantes, pero RAID-16 y RAID-61 van poco más allá. Estas usan tirantes reforzados con titanio y un cinturón con un núcleo de Kevlar - sólo para asegurarse. Estas dos configuraciones RAID en realidad no son para rendimiento, sino para la protección de datos pero el RAID-6 nos proporciona un mejor rendimiento en relación con RAID-1. Vamos a examinar RAID-16 en primer lugar.
La figura 7 es un ejemplo que muestra el diseño de datos de un RAID-16 anidado de ocho unidades idénticas.

Hay cuatro grupos en el nivel RAID-6 (el nivel RAID superior) construido cada uno a partir de un par RAID-1. Cuando los datos se escriben al RAID-16, primero llega al nivel RAID-6. Los dos pedazos de paridad son calculados (subíndices "p" y "q") y enviados, junto con los trozos de datos, a los distintos pares RAID-1 para ser escritos.

La capacidad de la configuración de RAID-16 es bastante fácil de calcular:

Capacidad = min (tamaños de disco) * (Número de grupos RAID-1 - 2)

Para la figura 7, esto significa:

Capacidad = min (tamaño de disco) * (4-2)
Capacidad = min (tamaño del disco) * 2

La eficiencia de almacenamiento resultante es también bastante fácil de calcular:

Eficiencia de almacenamiento = (Número de grupos RAID-1 - 2) / ((Número de grupos RAID-1) * (Número de discos en RAID-1))

Para la figura 7, la eficiencia de almacenamiento resultante es:

Eficiencia de almacenamiento = (4-2) / (4 * 2)
Eficiencia de almacenamiento = 0,25 (25%)

La combinación de RAID-6 y RAID 1, en este caso realmente reduce la eficiencia del almacenamiento. Toda esta protección de datos tiene un impacto en el espacio útil de la matriz.
Tenga en cuenta que el número mínimo de unidades en un conjunto RAID-16 es de ocho: se necesita al menos cuatro grupos en el RAID-6 (el nivel superior) y por lo menos dos unidades por cada grupo RAID-1 (nivel más bajo). Sin embargo, en algunos casos, hay maneras de tomar un conjunto de unidades y crear una matriz RAID-16 con más de dos unidades por RAID-1 (+ 3 unidades).
La tolerancia a fallos de RAID-16 es increíble. Usted puede perder hasta cinco unidades arbitrarias sin perder el acceso a los datos. Esto permite que en el peor caso pierda por completo dos pares RAID-1 (Estoy asumiendo que RAID-1 sólo tiene 2 unidades) y una unidad en uno de los restantes espejos RAID-1.
En el caso del fallo de una sola unidad, sólo la unidad espejo se utiliza en la reconstrucción. En el caso de que falle un par espejo completo (dos unidades), entonces el resto de los pares RAID-1 se utilizarán para reconstruir el par fallado. Lo mismo es válido cuando se pierden cuatro unidades (las unidades restantes son utilizadas para la reconstrucción).
La tabla 7 a continuación muestra un breve resumen de RAID-16 con algunos puntos destacados.

Clic para agrandar.

RAID 6 + 1 (RAID-61)
RAID-61 es el compañero de RAID-16, pero utiliza RAID-6 en el nivel más bajo y RAID-1 en el nivel superior. La figura 8 a continuación es un ejemplo que muestra la disposición de datos de ocho unidades idénticas en una configuración RAID-61.
Este diseño utiliza el número mínimo de unidades para RAID-61 (ocho). Hay cuatro unidades en cada grupo RAID-6 y dos grupos RAID-1 para un total de ocho unidades. Cuando se escribe en un RAID-61, los datos entran primero al RAID-1. A continuación, los datos se duplican y se envían a cada unidad RAID-6. Luego, RAID-6 calcula los dos trozos de paridad y junto con los datos, los escribe en las unidades.
La capacidad de una configuración de RAID-61 es bastante fácil de calcular:

Capacidad = min (tamaños de disco) * (Número de discos en cada grupo RAID-6 - 2)

Para la figura 8, esto significa:

Capacidad = min (tamaño de disco) * (4-2)
Capacidad = min (tamaño del disco) * 2

La eficiencia de almacenamiento resultante es también bastante fácil de calcular:

Eficiencia de almacenamiento = (Número de discos en el grupo RAID-6 - 2) / (* (Número de grupos RAID-1) (Número de discos en RAID-6))

Para la figura 8, la eficiencia de almacenamiento resultante es:

Eficiencia de almacenamiento = (4-2) / (2 * 4)
Eficiencia de almacenamiento = 0,25 (25%)

Al igual que con RAID-16, la combinación de RAID-6 y RAID 1, en este caso realmente reduce la eficiencia del almacenamiento. Toda esta protección de datos tiene un impacto en el espacio útil de la matriz.
Tenga en cuenta que el número mínimo de unidades en un conjunto RAID-61 es de ocho: se necesitan al menos cuatro unidades en el grupo RAID-6 y al menos dos grupos RAID-1. Sin embargo, en algunos casos hay maneras de tomar un grupo de unidades y crear matrices RAID-61 con más de dos unidades por RAID-1 (+ 3 unidades) si el controlador RAID lo permite.
La tolerancia a fallos de RAID-61 es excepcional. Usted puede perder hasta cinco unidades arbitrarias sin perder el acceso a los datos. Esto permite en el peor de los casos la pérdida de tres unidades en uno de los grupos RAID-6, mas dos unidades en el otro grupo RAID-6 duplicado.
En caso de fallo de uno o dos discos en el mismo grupo RAID 6, la reconstrucción usará todas las unidades en el RAID-6 particular. Si un par RAID-6 pierde tres o más unidades, entonces, todas las unidades en el grupo espejo serán leídas, y todas las unidades en el primer grupo RAID-6 serán escritas.
La tabla 8 a continuación muestra un breve resumen de RAID-61 con algunos puntos destacados.


Clic para agrandar.

Resumen
Este es el tercer artículo de la serie de RAID y ha demostrado que los niveles RAID anidados que incluyen RAID 5 y RAID 6 pueden ser muy interesantes. En general, RAID 5 y RAID 6 se consideran más acerca de la redundancia de datos que del rendimiento, aunque el rendimiento de estos dos niveles de RAID estándar es mejor que RAID-1.
Primero analizamos la combinación de RAID-5 y RAID-6 con RAID-0 para agregar un mayor rendimiento a la redundancia de datos de los niveles RAID. También se examinaron las configuraciones anidadas RAID "compañeras" para ver las diferencias. Específicamente hemos examinado RAID-05 frente a RAID-50 y RAID-06 frente a RAID-60. Pero yo uso el término "compañero" de manera muy informal, ya que estos pares de comparación son muy diferentes en su forma de manejar los datos. Sin embargo respecto a capacidad, eficiencia de almacenamiento, tolerancia a la pérdida de una unidad, y la perspectiva del rendimiento, cada par tiene aproximadamente el mismo rendimiento. Así RAID-05 es muy similar al RAID-50 y RAID-06 es muy similar al RAID-60. La mayor diferencia entre ellos es que cuando el RAID de nivel inferior es RAID-0, más unidades estarán involucradas en la reconstrucción en caso de fallo de una unidad. Esto puede conducir a un tiempo de reconstrucción mas largo y puede acercarse a el límite URE (error irrecuperable de lectura) para un gran número de unidades y discos de gran capacidad. Así pues, en general, se recomienda utilizar RAID-50 sobre el RAID-05 y RAID-60 sobre el RAID-06.
A continuación examinamos la combinación de RAID-5 y RAID-6, los cuales usan la paridad para la protección de datos con RAID-1 que utiliza la réplica para la protección de datos. Estas combinaciones, RAID-15, RAID-51, RAID-16 y RAID-61, son para la paranoia de datos extrema (lo cual no siempre es algo malo). Para estos "pares" de niveles RAID anidados (RAID-15 y RAID-51 y RAID-16 y RAID-61), la capacidad, la eficiencia de almacenamiento, la redundancia de datos, y los aspectos del rendimiento son prácticamente las mismas. Como en el caso de los niveles RAID-0 anidados , las diferencias radican en cuántas unidades se utilizan en una reconstrucción en caso de fallo del disco.
Las combinaciones RAID-15 y RAID-51 tienen la capacidad de tolerar la pérdida de tres unidades antes de la pérdida de datos. Sin embargo, el escenario de falla más común es la pérdida de una sola unidad. En este caso, RAID-15 ofrece ventajas sobre el RAID-51 dado que sólo la unidad duplicada se utiliza durante la reconstrucción. En el caso de fallo de dos unidades, el peor de los casos significa que tanto para RAID-15 como para RAID-51, todas las unidades de la matriz se utilizan para la reconstrucción (lo mismo es cierto para la pérdida de tres unidades de disco). Así que hay poca diferencia entre los dos en ese punto. Sin embargo, RAID-15 se recomienda sobre el RAID-51 debido a la hipótesis del fallo de una unidad sola.
Lo mismo es cierto para RAID-16 y RAID 61 - RAID-16 se recomienda sobre el RAID-61. Sin embargo, las diferencias entre ambos son pequeñas y en realidad sólo se manifiestan cuando una sola unidad se pierde. Pero lo realmente bueno sea RAID-16 o RAID 61 es que pueden tolerar la pérdida de cinco unidades de disco sin perder los datos! Eso es un número enorme!.
En general se puede ver que las configuraciones RAID anidadas con RAID-5 y RAID-6 realmente le permiten diseñar algunas configuraciones orientadas al rendimiento que tienen alguna redundancia de los datos o diseñar algunas configuraciones realmente paranoicas que pueden perder un gran número de unidades de disco sin perder datos. Una gran flexibilidad.