lunes, 16 de junio de 2014

RAID. Definición y Tipos

Definición

Un RAID es un sistema de almacenamiento de datos formado por la unión de múltiples unidades de disco entre los que se distribuyen o copian los datos. Dependiendo del modelo que escojamos los beneficios serán mayor capacidad, mayor rendimiento, mayor tolerancia frente a fallos..etc.

Implementación

Por la forma de implementar un RAID en nuestro sistema podemos distinguir principalmente dos formas,  por hardware o por software, aunque también existen implementaciones híbridas.


  • RAID por hardware

  • Es el que encontramos en servidores y equipos de alto rendimiento, son sistemas montados gracias a controladoras de discos que se encargan de gestionar el RAID por si mismas con sus propios procesadores y memoria de manera que alivian de carga a la CPU. El sistema es ajeno al RAID y lo detecta como un único disco. Este sistema es más fiable y más rápido pero también mucho más caro.

  • RAID por software
    En este caso es el propio sistema quien se encarga de crear,montar y gestionar el RAID sobre una serie de discos físicos. Ofrece la solución más barata al ahorrarse el dinero de las controladoras y hoy en día en el que los equipos son más potentes el rendimiento ya es considerable. Además otra ventaja que tiene es que es mucho más fácil llevarse el RAID a otros servidores al ser gestionado por el SO.


Tipos de RAID

Vamos a explicar ahora algunos de los tipos de RAID más utilizados desde los más básicos como el RAID 0 y RAID 1 hasta aquellos que son una combinación de ellos conocidos como anidados.


RAID 0

En un RAID 0 se distribuyen los datos equitativamente entre uno y mas discos duros. Los discos que lo componen pueden ser de distinto tamaño pero en ese caso de cada uno solo se utiliza hasta el tamaño del disco más pequeño. El RAID 0 creado será una partición lógica cuya tamaño total es igual a la suma del tamaño válido de los discos que lo forman.

La ventaja obvia en un RAID 0 es la velocidad puesto que un dato se encuentra dividido en varios discos y no es uno solo el encargado de leerlo o escribirlo

En esta imagen de ejemplo vemos como el dato A se distribuye entre los 2 discos que forman el RAID 0




RAID 1

En un RAID 1 el disco con el que se trabaja se va copiando a su vez en el resto de discos que forman el RAID que actuaran como espejo. Si se estropea dicho disco automáticamente se puede continuar trabajando con los otros. Por lo tanto en un RAID 1 el tamaño total no aumenta y será siempre igual al tamaño de nuestro disco de trabajo como si no existiera dicho RAID

La ventaja evidente en este caso es de seguridad, se garantiza la integridad de los datos

En la imagen de ejemplo el dato A se distribuye en el disco 1 a la vez que se copia en el disco 2



RAID 5

Vamos complicando un poco mas el tema con el RAID 5. En este tipo de RAID los datos se distribuyen entre todos los discos que forman el RAID menos en uno que alojará la información de paridad de tal manera que si nos falla un disco del RAID los datos podrán ser recuperados utilizando esa información más la que posean el resto de discos que no han fallado.

Para entender un poco como funciona esto de la información de paridad lo podemos explicar como una suma en el que los discos de datos serian los sumandos y el disco de paridad el resultado. En el momento en el que fallan los datos de un disco de datos conociendo el resultado y los otros sumandos es una ecuación sencilla recomponer el dato que falta

En el supuesto caso de que nos fallen 2 discos de datos ya no se va a poder recuperar la información. Para formar un RAID 5 logicamente se necesitan como mínimo 3 discos.

Los datos A o B se distribuyen entre los discos excepto en uno que aloja la información de paridad




RAID 01

Vamos con los RAID que son combinaciones de los anteriores más sencillos. El primero es el RAID 01 (0 +1)  .  En este tipo de RAID los datos se distribuyen en un grupo de discos formando un RAID 0 y este conjunto es espejado mediante un RAID 1 en estructuras idénticas.

Con este tipo de RAID tenemos la velocidad del RAID 0 pero con un poco más de seguridad porque si nos falla el primer RAID 0 con el que trabajaremos podremos continuar exactamente en el mismo punto en uno de los otros que son un espejo del primero.
El problema se produce en el supuesto de que nos fallase un disco de cada RAID 0.

En la imagen el dato se distribuye en el primer RAID y esta estructura es espejada en el segundo



RAID 10

El RAID 10 (1+0) es justo al reves que un RAID 01. En este caso tenemos que los datos se distribuyen entre discos de diferentes RAID donde a su vez serán espejados formando un RAID 1.  De esta manera tenemos la seguridad de un RAID 1 con la velocidad de un RAID 0. Es por lo tanto un tipo de RAID de los más utilizados.

Respecto a un RAID 01 la seguridad es mucho mayor porque en este caso si nos falla un disco en cada uno de los RAID inferiores entrarían en juego los discos que hacen de espejo por lo que el sistema continuaría funcionando perfectamente al contrario que en el caso anterior.

El dato A se distribuye por un disco de cada RAID y a su vez ese mismo disco es espejado dentro de cada RAID 




RAID 50

Un RAID 50 (0+5) es aquel en el que los datos se distribuyen entre varias estructuras de RAID 5. Sobre un RAID 10 sería más rapido  y casi igual de seguro dependiendo del número de discos utilizados que en este caso como mínimo deberían ser 6.

El dato A se distribuye entre cada RAID 5 donde a su vez se utiliza un disco para la información de la paridad