La tecnología RAID (sigla que significa Redundant Array of Inexpensive Disks, conjunto redundante de discos de bajo costo, o en algunos casos Redundant Array of Independent Disks, conjunto redundante de discos independientes) permite al usuario formar una unidad de almacenamiento a partir de varios discos rígidos. Por tanto, la unidad creada (denominada clúster) es altamente tolerante a los errores (disponibilidad alta) o posee una mayor capacidad/velocidad de escritura. La distribución de datos en varios discos rígidos proporciona una mayor seguridad de los datos y servicios asociados más fiables.
Esta tecnología fue desarrollada en 1987 por tres investigadores (Patterson, Gibson y Katz) en la Universidad de California (Berkeley). Desde 1992, la junta consultiva para el uso de sistemas RAID (RAID Advisory Board) ha administrado estas especificaciones. Estas consisten en la formación de una unidad con gran capacidad (y por lo tanto costosa) a partir de unidades más pequeñas y económicas (es decir, unidades en las que el MTBF, Mean Time Between Failure [tiempo medio entre fallos], sea corto).
Con la tecnología RAID, los discos unidos pueden utilizarse de maneras diferentes, denominadas niveles RAID. La Universidad de California ha definido 5 niveles, a los que se han agregado los niveles 0 y 6. Cada uno de estos niveles describe la forma en la que se distribuyen los datos en las unidades:
Cada uno de estos niveles constituye una forma de utilizar el clúster, según:
El nivel RAID-0, denominado de configuración en bandas (striping, concepto al que a veces se denomina erróneamente stripping) consiste en almacenar datos distribuyéndolos en todas las unidades de clúster. Este nivel no tiene redundancia alguna y por tanto no tolera errores. De hecho, si falla una de las unidades, los datos divididos y distribuidos por todas las unidades se perderán.
Sin embargo, dado que cada unidad del clúster posee su propio controlador, esta solución ofrece una velocidad de transferencia elevada.
El RAID-0 supone la yuxtaposición lógica (agregación) de varios discos rígidos físicos. En el modo RAID-0, los datos se anotan en bandas (traducción del término inglés "stripes"):
|
|
|
El término "striping" se utiliza para caracterizar el tamaño relativo de los fragmentos (bandas) almacenadas en cada unidad física. La salida promedio depende de este factor (cuanto más cortas sean las bandas, mejor serán las salidas)
Si alguno de los elementos del clúster es más grande que el resto, el sistema que se usa para almacenar datos en las unidades se bloqueará cuando el disco más pequeño se llene. Por tanto, el tamaño final equivale al doble de la capacidad del más pequeño de los dos discos:
![]() |
Se recomienda utilizar dos discos del mismo tamaño para el RAID-0; de lo contrario, no se podrá explotar al máximo la unidad con mayor capacidad. |
El objetivo del nivel 1 es duplicar la información y almacenarla en varias unidades. Los términos réplica (mirroring) o emulación (shadowing) se utilizan para describir este procedimiento.
|
|
|
Por el contrario, la tecnología RAID-1 es muy costosa si se tiene en cuenta que sólo se aprovecha la mitad de la capacidad de almacenamiento.
Actualmente el nivel RAID-2 es obsoleto, ya que utiliza un código Hamming para la corrección de errores (códigos ECC - Error Correction Code (código de corrección de errores). En la actualidad, el código Hamming se encuentra directamente integrado dentro de los controladores de los discos rígidos.
Esta tecnología consiste en el almacenamiento de datos bajo el mismo principio que se aplica al RAID-0, aunque la escritura de bits de verificación ECC se realiza en una unidad aparte (normalmente se utilizan 3 unidades ECC para 4 unidades de datos).
La tecnología RAID 2 ofrece rendimientos mediocres pero un alto nivel de seguridad.
La tecnología del nivel 3 RAID almacena datos en bytes en cada unidad y utiliza una de las unidades para almacenar un bit de paridad.
|
|
|
|
La tecnología RAID 4 es muy similar a la del nivel 3. La diferencia reside en el nivel de paridad: El nivel 4 utiliza striping a nivel de bloque con un disco de paridad dedicado, mientras que el nivel 3 utiliza striping a nivel de byte. Más precisamente, esto significa que el striping es diferente al del RAID 3.
|
|
|
|
Para leer una cantidad reducida de bloques, no es necesario que el sistema acceda a unidades físicas múltiples, sino solamente a aquéllas en las que los datos están realmente almacenados. Por el contrario, la unidad que posee los datos de control debe tener un tiempo de acceso equivalente a la suma del tiempo de acceso de los demás discos para no limitar el rendimiento del conjunto.
El nivel 5 es similar al nivel 4, es decir que la paridad se calcula a nivel del bloque pero se distribuye en todas las unidades del clúster.
|
|
|
|
De esta manera, el RAID 5 mejora en gran medida el acceso a los datos (tanto en escritura como en lectura) ya que el acceso a los bits de paridad se distribuye en las diferentes unidades del clúster.
RAID-5 brinda rendimientos muy similares a los obtenidos en RAID-0 al tiempo que asegura una alta tolerancia de errores. Por este motivo, es uno de los mejores modos RAID en términos de rendimiento y confiabilidad.
![]() |
Ya que el espacio utilizable de unidad en un clúster de n unidades equivale a n-1 unidades, se recomienda contar con un gran número de unidades para lograr que el RAID 5 sea más "rentable". |
Se agregó el nivel 6 a los niveles definidos por los investigadores de Berkeley. Se define el uso de dos funciones de paridad y su almacenamiento en dos unidades dedicadas. Este nivel asegura redundancia en caso de que ambas unidades se dañen simultáneamente. Esto significa que se necesitan al menos 4 unidades para implementar el sistema RAID-6.
Las soluciones RAID que generalmente se utilizan son los niveles 1 y 5.
La elección de una solución RAID depende de tres criterios:
Hay diferentes maneras de implementar una solución RAID en un servidor.