lunes, 22 de octubre de 2012

Implementación de RAID - DP en NetApp


....
NetApp por defecto utiliza un nivel de raid denominado RAID-DP para garantizar la protección de datos y tolerancia de fallos, a continuación explicaremos como trabaja este nivel de RAID propietario de NetApp ,también hemos de comentar que además de RAID-DP NetApp ofrece un segundo nivel de RAID como es RAID4, en este artículo también haremos mención a este nivel de RAID.
RAID-DP, como se ha mencionado, es propietario de NetApp, se implementó a partir de la versión de  6.5 de DataOntap , este nivel de RAID aumenta la tolerancia de fallos permitiendo el fallo de dos unidades de discos dentro de un raidgroup, explicaremos en detalle cómo trabaja RAID DP, el método de recuperación ante fallo de discos.

¿Por qué implementar RAID DP?, la respuesta radica en el hecho de mejorar la tolerancia a fallos, debido también al creciente aumento de capacidad que han venido experimentando las unidades de discos, el aumento de errores en discos grandes, y por supuesto mejorar la fiabilidad.
El concepto de RAID que utilizan paridad a pesar de todos los niveles existentes y  de diferentes fabricantes es el mismo, es decir, un raid te permite que ante el fallo de una unidad de disco simplemente se recrean los datos de paridad y los discos restantes en la matriz o volumen de un disco de repuesto “spare”.

RAID-DP es una evolución de RAID4 que almacena los datos en filas horizontales, calculando la paridad para los datos de la fila, una vez calculada almacena esta paridad en un disco llamado de paridad dentro de un raidgroup, por tanto a nivel de Raid group RAID-DP añade un segundo disco de paridad , con lo cual, mientras un disco de paridad de un volumen con RAID4 almacena los datos de los discos en fila RAID-DP además de los discos en fila almacena en su otro disco de paridad los datos de los discos en diagonal, con lo cual combina la protección horizontal tradicional (RAID4) y la protección diagonal lo que permite tener tolerancia de fallos de hasta dos discos, esto indica que RAID4 se incluye dentro del funcionamiento de RAID DP.

Para entender mejor estos conceptos les detallo un ejemplo.








En el diagrama se observa un RAID4 tradicional que utiliza la paridad de fila con 4 discos de datos, las filas representan los bloques estándar de 4 KB que emplea RAID4, en este ejemplo la paridad se calcula sumando los valores de cada uno de los bloques horizontales obteniendo el valor de paridad (3 + 1 + 2 + 3 = 9 ).  Por tanto, si fallase un disco, el proceso que se utiliza simplemente se invierte , por ejemplo si el primer disco fallase RAID4 tiene que recrear el valor de datos en ese caso 3 , el cálculo sería (9 - 3 - 2 – 1 = 3), se recrearía a partir de un disco de “spare”.
Ahora bien en el caso de RAID-DP como se ha mencionado añadimos un disco para DP (Doble paridad) tal y como indica la figura.
En el caso de RAID-DP la suma diagonal se almacena en el segundo disco de paridad (1 + 2 + 2 + 7 = 12). Debemos tomar en cuenta que el cálculo de la paridad diagonal incluye un elemento de la paridad de fila como parte de la suma de paridad diagonal.
En la figura se puede ver mejor este concepto.
Ahora explicaremos el proceso de reconstrucción en RAID DP, así pues simulamos el fallo de dos discos
Cuando se activa la reconstrucción del disco en primer lugar RAID-DP busca la cadena en el que se inicia
la reconstrucción . En este caso la primera franja de paridad diagonal es la diagonal azul, con 4 cuatro de los
Cinco elementos disponibles RAID-DP es capaz de realizar la reconstrucción. Los datos han sido recreados utilizando
El siguiente cálculo (12 - 7 - 2 – 2 = 1).
Continuando con la reconstrucción RAID-DP (paridad de fila) en la misma cadena para determinar otras reconstrucciones, ya que ha
reconstruido el primer elemento del segundo disco.
Veamos por tanto las siguientes reconstrucción de la misma manera que la primera .
Quedando finalmente la reconstrucción y recuperación total del raidgroup
Con este ejemplo hemos intentado explicar el funcionamiento de RAID-DP cuando se produce el fallo de dos discos dentro del raidgroup, cabe indicar que la rapidez de la reconstrucción dependerá de la cantidad de discos que forman el raidgroup y también del tamaño y tecnología de los discos.
En cuanto a rendimiento de RAID-DP éste puede ser 2% o 3% solamente más lento que RAID4 este aumento se produce porque necesita escribir en un disco adicional que es el segundo de paridad, en cuanto a CPU no hay ninguna diferencia de rendimiento.
Por último, comentar que para hacer un RAID-DP se necesitan por lo menos 3 discos ( 1 de Datos y 2 de paridad) , y que es posible de una manera sencilla sin disrupción de servicio pasar de RAID4 a RAID-DP más no es posible el proceso contrario.
Espero que este artículo haya sido de utilidad sobre todo para entender cómo trabaja RAID-DP dentro de la arquitectura de NetApp.
Hasta pronto



3 comentarios:

  1. No conozco esa configuracion. La que si use y deje de hacerlo debido a una falla fisica en uno de los discos, y que me dejo sin acceso al raid, fue un raid 0. Termine llendo a Onretrieval, un laboratorio de recuperacion de datos, para rescatar la data.

    Al final, estoy usando un raid 5. Mas seguro.

    Saludos.

    ResponderEliminar
  2. Hola Palillo, RAID DP (doble paridad) es un tipo de RAID propietario de NetApp, se podría decir que es similar a RAID 5 y ofrece tolerancia a fallos de hasta dos discos, se pueden formar hasta RAIDs (raidgroups en NetApp), de hasta 28 discos en SAS Si uno de los discos del RAID tuviera fallo, DataOntap que es el sistema operativo de las cabinas de NetApp, escoge un disco de "spare" para reconstruir el RAID en background. La desventaja puede ser que se "pierden" dos discos ya que los
    de paridad no contienen datos, sino la información necesaria para la reconstrucción del RAID.

    Gracias por comentar.

    Un saludo


    ResponderEliminar
  3. Gracias por la información.
    Estamos iniciando en auto-capacitarnos en NetApp y la información brindada es muy util.

    Saludos Cordiales
    Pedro

    ResponderEliminar