RAID

Un sistema RAID (Redundant Array of Inexpensive Disks) de discos duros se utiliza con varias unidades que trabajan en conjunto como un único volumen (es decir tendremos varias unidades físicas pero solo veremos una única unidad en nuestro sistema operativo).

El RAID de varios discos duros tiene varias finalidades dependiendo del tipo de RAID que se decida montar. A continuación se explicaran algunos de ellos.

1.- RAID 5

Este nivel es que ha alcanzado mucha popularidad ya que es uno de los mas eficaces. Se utiliza en sistemas de almacenamiento con 3 o más discos duros. RAID 5 utiliza la paridad de un bloque de datos para poder recuperar información en caso de fallar uno de los discos. Este sistema permite la falla de un disco, en caso de haber mas de uno todo el arreglo será perdido.

raid5

COMO FUNCIONA?

Para entender como funciona la recuperación se mostrará 2 ejemplos con una configuración de 3 y otra de 5 discos. Para ello tendremos una data inicial que será distribuida entre los discos como se muestra a continuación.

data

La tabla anterior representa el disco virtual resultado del RAID 5, y cada cuadro representa los bloques de información que serán distribuidos. Para el caso de una configuración de 3 discos será de la siguiente forma:

3disk

Los cuadros de color celeste representan los bloques de paridad, que son obtenidos haciendo uso de “la paridad par” o de otra forma también se podría entender usando la función XOR. Así de esta forma para el primer bloque “10101010” sera dividido en 1010|1010:

1|1 -> 0

0|0 -> 0

1|1 -> 0

0|0 -> 0

Así obtenemos el tercer cuadro con “0000” ( haciendo uso de la paridad PAR ), de la misma forma se obtienen los demás bloques. En caso de dañarse alguno de los discos el bloque necesitado será calculado con ayuda del bloque de paridad calculándose de la misma forma como si se tratara de construir el bloque de paridad. Por ejemplo si perdemos el disco 2 entonces el bloque perdido se calcularía como sigue:

Tendríamos los bloques 1010|X|0000 luego calculamos el bloque perdido bit a bit con:

1|0 -> 1

0|0 -> 0

1|0 -> 1

0|0 -> 0

Obteniéndose el bloque perdido X = “1010”. Para entender mejor se hará otro ejemplo usando una configuración de 5 discos como sigue:

5disk

Como se hizo anteriormente el bloque de información “10101010” será dividido en 10|10|10|10 y el ultimo cuadro celeste se calcula  bit por bit con los datos anteriores como sigue:

1|1|1|1 -> 0

0|0|0|0 -> 0

De este modo obtenemos el ultimo bloque de paridad “00”,  para el segundo bloque de información “01101111” seria dividido en 01|10|11|11 y el bloque de paridad se calcularía bit a bit como sigue:

0|1|1|1 -> 1

1|0|1|1 -> 1

Obteniendo así el bloque “11”, de igual forma se calcula para los demás bloques de información. En caso de dañarse alguno de los discos se calcularía el bloque faltante con ayuda del bloque de paridad como se hizo anteriormente. Por ejemplo perdemos el disco 3. Tendríamos 10|10|X|10|00, luego calcularíamos el bloque X  bit a bit:

1|1|1|0 -> 1

0|0|0|0 -> 0

Así obtenemos el bloque perdido X = “10”.

Podemos observar que el RAID 5 distribuye los bloques de paridad en los discos de tal forma que en caso de dañarse un disco el CPU tendría que trabajar menos que si todos los bloques de paridad estuviesen en un solo disco, pues tendría que calcular el bloque perdido todo el tiempo ( a menos que se hubiese dañado el disco dedicado a la paridad).

2.- RAID 10

RAID 10 combina la protección de RAID 1 con el rendimiento de RAID 0 de ahi el nombre de “10”, haciendo uso de 4 discos como un ejemplo RAID 10 crea 2 bloques RAID 1, y después los combina en un RAID 0. Tal configuración ofrece una proteccion excepcional. A menudo es una buena opcion para bases de datos de altas prestaciones debido a que la ausencia de calculosde paridad (como en el caso de RAID 5) proporciona mayor velocidad de escritura.

raid10

A modo de ejemplo se usará 4 discos y teniendo el siguiente bloque de datos que representan nuestro disco virtual.

data

El RAID 10 lo distribuiría en 4 discos como sigue:

radi10

En caso de fallar alguno de los discos, ejemplo el disco 1, RAID 10 permitirá seguir funcionando haciendo uso de los datos del disco 2, al momento de remplazar el disco dañado se procederá a copiar los datos del disco “MIRROR“.

3.- RAID HARDWARE Y RAID SOFTWARE

Existen dos opciones de usar RAID uno de ellos hardware RAID o sotfware RAID.

RAID POR HARDWARE

Un sistema basado en hardware gestiona el subsistema independiente de la maquina y presenta a la maquina un único disco por conjunto de discos RAID.

Este lo encontramos en servidores y cabinas de altas prestaciones, son sistemas montados gracias a controladoras o tarjetas dedicadas a gestionar el RAID por si mismas, con sus propios procesadores y memoria lo que alivia trabajo de CPU para el sistema que hace de servidor de datos. Un RAID por hardware lo podemos encontrar para discos SATA, SAS o SCSI.

Por lógica este sistema de implementación es el mas fiable, más rápido y por lo tanto notablemente más caro. En los modos de trabajo de RAID 0,1 y 10 este tipo de RAID  no aporta grandes ventajas frente a otros sistemas ya que las tarjetas no realizan grandes tareas de offload para el sistema.

VENTAJAS:

  • El SO ni el procesador gastaran recursos atendiendo al RAID, la tarjeta es la que atiende y hace todas las operaciones a los discos.
  • Es sumamente rápido, ya que no gasta recursos del procesador.
  • Es fácil de configurar.
  • En caso de falla de un disco, es solo cambiar el disco dañado pues la tarjeta hace todo el proceso de réplica.

DESVENTAJAS:

  • Muy caro.

RAID POR SOFTWARE

Es el propio sistema operativo quien crea, monta y gestiona todo el RAID  sobre una serie de discos físicos. Es el propio sistema operativo quien marca las particiones a usar del RAID para luego crear el dispositivo virtual y permitir el trabajar con éste espacio.

El inconveniente de este sistema es la dedicación de recursos del servidor para toda tarea relacionada con el RAID, pero en cambio goza de la ventaja de ser un sistema fiable, casi tanto como un RAID por hardware. A diferencia del RAID  por hardware nos encontramos que es mucho mas fácil llevarnos los discos con RAID a otros servidores puesto que que solo requiere que tengan en común el sistema operativo o al menos que sea compatible.

VENTAJAS:

  • Barato, puesto que se necesitará solamente los discos.
  • De usarlo en un servidor con poco IO, entonces es el ideal.

DESVENTAJAS:

  • Consumirá recursos del procesador del servidor.
  • Necesitará particionar y unir las particiones en pedazos de raid(llamados md)
  • En caso de fallar un disco, se tendrá que reparticionar el disco dañado en los pedazos adecuados y volver a unir cada uno de los md.

REFERENCIAS:

Paridad par, impar

Video about RAID 5.

RAID Modes SEAGATE

Manual de administracion del sistema

About Hardware RAID and Software RAID.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s