De hecho, creo que Wikipedia lo explica mejor que los documentos reales. Aquí está el texto del artículo.
El controlador RAID del software del kernel de Linux (llamado md, para "dispositivo múltiple") puede usarse para construir una matriz RAID 1 + 0 clásica, pero también (desde la versión 2.6.9) como un solo nivel [4] con algunas extensiones interesantes [ 5] El diseño estándar "cercano", donde cada fragmento se repite n veces en una matriz de bandas en k, es equivalente a la disposición estándar RAID-10, pero no requiere que n divida k. Por ejemplo, un diseño n2 en unidades 2, 3 y 4 se vería así:
2 drives 3 drives 4 drives
-------- ---------- --------------
A1 A1 A1 A1 A2 A1 A1 A2 A2
A2 A2 A2 A3 A3 A3 A3 A4 A4
A3 A3 A4 A4 A5 A5 A5 A6 A6
A4 A4 A5 A6 A6 A7 A7 A8 A8
.. .. .. .. .. .. .. .. ..
El ejemplo de 4 unidades es idéntico a una matriz RAID-1 + 0 estándar, mientras que el ejemplo de 3 unidades es una implementación de software de RAID-1E. El ejemplo de 2 unidades es RAID 1. equivalente. El controlador también admite un diseño "lejano" donde todas las unidades se dividen en f secciones. Todos los fragmentos se repiten en cada sección, pero se compensan con un dispositivo. Por ejemplo, los diseños de f2 en matrices de 2 y 3 unidades se verían así:
2 drives 3 drives
-------- --------------
A1 A2 A1 A2 A3
A3 A4 A4 A5 A6
A5 A6 A7 A8 A9
.. .. .. .. ..
A2 A1 A3 A1 A2
A4 A3 A6 A4 A5
A6 A5 A9 A7 A8
.. .. .. .. ..
Está diseñado para el rendimiento de trazado de una matriz reflejada; las lecturas secuenciales se pueden dividir, como en RAID-0, las lecturas aleatorias son algo más rápidas (tal vez 10-20% debido al uso de los sectores externos más rápidos de los discos y los tiempos de búsqueda promedio más pequeños), y las escrituras secuenciales y aleatorias tienen un rendimiento similar a otras incursiones espejadas. El diseño funciona bien para sistemas donde las lecturas son más frecuentes que las escrituras, lo cual es una situación muy común en muchos sistemas. El primer 1 / f de cada unidad es una matriz RAID-0 estándar. Por lo tanto, puede obtener un rendimiento de franjas en un conjunto duplicado de solo 2 unidades. Las opciones cerca y lejos se pueden usar al mismo tiempo. Los fragmentos en cada sección están compensados por n dispositivo (s). Por ejemplo, el diseño n2 f2 almacena 2 × 2 = 4 copias de cada sector, por lo que requiere al menos 4 unidades:
A1 A1 A2 A2 A1 A1 A2 A2 A3
A3 A3 A4 A4 A3 A4 A4 A5 A5
A5 A5 A6 A6 A6 A6 A7 A7 A8
A7 A7 A8 A8 A8 A9 A9 A10 A10
.. .. .. .. .. .. .. .. ..
A2 A2 A1 A1 A2 A3 A1 A1 A2
A4 A4 A3 A3 A5 A5 A3 A4 A4
A6 A6 A5 A5 A7 A8 A6 A6 A7
A8 A8 A7 A7 A10 A10 A8 A9 A9
.. .. .. .. .. .. .. .. ..
A partir de Linux 2.6.18, el controlador también admite un diseño de desplazamiento donde cada banda se repite o veces. Por ejemplo, los diseños de O2 en matrices de 2 y 3 unidades se presentan como:
2 drives 3 drives
-------- --------
A1 A2 A1 A2 A3
A2 A1 A3 A1 A2
A3 A4 A4 A5 A6
A4 A3 A6 A4 A5
A5 A6 A7 A8 A9
A6 A5 A9 A7 A8
.. .. .. .. ..
Nota: k es el número de unidades, n #, f # y o # son parámetros en la opción mdadm --layout. Linux también puede crear otras configuraciones RAID estándar utilizando el controlador md (0, 1, 4, 5, 6).
Eso es interesante y bien explicado. Sin embargo, RAID1 simple también tiene la característica, al menos en RAID de software de Linux, para poder sostener múltiples lectores en paralelo con un rendimiento muy bueno:
Parece que RAID10, en su diseño cercano, es más adecuado para este comportamiento (acelerando no E / S de un solo subproceso como RAID0 sino E / S de subprocesos múltiples). n2f2 con 4 discos es similar a RAID1 con 4 discos.
El diseño n2 con 4 discos hará ambas cosas: duplicará el rendimiento de lectura para un solo subproceso y cuadruplicará el rendimiento de lectura para dos subprocesos (si el programador md RAID10 de Linux está bien implementado, un subproceso debería leer en un par y el otro en el otro par)
Todo depende de lo que necesites! Todavía no hice puntos de referencia.
fuente