Aunque todas las implementaciones RAID difieren de la especificación en cierta medida, algunas empresas y proyectos de código abierto han desarrollado implementaciones RAID no estándar que difieren sustancialmente del estándar. Además, existen arquitecturas de unidades no RAID , que proporcionan configuraciones de múltiples discos duros que no se conocen con las siglas RAID.
La paridad diagonal por filas es un esquema en el que un disco de paridad dedicado se encuentra en una "fila" horizontal como en RAID 4 , pero la otra paridad dedicada se calcula a partir de bloques permutados ("diagonales") como en RAID 5 y 6. [1] Los términos alternativos para "fila" y "diagonal" incluyen "dedicado" y "distribuido". [2] Inventado por NetApp , se ofrece como RAID-DP en sus sistemas ONTAP . [3] La técnica puede considerarse RAID 6 en la definición amplia de SNIA [4] y tiene las mismas características de falla que RAID 6. La penalización de rendimiento de RAID-DP es típicamente inferior al 2% en comparación con una configuración RAID 4 similar. [5]
RAID 5E, RAID 5EE y RAID 6E (con la E añadida de Enhanced ) se refieren generalmente a variantes de RAID 5 o 6 con una unidad de repuesto en caliente integrada , donde la unidad de repuesto es una parte activa del esquema de rotación de bloques. Esto distribuye la E/S entre todas las unidades, incluida la de repuesto, lo que reduce la carga en cada unidad y aumenta el rendimiento. Sin embargo, evita compartir la unidad de repuesto entre varias matrices, lo que en ocasiones es deseable. [6]
Intel Matrix RAID (una característica de Intel Rapid Storage Technology) es una característica (no un nivel RAID) presente en los chipsets ICH6R y posteriores Southbridge de Intel, accesible y configurable a través de la utilidad de configuración RAID BIOS . Matrix RAID admite tan solo dos discos físicos o tantos como admita el controlador. La característica distintiva de Matrix RAID es que permite cualquier variedad de volúmenes RAID 0, 1, 5 o 10 en la matriz, a los que se asigna una porción controlable (e idéntica) de cada disco. [7] [8] [9]
Como tal, una matriz RAID puede mejorar tanto el rendimiento como la integridad de los datos. Un ejemplo práctico de esto sería utilizar un pequeño volumen RAID 0 (stripe) para el sistema operativo , el programa y los archivos de paginación; un segundo volumen RAID 1 (espejo) más grande almacenaría datos críticos. Linux MD RAID también es capaz de hacer esto. [7] [8] [9]
El subsistema RAID de software proporcionado por el kernel de Linux , llamado md , admite la creación de matrices RAID 1+0 clásicas (anidadas) y matrices RAID no estándar que utilizan un diseño RAID de un solo nivel con algunas características adicionales. [10] [11]
El diseño "casi" estándar, en el que cada fragmento se repite n veces en una matriz de bandas de k vías, es equivalente a la disposición RAID 10 estándar, pero no requiere que n divida a k de manera uniforme . Por ejemplo, un diseño n 2 en dos, tres y cuatro unidades se vería así: [12] [13]
2 unidades 3 unidades 4 unidades-------- ---------- --------------A1 A1 A1 A1 A2 A1 A1 A2 A2A2 A2 A2 A3 A3 A3 A3 A4 A4A3 A3 A4 A4 A5 A5 A5 A6 A6A4 A4 A5 A6 A6 A7 A7 A8 A8.. .. .. .. .. .. .. .. ..
El ejemplo de cuatro unidades es idéntico a una matriz RAID 1+0 estándar, mientras que el ejemplo de tres unidades es una implementación de software de RAID 1E. El ejemplo de dos unidades es equivalente a RAID 1. [13]
El controlador también admite un diseño "lejano", en el que todas las unidades se dividen en secciones f . Todos los fragmentos se repiten en cada sección, pero se intercambian en grupos (por ejemplo, en pares). Por ejemplo, los diseños f 2 en matrices de dos, tres y cuatro unidades se verían así: [12] [13]
2 unidades 3 unidades 4 unidades-------- ------------ ------------------A1 A2 A1 A2 A3 A1 A2 A3 A4A3 A4 A4 A5 A6 A5 A6 A7 A8A5 A6 A7 A8 A9 A9 A10 A11 A12.. .. .. .. .. .. .. .. ..A2 A1 A3 A1 A2 A2 A1 A4 A3A4 A3 A6 A4 A5 A6 A5 A8 A7A6 A5 A9 A7 A8 A10 A9 A12 A11.. .. .. .. .. .. .. .. ..
El diseño "lejano" está diseñado para ofrecer un rendimiento de distribución en una matriz reflejada; las lecturas secuenciales se pueden distribuir en bandas, como en las configuraciones RAID 0. [14] Las lecturas aleatorias son algo más rápidas, mientras que las escrituras secuenciales y aleatorias ofrecen una velocidad aproximadamente igual a la de otras configuraciones RAID reflejadas. El diseño "lejano" funciona bien para sistemas en los que las lecturas son más frecuentes que las escrituras, lo que es un caso común. A modo de comparación, el RAID 1 normal, tal como lo proporciona el RAID de software de Linux , no distribuye las lecturas en bandas, pero puede realizar lecturas en paralelo. [15]
El controlador md también admite un diseño "desplazado", en el que cada banda se repite o veces y se desplaza por f dispositivos (lejanos). Por ejemplo, los diseños o 2 en matrices de dos, tres y cuatro unidades se presentan de la siguiente manera: [12] [13]
2 unidades 3 unidades 4 unidades-------- ---------- ---------------A1 A2 A1 A2 A3 A1 A2 A3 A4A2 A1 A3 A1 A2 A4 A1 A2 A3A3 A4 A4 A5 A6 A5 A6 A7 A8A4 A3 A6 A4 A5 A8 A5 A6 A7A5 A6 A7 A8 A9 A9 A10 A11 A12A6 A5 A9 A7 A8 A12 A9 A10 A11.. .. .. .. .. .. .. .. ..
También es posible combinar diseños "cerca" y "desplazados" (pero no "lejos" y "desplazados"). [13]
En los ejemplos anteriores, k es el número de unidades, mientras que n# , f# y o# se dan como parámetros paraseñora's--disposiciónOpción. RAID de software de Linux (kernel de Linux)MarylandEl controlador también admite la creación de configuraciones RAID estándar 0, 1, 4, 5 y 6. [16] [17]
Algunas implementaciones RAID 1 tratan las matrices con más de dos discos de forma diferente, creando un nivel RAID no estándar conocido como RAID 1E . En este diseño, la segmentación de datos se combina con la duplicación, duplicando cada banda escrita en uno de los discos restantes de la matriz. La capacidad utilizable de una matriz RAID 1E es el 50 % de la capacidad total de todas las unidades que forman la matriz; si se utilizan unidades de diferentes tamaños, solo se utilizan las porciones iguales al tamaño del miembro más pequeño en cada unidad. [18] [19]
Una de las ventajas de RAID 1E sobre los pares reflejados RAID 1 habituales es que el rendimiento de las operaciones de lectura aleatorias sigue siendo superior al de una sola unidad incluso en una matriz degradada. [18]
El sistema de archivos ZFS proporciona RAID-Z , un esquema de distribución de datos/paridad similar a RAID 5 , pero que utiliza un ancho de banda dinámico: cada bloque es su propia banda RAID, independientemente del tamaño del bloque, lo que da como resultado que cada escritura RAID-Z sea una escritura de banda completa. Esto, cuando se combina con la semántica transaccional de copia en escritura de ZFS, elimina el error de agujero de escritura . RAID-Z también es más rápido que el RAID 5 tradicional porque no necesita realizar la secuencia habitual de lectura-modificación-escritura . RAID-Z no requiere ningún hardware especial, como NVRAM para confiabilidad, o almacenamiento en búfer de escritura para el rendimiento. [20]
Dada la naturaleza dinámica del ancho de banda de RAID-Z, la reconstrucción de RAID-Z debe recorrer los metadatos del sistema de archivos para determinar la geometría real de RAID-Z. Esto sería imposible si el sistema de archivos y la matriz RAID fueran productos separados, mientras que se vuelve factible cuando existe una vista integrada de la estructura lógica y física de los datos. Recorrer los metadatos significa que ZFS puede validar cada bloque contra su suma de comprobación de 256 bits a medida que avanza, mientras que los productos RAID tradicionales generalmente no pueden hacer esto. [20]
Además de gestionar fallos de todo el disco, RAID-Z también puede detectar y corregir la corrupción silenciosa de datos , ofreciendo "datos de autorreparación": al leer un bloque RAID-Z, ZFS lo compara con su suma de comprobación y, si los discos de datos no devolvieron la respuesta correcta, ZFS lee la paridad y luego determina qué disco devolvió datos incorrectos. Luego, repara los datos dañados y devuelve los datos correctos al solicitante. [20]
Hay cinco modos RAID-Z diferentes: RAID-Z0 (similar a RAID 0, no ofrece redundancia), RAID-Z1 (similar a RAID 5, permite que falle un disco), RAID-Z2 (similar a RAID 6, permite que fallen dos discos), RAID-Z3 (una configuración RAID 7 [a] , permite que fallen tres discos) y espejo (similar a RAID 1, permite que fallen todos los discos menos uno). [22]
Windows Home Server Drive Extender es un caso especializado de JBOD RAID 1 implementado a nivel del sistema de archivos . [23]
En 2011, Microsoft anunció que Drive Extender ya no se incluiría como parte de Windows Home Server versión 2, Windows Home Server 2011 (nombre en código VAIL). [24] Como resultado, un proveedor externo ha intentado llenar el vacío dejado por DE. Los competidores incluidos son Division M, los desarrolladores de Drive Bender, y DrivePool de StableBit. [25] [26]
BeyondRAID no es una verdadera extensión RAID, pero consolida hasta 12 discos duros SATA en un grupo de almacenamiento. [27] Tiene la ventaja de admitir varios tamaños de disco a la vez, de forma muy similar a JBOD, al mismo tiempo que proporciona redundancia para todos los discos y permite una actualización mediante intercambio en caliente en cualquier momento. Internamente, utiliza una combinación de técnicas similares a RAID 1 y 5. Dependiendo de la fracción de datos en relación con la capacidad, puede sobrevivir hasta tres fallas de disco, [ cita requerida ] si la "matriz" se puede restaurar en los discos buenos restantes antes de que falle otro disco. La cantidad de almacenamiento utilizable se puede aproximar sumando las capacidades de los discos y restando la capacidad del disco más grande. Por ejemplo, si se instalara un disco de 500, 400, 200 y 100 GB, la capacidad utilizable aproximada sería 500 + 400 + 200 + 100 − 500 = 700 GB de espacio utilizable. Internamente, los datos se distribuirían en dos matrices similares a RAID 5 y dos conjuntos similares a RAID 1:
Conduce | 100 GB | | 200 GB | | 400 GB | | 500 GB | ---------- | x | espacio inutilizable (100 GB) ---------- ---------- ---------- | A1 | | A1 | Conjunto RAID 1 (2× 100 GB) ---------- ---------- ---------- ---------- | B1 | | B1 | Conjunto RAID 1 (2× 100 GB) ---------- ---------- ---------- ---------- ---------- | C1 | | C2 | | Cp | Matriz RAID 5 (3× 100 GB) ---------- ---------- ---------- ---------- ---------- ---------- ---------- | D1 | | D2 | | D3 | | dp | Matriz RAID 5 (4 × 100 GB) ---------- ---------- ---------- ----------
BeyondRaid ofrece una función similar a RAID 6 y puede realizar compresión basada en hash utilizando hashes SHA-1 de 160 bits para maximizar la eficiencia del almacenamiento. [28]
Unraid es un sistema operativo propietario basado en Linux optimizado para el almacenamiento de archivos multimedia. [29]
Lamentablemente, Unraid no proporciona información sobre su tecnología de almacenamiento, pero algunos [¿ quiénes? ] dicen que su matriz de paridad es una reescritura del módulo mdadm.
Las desventajas incluyen código fuente cerrado, precio elevado [ cita requerida ] , rendimiento de escritura más lento que un solo disco [ cita requerida ] y cuellos de botella cuando se escriben varias unidades simultáneamente. Sin embargo, Unraid permite la compatibilidad con un grupo de caché que puede acelerar drásticamente el rendimiento de escritura. Los datos del grupo de caché se pueden proteger temporalmente utilizando Btrfs RAID 1 hasta que Unraid los mueva a la matriz según un cronograma establecido dentro del software. [ cita requerida ]
Las ventajas incluyen un menor consumo de energía que los niveles RAID estándar, la capacidad de usar múltiples discos duros con diferentes tamaños a su capacidad máxima y en el caso de múltiples fallas de discos duros concurrentes (excediendo la redundancia), solo perder los datos almacenados en los discos duros defectuosos en comparación con los niveles RAID estándar que ofrecen segmentación en cuyo caso se pierden todos los datos de la matriz cuando fallan más discos duros de los que la redundancia puede manejar. [30]
En OpenBSD , CRYPTO es una disciplina de cifrado para el subsistema Softraid. Cifra los datos en un único fragmento para garantizar la confidencialidad de los datos. CRYPTO no proporciona redundancia. [31] RAID 1C proporciona tanto redundancia como cifrado. [31]
Algunos sistemas de archivos, como Btrfs, [32] y ZFS/OpenZFS (con la propiedad copies=1|2|3 por conjunto de datos), [33] admiten la creación de múltiples copias de los mismos datos en una sola unidad o grupo de discos, lo que protege contra sectores defectuosos individuales, pero no contra una gran cantidad de sectores defectuosos o una falla total de la unidad. Esto permite aprovechar algunos de los beneficios de RAID en computadoras que solo pueden aceptar una sola unidad, como las laptops.
El RAID desagrupado permite matrices de discos de tamaño arbitrario y, al mismo tiempo, reduce la sobrecarga de los clientes al recuperarse de fallos de disco. Distribuye o desagrupa de manera uniforme los datos de usuario, la información de redundancia y el espacio libre en todos los discos de una matriz desagrupada. En el RAID tradicional, un sistema de almacenamiento de discos completo de, digamos, 100 discos, se dividiría en varias matrices, cada una de, digamos, 10 discos. Por el contrario, en el RAID desagrupado, se utiliza todo el sistema de almacenamiento para formar una matriz. Cada elemento de datos se escribe dos veces, como en la duplicación, pero los datos y las copias lógicamente adyacentes se distribuyen de manera arbitraria. Cuando falla un disco, los datos borrados se reconstruyen utilizando todos los discos operativos de la matriz, cuyo ancho de banda es mayor que el de los pocos discos de un grupo RAID convencional. Además, si se produce un fallo de disco adicional durante una reconstrucción, la cantidad de pistas afectadas que requieren reparación es notablemente menor que la del fallo anterior y menor que la sobrecarga de reconstrucción constante de una matriz convencional. La reducción del impacto de la reconstrucción desagrupada y de la sobrecarga del cliente puede ser tres o cuatro veces menor que con un RAID convencional. El rendimiento del sistema de archivos depende menos de la velocidad de cualquier matriz de almacenamiento que se reconstruya. [34]
La agrupación dinámica de discos (DDP), también conocida como D-RAID, mantiene el rendimiento incluso cuando fallan hasta dos unidades simultáneamente. [35] DDP es un tipo de RAID desagrupado de alto rendimiento. [36]