En 1987 surge el concepto de RAID o Redundant Arrays of Inexpensive Disks (matrices redundantes de discos económicos), que soluciona, por un lado, el problema del almacenamiento y del tiempo de acceso, y por otro la seguridad de los datos, así como los tiempos de parada del sistema.

Básicamente se fundamentan en el concepto de dividir la información en bloques o segmentos, cada uno almacenado en unidades de disco separadas, y con determinadas medidas de redundancia de los datos, lo que implica un menor riesgo de pérdida de información en caso de fallo, además de un menor tiempo de acceso a la información, ya que se comportan como unidades diferentes suministrando información en paralelo a un “bus” más ancho.

Los sistemas RAID pueden estar basados en hardware o en software. La ventaja de los primeros es su independencia de la plataforma o sistema operativo, ya que son vistos por éste como un gran disco duro más, y además son mucho más rápidos, entre otras ventajas. Los sistemas RAID software no son implementaciones adecuadas en la mayoría de los casos, y cada vez son menos empleados.

Evidentemente, hay varias formas de llevar a cabo las funciones de un RAID, y es lo que se ha dado en llamar niveles RAID:

  • RAID 0 (data striping) : Los datos se fraccionan en bloques entre 2 y 16 KB, y se escriben en matrices de 2 o más discos. Los bloques de datos, o segmentos, se escriben secuencialmente, mediante un sistema de “interleaving”, es decir, el primer bloque en el primer disco, el 2º bloque en el segundo disco, y así sucesivamente. Este sistema esta pensado para situaciones en las que se requiere alta velocidad, pero no seguridad, ya que el fallo de cualquiera de los discos implica la pérdida de los datos y la parada del sistema.
    Ventajas
    : Proporciona el mejor tiempo de acceso, por ejemplo para aplicaciones gráficas.
    Inconvenientes
    : No ofrece protección de los datos.
  • RAID 1 (mirroring): Cada segmento es almacenado en dos discos, por lo que si uno falla, la integridad de los datos es total. En algunos sistemas, incluso cada conjunto de discos es manejado por una controladora diferente, a modo de duplicado completo. Enfatiza la seguridad frente al tiempo de acceso.
    Ventajas
    : Proporciona un buen tiempo de acceso para pequeños bloques de datos y el mayor grado de seguridad de los datos.
    Inconvenientes
    : Se duplica el coste, al duplicar todos o casi todos los elementos.
  • RAID 5: Es el más generalizado por su equilibrio de resultados. Se distribuyen los bloques de datos entre todos los discos, mezclados con los datos de corrección de errores. Ello evita la necesidad de acceder a todos los discos para una sola operación, y por tanto permite realizar varias lecturas y escrituras simultáneas.
    Ventajas
    : Proporciona un buen tiempo de acceso y gran seguridad de los datos a un precio razonable.
    Inconvenientes
    : No es aconsejable para grandes bloques de información.
  • RAID 10 (1+0): el espacio aprovechado es del 50%, aunque se combina el buen rendimiento (buen tiempo de acceso) de RAID 0 junto con la mayor seguridad que proporciona el mirroring (RAID 1).
    Ventajas
    : Proporciona el mejor tiempo de acceso, por ejemplo para aplicaciones gráficas, así como mayor grado de seguridad para los datos.
    Inconvenientes
    : Se duplica el coste, al duplicar todos o casi todos los elementos.

Algo muy importante en los sistemas RAID es el uso de redundancia física, es decir, equipamiento extra que permite, en caso de fallo de algún elemento del RAID, su “recambio” automático, lo que evita la parada del sistema.

Por lo general, todos los RAID incorporan fuentes de alimentación redundantes, discos redundantes e incluso controladoras redundantes.

Pero lo más interesante es la forma en que dichos repuestos entran en funcionamiento, ya que para evitar su desgaste, es altamente recomendable que en condiciones normales no estén activos (sin alimentación), para que no sufran ningún desgaste, pues de lo contrario no serían útiles en caso de fallo de otra unidad, por su posibilidad de fallo al existir un “desgaste” por tiempo de uso.

Cuando la unidad de repuesto no esta en el sistema, sino que ha de ser “insertada” o conectada por el usuario (sin necesidad de apagar el RAID), se denomina hot plug (inserción en caliente).

Cuando un disco de repuesto se mantiene en funcionamiento (alimentado), se denomina hot spare (reposición en caliente). Con la única ventaja de una mayor velocidad de su entrada en funcionamiento y de la reconstrucción de los datos en caso de que otra unidad falle.

Las unidades hot fix (reparación en caliente), también denominadas “cold/warm spare”, son las que están insertadas en el sistema, pero se mantienen desconectadas hasta el momento en que otra unidad falla, entrando automáticamente en funcionamiento por medio de la gestión inteligente de la controladora RAID.

Algunos RAID integran simultáneamente varias de estas técnicas, por ejemplo “hot spare” para unidades de reserva y “hot plug” para sustituir las unidades averiadas.

Es importante tener en cuenta que, tras el fallo de una unidad de disco, el sistema ha de reconstruir los datos de la unidad que ha fallado en la que la ha de sustituir, lo que conlleva la lectura de los otros discos, así como de los datos de paridad, con el consiguiente período de “ocupación” del RAID. Algunos sistemas permiten que esto se haga automáticamente y sin detener el funcionamiento del RAID, aunque lógicamente el acceso a los datos será relativo, pues éstos pueden estar en el disco dañado.

Otra gran ventaja de la tecnología RAID es la posibilidad de conectar un sistema de este tipo a varios “hosts” simultáneamente, al existir la posibilidad de integrar en el sistema varias controladoras SCSI.

Algunos sistemas RAID incorporan varios bancos de discos, denominados “ranks”, lo que permite simultanear varios niveles RAID (1 por cada banco), logrando optimizar las prestaciones del sistema y adecuándolas al máximo en función de los tipos de datos que se han de almacenar en cada banco.

La mayoría de los sistemas RAID incorporan memoria caché de lectura, lo que permite incrementar hasta en 300 veces los tiempos de acceso.