VCAP – Sección 1 – Determinar el nivel de RAID para nuestras aplicaciones.

Que tal gente, hoy vamos a hablar sobre los distintos tipos de RAID e identificar los tipos de aplicaciones y sus requerimientos.

Comencemos por definir la palabra RAID (Redundant Array of Independent Disks), cuando hablamos sobre almacenamiento generalmente estamos hablando de arreglos de discos, también podríamos estar hablando de almacenamiento local. Todas las empresas de almacenamiento NetApp, EMC, Hitachi , etc.,nos ofrecen arreglos de discos de nivel enterprise, con capacidades de rendimiento, seguridad de datos y funcionalidades muy avanzadas. Pero todos estos proveedores se basan en el principio básico de RAID, que es la creación de grupos lógicos de discos para poder aumentar la seguridad de nuestros datos, tolerancia a fallos o el rendimiento y con esto el sistema operativo (Windows, linux, UNIX, VMware ESX, etc) ven este grupo de discos como un solo disco donde se puede almacenar datos.

Es momento de conocer que tipos de arreglos son los más comunes con los cuales estaremos trabajando en

  • RAID 0 – (Stripe) este tipo de arreglo básicamente distribuye los datos entre los discos que conforman esta entidad lógica, aquí el problema que tenemos es la falta de un cálculo de paridad y por lo tanto cero tolerancia a fallos. Con este tipo de RAID obtenemos mejor rendimiento.

  • RAID 1 – también conocido como espejo, este tipo de RAID crea una copia exacta entre un numero de discos, ej. si tenemos 2 discos cada uno tendría la misma información ya que una vez que se está por escribir la información esta es escrita en ambos discos. Con este tipo de RAID obtenemos mejor tolerancia a fallos sacrificando rendimiento.

  • RAID 5 – Con este tipo de RAID obtenemos tolerancia a fallos y un mejor rendimiento, se hace el cálculo de la paridad y se escribe alternativamente entre los discos que conforman el arreglo de igual manera toda la información que se necesite escribir a disco es escrita de manera alternativa entre los discos. Con esto tenemos la capacidad de perder un disco del arreglo, en el momento que se pierde se reconstruye la información perdida a partir de la paridad. Aquí necesitamos como mínimo 3 discos, este tipo de arreglo es uno de los más comunes y de los mas adoptados debido a su buen rendimiento y tolerancia a fallos.

  • RAID 1+0 – Este tipo de RAID es una combinación tanto de RAID 1 y RAID 0, como podrán imaginarse aquí hacemos una combinación tanto de la tolerancia de fallos que nos ofrece el arreglo 1 con el rendimiento que nos ofrece el arreglo 0. Este arreglo también conocido como RAID 10 es el más rápido y ofrece buena seguridad de datos, el problema es la cantidad de discos y por lo tanto la cantidad de $$ que requerimos para implementarlo, como mínimo requerimos 4 discos y solo pudiendo utilizar 2.

Nota: Cabe destacar que existen un gran número de niveles de RAID que aquí no describí, muchos de carácter propietarios como podría ser RAID-DP de Netapp. Al final de este post les dejo referencia a documentos y páginas web donde podrán leer más sobre el tema.

Una vez que refrescamos o conocimos sobre el concepto de RAID es necesario también conocer y definir los puntos claves para poder hacer un correcto dimensionamiento de nuestro almacenamiento para alojar nuestra infraestructura VMware. Me gustaría por definir algunos conceptos que estaremos manejando:

  • IOPS (I/O por segundo): Este concepto define el número de operaciones a disco (Lectura/Escritura) que se tienen por segundo, aquí podemos ver el numero de IOPS que una aplicación en especifico está requiriendo para tener un correcto funcionamiento o el numero general de IOPS que un servidor está requiriendo.
  • MBps (MB por segundo): Con este concepto básicamente estamos haciendo referencia a la capacidad del almacenamiento para responder a las peticiones de I/O, puede ser visto como el ancho de banda de nuestro almacenamiento.

¿Que puntos son necesarios determinar sobre nuestras aplicaciones para poder tener un correcto dimensionamiento de nuestro almacenamiento?

  1. Determinar el número de operaciones a disco por segundo – IOPS
  2. Determinar el ancho de banda requerido en nuestro almacenamiento – MBps
  3. La capacidad de almacenamiento requerida – GB/TB
  4. El nivel de redundancia requerido en nuestros volúmenes.
  5. Tiempo de respuesta requerido por nuestras aplicaciones – Latencia en ms

Yo creo que en este punto nos estaremos preguntando como es que podemos obtener toda esta información, existen distintas maneras de para obtenerlo:

  • Windows Perfmon (solo equipos Windows).
  • VMware Capacity Planner.
  • Herramientas de terceros, ej. Platespin PowerRecon.
  • Requerimientos de las aplicaciones dictados por los desarrolladores de las mismas.

Una parte esencial que tenemos que tener en cuenta  en la planeación de toda la arquitectura de nuestro almacenamiento es el definir prioridades por aplicación, para esto es necesario crear grupos RAID basados en los siguientes criterios:

  • Performance requerido I/O
  • Capacidad
  • Redundancia

con esto podemos tener distintos grupos RAID según el nivel de criticidad de nuestras aplicaciones.

Aquí les dejo algunos links con información sobre estos temas:

http://www.virtualizationtrainings.com/vmware-basic-trainings/vmware-advanced-study/disk-io-considerations-for-new-virtual-machine-placement

http://technet.microsoft.com/en-us/library/cc786889%28WS.10%29.aspx

http://www.netapp.com/library/tr/3298.pdf

 

3 comments on “VCAP – Sección 1 – Determinar el nivel de RAID para nuestras aplicaciones.

  1. sabiondos September 4, 2012 3:25 pm

    La ultima vez que use una estructura asi, tenia un raid 0. El mismo me fallo fisicamente en uno de los discos…. Que hice? Pues lo lleve a una empresa de recuperaciones y despues de tener que realizar la dolorosa pena de pagar por el servicio, recupere mis archivos.

    Desde ese dia, cambie a un sistema mas seguro: la nube.

    SAludos.

Leave a Reply