Imagen de un disco duro RAID de cinco bandejas La duplicación de discos y la división en franjas de discos también pueden combinarse en una matriz RAID.
En un sistema de un solo usuario en el que se almacenan grandes registros, las franjas se suelen configurar para que sean pequeñas (quizás 512 bytes), de modo que un solo registro abarque todos los discos y se pueda acceder a él rápidamente leyendo todos los discos al mismo tiempo.
En un sistema multiusuario, un mejor rendimiento requiere una franja lo suficientemente amplia como para albergar el registro de tamaño típico o máximo, lo que permite una E/S de disco superpuesta en todas las unidades.
Controladora RAID
Una controladora RAID es un dispositivo utilizado para gestionar las unidades de disco duro en una matriz de almacenamiento. Puede utilizarse como un nivel de abstracción entre el SO y los discos físicos, presentando grupos de discos como unidades lógicas. El uso de una controladora RAID puede mejorar el rendimiento y ayudar a proteger los datos en caso de fallo.
Una controladora RAID puede estar basada en hardware o en software. En un producto RAID basado en hardware, un controlador físico gestiona la matriz. La controladora también puede estar diseñada para soportar formatos de unidades como SATA y SCSI. Una controladora RAID física también puede estar integrada en la placa base de un servidor.
Con el RAID basado en software, la controladora utiliza los recursos del sistema de hardware, como el procesador central y la memoria. Aunque realiza las mismas funciones que un controlador RAID basado en hardware, los controladores RAID basados en software pueden no permitir un aumento tan grande del rendimiento y pueden afectar al rendimiento de otras aplicaciones en el servidor.
Si una implementación de RAID basada en software no es compatible con el proceso de arranque de un sistema, y las controladoras RAID basadas en hardware son demasiado costosas, el RAID basado en firmware o en controladores es otra opción potencial.
Los chips de las controladoras RAID basadas en firmware se encuentran en la placa base, y todas las operaciones son realizadas por la CPU, de forma similar al RAID basado en software. Sin embargo, con el firmware, el sistema RAID sólo se implementa al principio del proceso de arranque. Una vez que el sistema operativo se ha cargado, el controlador se hace cargo de la funcionalidad RAID. Un controlador RAID de firmware no es tan caro como una opción de hardware, pero supone una mayor carga para la CPU del ordenador. El RAID basado en firmware también se denomina RAID de software asistido por hardware, RAID de modelo híbrido y RAID falso.
Niveles RAID
Los dispositivos RAID harán uso de diferentes versiones, llamadas niveles. El documento original que acuñó el término y desarrolló el concepto de configuración RAID definió seis niveles de RAID: del 0 al 5. Este sistema numerado permitía a los informáticos diferenciar las versiones RAID. El número de niveles se ha ampliado desde entonces y se ha dividido en tres categorías: niveles RAID estándar, anidados y no estándar.
Niveles RAID estándar
RAID 0. Esta configuración tiene striping, pero no tiene redundancia de datos. Ofrece el mejor rendimiento, pero no proporciona tolerancia a fallos.
RAID 1. También conocida como mirroring de discos, esta configuración consta de al menos dos unidades que duplican el almacenamiento de datos. No hay striping. El rendimiento de lectura se mejora ya que cualquiera de los dos discos puede ser leído al mismo tiempo. El rendimiento de escritura es el mismo que para el almacenamiento en un solo disco.
RAID 2. Esta configuración utiliza striping en los discos, con algunos discos que almacenan información de comprobación y corrección de errores (ECC). El RAID 2 también utiliza una paridad de código Hamming dedicada; una forma lineal de código de corrección de errores. El RAID 2 no tiene ninguna ventaja sobre el RAID 3 y ya no se utiliza.
RAID 3. Esta técnica utiliza la división en bandas y dedica un disco a almacenar la información de paridad. La información ECC incrustada se utiliza para detectar errores. La recuperación de datos se realiza calculando la información exclusiva grabada en las otras unidades. Como una operación de E/S se dirige a todas las unidades al mismo tiempo, el RAID 3 no puede solapar la E/S. Por esta razón, el RAID 3 es mejor para sistemas de un solo usuario con aplicaciones de registro largo.
RAID 4. Este nivel utiliza rayas grandes, lo que significa que un usuario puede leer registros de cualquier unidad individual. La E/S superpuesta se puede utilizar entonces para las operaciones de lectura. Como todas las operaciones de escritura deben actualizar la unidad de paridad, no es posible el solapamiento de E/S.
RAID 5. Este nivel se basa en el striping a nivel de bloque de paridad. La información de paridad se divide en franjas en cada unidad, lo que permite que el array funcione incluso si una unidad falla. La arquitectura de la matriz permite que las operaciones de lectura y escritura se extiendan a varias unidades, con lo que el rendimiento es mejor que el de una sola unidad, pero no tan alto como el de una matriz RAID 0. RAID 5 requiere al menos tres discos, pero a menudo se recomienda utilizar al menos cinco discos por razones de rendimiento.
Las matrices RAID 5 se consideran generalmente una mala opción para su uso en sistemas de escritura intensiva debido al impacto en el rendimiento asociado a la escritura de datos de paridad. Cuando un disco falla, puede llevar mucho tiempo reconstruir una matriz RAID 5.
RAID 6. Esta técnica es similar al RAID 5, pero incluye un segundo esquema de paridad distribuido entre las unidades del array. El uso de la paridad adicional permite que el array siga funcionando incluso si dos discos fallan simultáneamente. Sin embargo, esta protección adicional tiene un coste. Las matrices RAID 6 suelen tener un rendimiento de escritura más lento que las matrices RAID 5.
Niveles RAID anidados
Algunos niveles RAID se denominan RAID anidados porque se basan en una combinación de niveles RAID. Estos son algunos ejemplos de niveles RAID anidados.
RAID 10 (RAID 1+0). Combinando RAID 1 y RAID 0, este nivel suele denominarse RAID 10, que ofrece un mayor rendimiento que el RAID 1, pero con un coste mucho mayor. En el RAID 1+0, los datos se duplican y las réplicas se dividen en bandas.
RAID 01 (RAID 0+1). El RAID 0+1 es similar al RAID 1+0, salvo que el método de organización de los datos es ligeramente diferente. En lugar de crear una réplica y luego rayar la réplica, el RAID 0+1 crea un conjunto de franjas y luego las refleja.
RAID 03 (RAID 0+3, también conocido como RAID 53 o RAID 5+3). Este nivel utiliza el striping (al estilo del RAID 0) para los bloques del disco virtual del RAID 3. Esto ofrece un mayor rendimiento que el RAID 3, pero con un coste más elevado.
RAID 50 (RAID 5+0). Esta configuración combina la paridad distribuida del RAID 5 con el striping del RAID 0 para mejorar el rendimiento del RAID 5 sin reducir la protección de los datos.
Niveles de RAID no estándar
Los niveles de RAID no estándar varían de los niveles de RAID estándar y suelen ser desarrollados por empresas u organizaciones para un uso principalmente propio. He aquí algunos ejemplos.
RAID 7. Un nivel RAID no estándar basado en el RAID 3 y el RAID 4 que añade caché. Incluye un SO embebido en tiempo real como controlador, almacenamiento en caché a través de un bus de alta velocidad y otras características de un ordenador autónomo.
Raid adaptativo. Este nivel permite al controlador RAID decidir cómo almacenar la paridad en los discos. Elegirá entre el RAID 3 y el RAID 5, dependiendo de qué tipo de conjunto RAID funcionará mejor con el tipo de datos que se escriban en los discos.
Linux MD RAID 10. Este nivel, proporcionado por el kernel de Linux, admite la creación de matrices RAID anidadas y no estándar. El software RAID de Linux también puede admitir la creación de configuraciones RAID 0, RAID 1, RAID 4, RAID 5 y RAID 6 estándar.
Beneficios del RAID
Los beneficios del RAID incluyen los siguientes.