RAID (Redundant Array of Independent Disks), es decir,
“conjunto redundante de discos independientes”, tras estas siglas lo que se
esconde es un sistema que nos permite implementar un volumen de almacenamiento
de datos que, a su vez, está formado por múltiples discos duros con el objetivo
de conseguir más espacio o bien proteger la información y conseguir mayor
tolerancia a fallos de disco (evitando pérdida de información si el disco duro
sufre una avería).
Lo interesante del RAID es que la combinación de discos duros, a efectos
prácticos del usuario, se traduce en un “único almacén” mucho más robusto que
un disco duro por sí solo; por tanto, usar un RAID siempre puede ser
interesante en aplicaciones de alta disponibilidad o para proteger información
que consideremos crítica.
Por ejemplo, en servidores solemos usar RAID para montar un
espejo entre discos duros y, de esta forma, replicar la información en dos
discos duros idénticos y, si uno se estropea, no sufrir una caída del servicio.
También es habitual usar RAID en un NAS y sacrificar un poco del espacio útil
para ganar en redundancia y poder reconstruir el volumen de información si un
disco sufre una avería e, incluso, se deja algún disco en modo hot
spare para que
comience a usarse si uno de los discos falla.
A
nivel empresarial, el RAID es muy utilizado y conocido; sin embargo, para
muchos usuarios es casi un misterio que, quizás, les suene por las
especificaciones de su placa base. En mi opinión, es importante conocer qué es
un RAID y para qué sirve porque, por ejemplo, puede ser útil tener en casa
algún volumen de almacenamiento con RAID para almacenar información sensible
(fotos, documentos personales…) que queramos que esté especialmente protegida.
¿Qué
tipos de RAID existen?
Partiendo
de la base que un RAID es un conjunto de discos duros que funcionan de “manera
coordinada”, vamos a repasar los modos de RAID más habituales que podemos
encontrar:
§ RAID
0 no
es, precisamente, una configuración RAID orientada a la redundancia y la
tolerancia a fallos; conocido como striping, en esta
configuración lo que se hace es distribuir de manera equitativa los datos entre
dos discos duros. Dicho de otra forma, el sistema irá repartiendo los datos
entre dos discos duros para aumentar la velocidad de acceso a los datos.
Obviamente, al no existir redundancia, si uno de los discos se avería tendremos
que recurrir a una copia de seguridad externa.
§ RAID
1 es
una de las mejores configuraciones en cuanto a redundancia y tolerancia a
fallos. También conocida como “espejo” o “mirroring“,
en esta configuración RAID lo que se hace es duplicar la información en dos
discos; es decir, nuestro sistema verá un único volumen de almacenamiento que,
en realidad, está formado por dos discos iguales en los que se escriben los
mismos datos. De esta forma, si un disco se estropea, el sistema seguirá
funcionando y trabajando con el disco que aún funciona. Además, el rendimiento
en lectura también aumenta porque, por ejemplo, es posible leer 2 datos a la
vez (uno de cada disco).
§ RAID
5 es
una configuración bastante usual, por ejemplo, en un NAS; conocido como distribuido
con paridad, en esta configuración se realiza una división por
bloques de información y se distribuyen entre los discos que forman el
conjunto. Además, se genera un bloque de paridad que, a modo de redundancia,
nos permite reconstruir la información de volumen completo si, por ejemplo, uno
de los discos se averiase. En este tipo de configuraciones, como mínimo debemos
contar con 3 discos duros y, como nos podemos imaginar, solamente se tolera el
fallo en uno de los discos.
§ RAID
6, conocida como distribuida con doble paridad es similar al RAID 5 en cuanto a
distribución de los bloques de información pero, en lo que respecta a la
redundancia, en esta configuración se generan 2 bloques de paridad que también
se distribuyen entre los discos. En este tipo de escenarios, la configuración
es capaz de soportar hasta 2 fallos de disco en el conjunto o, por ejemplo, un
fallo de disco mientras se está reconstruyendo el volumen (tras un fallo
anterior) aunque, eso sí, como mínimo necesitaremos 4 discos.
§ RAID
0+1 es
una combinación de dos configuraciones simultáneas RAID 0 y RAID 1;
concretamente, necesitaremos 4 discos duros que se tomarán por parejas para que
cada una de éstas forme un RAID 0 (división de la información) y, con las dos
parejas, se monte un RAID 1 (un espejo). Dicho de otra forma, con esta configuración
tendremos un RAID 0 redundado en espejo.
§ RAID
1+0 (o
también conocido como RAID 10) es la configuración “contraria” al RAID 0+1; en
este caso en vez de realizar un espejo del RAID 0 (los discos en striping),
lo que hacemos es aplicar el espejo a cada disco en striping.
Reconozco que suena muy extraño lo que acabo de comentar pero es fácil de
entender; si en un RAID 0 repartimos los bloques de información entre dos
discos, en el RAID 1+0 lo que hacemos es similar pero cada uno de estos discos,
a su vez, está en espejo con otro. Por tanto, es una configuración de 4 discos
en la que montamos un par de espejos y, por encima, repartimos la información
entre dichos espejos.
§ Otras
configuraciones que podemos encontrar son las de RAID
50 y RAID
60, son combinaciones de RAID 5 con RAID 0 y de RAID 6 y RAID 0
respectivamente. Si tomamos como referencia el funcionamiento del RAID 10, el
esquema de funcionamiento de RAID 50 y RAID 60 es fácil de entender. En el caso
del RAID 50 lo que hacemos es montar un RAID 0 sobre 2 agrupaciones de discos
que, a su vez, están en RAID 5; por tanto, necesitaremos como mínimo 3 discos
(uno para cada agrupación RAID 5) y conseguiremos un volumen muy robusto aunque
algo caro. En el RAID 60 el esquema es similar, un RAID 0 de dos agrupaciones
de discos que, a su vez, están en RAID 6; por tanto un esquema extremadamente
robusto que requiere de 8 discos duros.
Si alguna vez has echado un vistazo por las opciones de la BIOS
de tu placa base o las especificaciones de la misma, es posible que hayas
encontrado alguna opción o información relativa a RAID. Son muchas las placas
base que permiten montar un array de discos duros siguiendo alguno de
los tipos de RAID que existen y, desde la controladora de discos, presentar a
nuestro disco duro un “único disco tolerante a fallos”.
Cuando el RAID es realizado desde hardware,
nuestro sistema operativo solamente detectará un disco duro o, mejor dicho, un
“único volumen” y será la controladora de disco la que se ocupe de redundar la
información o trabajar con la paridad para aumentar la tolerancia a fallos en
caso de avería de un disco.
Si
tu placa base no soporta el RAID tampoco es problema ya que es posible delegar
estas tareas en el propio sistema operativo (obviamente es una tarea más que
tendrá que asumir). En Windows es algo que podemos hacer desde el
“Administrador de discos” y, por ejemplo, podremos crear un “Espejo” (RAID 1) o
“Reflejo de datos” para que Windows escriba la información siempre por
duplicado y ésta esté redundada en caso de que uno de los discos duros fallen.
En Linux también existe esta utilidad y muchas distribuciones
incluyen este tipo de soporte vía software. Quizás,
una de las utilidades más conocidas sea Mdadm aunque también es algo que podemos
encontrar, por ejemplo, en el proceso de instalación de muchas distribuciones.