Articles

RAID (matriz redundante de discos independientes)

RAID (matriz redundante de discos independientes) es una forma de almacenar los mismos datos en diferentes lugares en varios discos duros o unidades de estado sólido para proteger los datos en caso de que falle una unidad. Sin embargo, existen diferentes niveles de RAID y no todos tienen como objetivo proporcionar redundancia.

Cómo funciona el RAID

El RAID funciona colocando los datos en varios discos y permitiendo que las operaciones de entrada/salida (E/S) se solapen de forma equilibrada, mejorando el rendimiento. Dado que el uso de varios discos aumenta el tiempo medio entre fallos (MTBF), el almacenamiento de datos de forma redundante también aumenta la tolerancia a fallos.

Las matrices RAID aparecen ante el sistema operativo (SO) como una única unidad lógica. RAID emplea las técnicas de mirroring o striping de discos. La duplicación copiará datos idénticos en más de una unidad. Las particiones en franjas ayudan a repartir los datos en varias unidades de disco. El espacio de almacenamiento de cada unidad se divide en unidades que van desde un sector (512 bytes) hasta varios megabytes. Las franjas de todos los discos se intercalan y se direccionan en orden.

Disco RAID

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.

Diagrama del RAID 0

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.

Diagrama de RAID 1

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.

Diagrama del RAID 2

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.

Diagrama del RAID 3

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.

Diagrama de RAID 4

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.

Diagrama de 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.

Diagrama del RAID 6

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.

Diagrama del RAID 10

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.

  • Una mejora en la rentabilidad porque los discos de menor precio se utilizan en gran número.
  • El uso de varios discos duros permite que el RAID mejore el rendimiento de un solo disco duro.
  • Aumento de la velocidad del ordenador y de la fiabilidad después de un fallo – dependiendo de la configuración.
  • Las lecturas y escrituras pueden realizarse más rápidamente que con un solo disco con RAID 0. Esto se debe a que el sistema de archivos se divide y se distribuye entre las unidades que trabajan juntas en el mismo archivo.
  • Hay una mayor disponibilidad y resistencia con RAID 5. Con la duplicación, las matrices RAID pueden tener dos unidades que contienen los mismos datos, lo que garantiza que una seguirá funcionando si la otra falla.
    • Desventajas del uso de RAID

      Sin embargo, RAID tiene sus desventajas. Algunos de ellos son:

      • Los niveles RAID anidados son más caros de implementar que los niveles RAID tradicionales porque requieren un mayor número de discos.
      • El coste por gigabyte de los dispositivos de almacenamiento es mayor en el caso de los RAID anidados porque muchas de las unidades se utilizan para la redundancia.
      • Cuando falla una unidad, aumenta la probabilidad de que otra unidad de la matriz también falle pronto, lo que probablemente provocaría una pérdida de datos. Esto se debe a que todas las unidades de una matriz RAID se instalan al mismo tiempo, por lo que todas las unidades están sujetas a la misma cantidad de desgaste.
      • Algunos niveles RAID (como RAID 1 y 5) sólo pueden soportar el fallo de una sola unidad.
      • Las matrices RAID, y los datos que contienen, se encuentran en un estado vulnerable hasta que se sustituye una unidad que ha fallado y el nuevo disco se llena de datos.
      • Debido a que las unidades tienen mucha más capacidad ahora que cuando se implementó el RAID por primera vez, se tarda mucho más en reconstruir las unidades que han fallado.
      • Si se produce un fallo en el disco, existe la posibilidad de que los discos restantes contengan sectores defectuosos o datos ilegibles, lo que puede imposibilitar la reconstrucción completa de la matriz.
        • Sin embargo, los niveles RAID anidados solucionan estos problemas proporcionando un mayor grado de redundancia, lo que disminuye significativamente las posibilidades de que se produzca un fallo a nivel de matriz debido a fallos simultáneos de los discos.

          Historia de RAID

          El término RAID fue acuñado en 1987 por David Patterson, Randy Katz y Garth A. Gibson. En su informe técnico de 1988, «A Case for Redundant Arrays of Inexpensive Disks (RAID)», los tres argumentaban que una matriz de discos de bajo coste podía superar el rendimiento de las mejores unidades de disco de la época. Mediante el uso de la redundancia, una matriz RAID podría ser más fiable que una sola unidad de disco.

          Aunque este informe fue el primero en poner nombre al concepto, el uso de discos redundantes ya estaba siendo discutido por otros. Gus German y Ted Grunau, de Geac Computer Corp., se refirieron por primera vez a esta idea como MF-100. Norman Ken Ouchi, de IBM, presentó una patente en 1977 para esta tecnología, que posteriormente se denominó RAID 4. En 1983, Digital Equipment Corp. comercializó las unidades que se convertirían en RAID 1, y en 1986, se presentó otra patente de IBM para lo que se convertiría en RAID 5. Patterson, Katz y Gibson también se fijaron en lo que estaban haciendo empresas como Tandem Computers, Thinking Machines y Maxstor para definir sus taxonomías RAID.

          Aunque los niveles de RAID enumerados en el informe de 1988 esencialmente ponían nombres a tecnologías que ya estaban en uso, la creación de una terminología común para el concepto ayudó a estimular el mercado de almacenamiento de datos para desarrollar más productos de matrices RAID.

          Según Katz, el término inexpensive en el acrónimo fue pronto sustituido por independent por los vendedores de la industria debido a las implicaciones de los bajos costes.

          El futuro de RAID

          RAID no está del todo muerto, pero muchos analistas dicen que la tecnología se ha quedado obsoleta en los últimos años. Alternativas como la codificación de borrado ofrecen una mejor protección de los datos (aunque a un precio más elevado), y se han desarrollado con la intención de solucionar los puntos débiles del RAID. A medida que aumenta la capacidad de las unidades, también lo hace la posibilidad de error con una matriz RAID, y las capacidades aumentan constantemente.

          El aumento de las unidades de estado sólido (SSD) también se considera que alivia la necesidad de RAID. Las SSD no tienen piezas móviles y no fallan con tanta frecuencia como los discos duros. Las matrices de SSD suelen utilizar técnicas como la nivelación de desgaste en lugar de confiar en el RAID para la protección de los datos. La informática a hiperescala también elimina la necesidad de RAID al utilizar servidores redundantes en lugar de unidades redundantes.

          Aún así, RAID sigue siendo una parte arraigada del almacenamiento de datos por ahora y los principales proveedores de tecnología siguen lanzando productos RAID. IBM ha lanzado IBM Distributed RAID con su Spectrum Virtualize V7.6, que promete aumentar el rendimiento de RAID. La última versión de la tecnología de almacenamiento rápido de Intel es compatible con RAID 0, RAID 1, RAID 5 y RAID 10, y el software de gestión ONTAP de NetApp utiliza RAID para protegerse de hasta tres fallos de disco simultáneos. La plataforma Dell EMC Unity también admite RAID 1/0, RAID 5 y RAID 6.

Dejar una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *