¿Qué diferencia hay entre un NAS y un RAID?

Un raid es un conjunto de dos o más discos que almacenan datos de una manera especial. RAID significa en inglés redundant array of inexpensive disks (matriz redundante de discos económicos). El nombre se debe a que hace muchos años, al crear ese concepto, se promovió reemplazar discos grandes y caros por otros más pequeños y económicos, configurados para funcionar en conjunto. Hay varios tipos de RAIDS. Repasaremos brevemente los más comunes.

El tipo cinco (a veces llamado striping con redundancia) requiere al menos tres discos y provee protección contra la falla de uno de ellos. Es decir que si uno cualquiera se descompone , no hay pérdida porque los datos se almacenan en modo redundante. Provee una capacidad total de almacenamiento que es el producto de la capacidad del disco más chico (generalmente se emplean discos de la misma capacidad) por la cantidad de discos menos uno. De modo que el costo de la protección contra la falla de un disco es justamente un disco. Si tengo cuatro discos de 1 TB en raid cinco, la capacidad total será de 3 TB.

El tipo uno es llamado espejo o mirroring y consta de dos discos de la misma capacidad. Todos los datos se almacenan simultáneamente en ambos discos y protege de la falla de uno. Si uno deja de funcionar el otro conserva los datos. El derroche es mayor que en el raid cinco dado que si formo un raid uno con dos discos de 1 TB, tendré disponible para almacenamiento solamente 1 TB.

El tipo cero (llamado striping – stripe: tira) no da ninguna redundancia a fallos, por el contrario, es mayor la probabilidad de que falle un raid cero que un disco individual dado que el desperfecto de cualquiera de los discos llevará a perder los datos de todo el raid. El raid tipo cero puede estar formado por dos o más discos. Cuantos más discos, mayor el riesgo de pérdida de datos. Se emplea únicamente cuando es necesario formar una sola unidad lógica de un tamaño mayor al disco más grande disponible o cuando se precisa muy buena performance de lectura y escritura. El raid cero es bastante más veloz que un disco individual. Si no hay requerimientos especiales de alta performance o de tener una sola unidad de alta capacidad, debería evitarse el raid cero por el alto riesgo que corren los datos.

Mencionemos también el RAID tipo JBOD (jocosamente el acrónimo significa just a bunch or drives: simplemente un montón de discos). Se parece al tipo cero en tanto que no provee redundancia. Pero los datos no se almacenan en tiras de tamaño fijo que se alternan entre los discos sino que los datos comienzan en uno y cuando se termina, continúan en el siguiente.

Luego hay combinaciones como el 0-1 o 1-0 también llamadas raid 10 con cuatro o más discos, donde se ponen en juego las características de un stripe espejado.  Por último mencionamos el tipo 6 que provee más redundancia que un tipo 5 de modo que se tolere la falla de dos discos.

 

Un NAS (Network attached storage: almacenamiento conectado a la red) puede estar formado por un RAID o no. La característica distintiva de un NAS es que se trata de una pequeña computadora con su propia conexión Ethernet para conectarse a una red ya existente y así agregar un servidor de archivos de modo rápido y económico. El NAS puede tener, típicamente uno, dos o cuatro discos rígidos. En el caso de un único disco, no hay ningún tipo de RAID. En el caso de dos discos, se pueden configurar como raid uno, cero o JBOD (a veces la gente cree que tiene un cero y en realidad es un JBOD). Los NAS en general corren algún tipo de Linux y suelen emplear alguno de los sistemas de archivos de Linux. Por supuesto que la unidad lógica de un NAS vista desde una PC o MAC mostrará las propiedades de capacidad total y libre pero seguramente declarará que el sistema de archivos es el nativo de la terminal (por ejemplo NTFS en Windows, HFS+ en MAC). Si tenemos un NAS de cuatro discos lo más común es que se configure como tipo cinco aunque en general son configurables con las otras alternativas.

Los Raids fueron pensados para soportar la tolerancia a fallos (excepto en el caso del tipo cero) entonces, ¿qué ocurre cuando tiene lugar una falla?

La teoría dice que si en un raid uno o cinco falla un disco, el administrador del sistema recibirá una alerta y procederá a retirar el disco defectuoso y reemplazarlo por uno nuevo. Luego se debe efectuar un proceso de reconstrucción (rebuilding) para que el disco nuevo vuelva a tener los datos del disco que falló. Ese proceso lleva varias horas. Es aconsejable antes de efectuarlo, hacer una copia de seguridad. Imaginamos que ese proceso fallase y se reconstruyese un disco bueno, con datos, a partir del disco nuevo o con datos de discos equivocados. Nos quedaría lo que en la jerga técnica llamamos un raid “envenenado”, no recuperable.

Antiguamente, las controladoras de raid tipo cinco, ante la falla de uno de los discos disminuía notoriamente la performance de acceso a los datos. Eso obligaba al administrador del sistema a bajar el server y reparar el raid. Luego se produjo un progreso en las controladoras que permitió que los raids continuasen trabajando casi con la misma performance con un disco muerto. Eso provocó una situación de riesgo moral por la que la reposición de la redundancia se postergó. Si no me trae ningún costo seguir corriendo con un disco menos y sí me trae un costo bajar un server, la postergación puede llegar a ser infinita. De modo que se hizo típica la situación de “un raid tipo cinco con dos discos rotos”. La pregunta es: “tiene identificado cuál falló ahora y cuál falló antes”. En caso afirmativo, el recupero debe encararse a partir del disco que no falló (uno o más de uno) y del que falló en último término y dejar de lado el que falló tiempo atrás. Invertir en la consideración los discos malos, llevaría a resultados inconsistentes. Mayor la inconsistencia cuanto mayor haya sido el tiempo transcurrido entre la falla del primero y del segundo. Por supuesto a veces el cliente cree que sabe cuál falló primero y cuál segundo y la realidad es la opuesta. Si ambos discos fallaron al mismo tiempo, es la situación ideal dado que cualquiera de los dos discos malos nos permitirá llegar a un resultado coherente.