vSphere 6 – ¿Que hay de nuevo en VSAN? – Parte 1

Que tal gente, el día de hoy vamos a comenzar con los articulos de lo nuevo que viene con vSphere 6, en este caso estaremos platicando sobre VSAN. Como todos sabemos VSAN fue liberado en vSphere 5.5 en su versión 1.0, en este caso tenemos el segundo release con algunas funcionalidades bastante interesantes, en estos artículos cubriré:

  • Fault Domains
  • All Flash VSAN
  • Mejoras en rendimiento, nuevo sistema de archivos
  • Otras mejoras o cambios
  • Consideraciones de diseño

¿Que son los Fault Domains?

Como sabemos VSAN es un tipo de almacenamiento basado en objetos, estos objetos están compuestos por distintos componentes que a su vez se encuentran distribuidos según la política definida (FTT, Failures to tolerate) para poder cumplir con el nivel de disponibilidad o tolerancia a “falla” de componentes que se desea, si quieren saber mas aquí les dejo unos artículos incluyendo mi articulo pasado donde hablo precisamente sobre los objetos y componentes en VSAN:

¿Porque 100 VMs x host en Horizon View & VSAN?

VSAN Part 4 – Understanding Objects and Components

En la versión anterior de VSAN un “Fault Domain” estaba constituido generalmente por un host ESXi (aunque existe una excepción) donde al tener fallas a nivel del nodo o del disk group se tenia el como degradado y sin capacidad de entregar almacenamiento al cluster. Vamos a entender cuales son los escenarios de falla:

Screen Shot 2015-02-15 at 9.58.34 PM

  • Falla de disco mecánico (HDD) – En este caso si el grupo de discos esta constituido por mas de 1 HDD la falla solo puede desencadenar que ciertos componentes tuvieran que ser sincronizados y creados en otros disk groups/ nodos del cluster. Al suceder esto solo se pierde la capacidad de almacenamiento que provee este disco dejando a los componentes que residían en el como “degraded” pero las VMs que tenían algún componente en dicho disco continúan trabajando sin problemas y el cluster se encarga de recrear los componentes fallidos.

Screen Shot 2015-02-15 at 10.21.42 PM

  • Falla de disco de estado solido/flash (SSD) – En el caso de tener una falla en el disco duro de estado solido el impacto es mucho mayor, si no se tiene mas de un disk group en el host ESXi en cuestión esta falla  llevará al disk group a ser marcado como degradado y por ende el host quedará fuera de operación en términos de VSAN (proveer espacio al cluster). Todo tipo de flash entra en este escenario incluso las tarjetas PCIe. En este caso podemos notar que el dominio de falla o “fault domain” es el disco SSD (considerando también el host como el dominio de falla debido a que solo se tiene un disk group).

Screen Shot 2015-02-15 at 10.36.17 PM

  • Falla de un disk group – En el caso que tengamos mas de un disk group por host ESXi el dominio de falla o “fault domain” se reduce al disk group, es decir, si falla un disco de SSD el disk group que contiene dicho SSD queda como degradado pero el funcionamiento del host ESXi continua, simplemente los componentes de los objetos que vivían en los HDDs deberán de ser re sincronizados a otros disk groups en el cluster.

Screen Shot 2015-02-15 at 11.17.56 PM

  • Falla a nivel de Red – Este caso es un poco diferente a los escenarios pasados, en este caso el failure domain seguiría siendo el disk group o el host, aquí básicamente nos referimos a fallas en la tarjeta de red en los hosts ESXi, switches donde sucede la comunicación entre los nodos de VSAN. Aquí pueden suceder varios sub escenarios, donde se creen particiones de red y la distribución de componentes incluyendo el “witness” definirá que partición (y el conjunto de hosts ESXi que viven en ella) de red será la que proveerá acceso a los objetos la cual deberá de tener 50% o mas de los componentes.

Una vez entendidos los escenarios de falla que tenemos en VSAN es momento de hablar de el nuevo concepto o construcción lógica que se agrego en esta nueva versión “failure domains”.

  • Failure Domains – Con la versión de vSphere 6.0 se le agrega a VSAN el concepto de Failure Domains, vamos a revisar la siguiente imagen considerando que tuviéramos VSAN y vSphere 5.5 sin failure domains. Aquí podemos ver un cluster de VSAN donde en cada uno de los Racks (3 racks) tenemos ubicados dos nodos ESXi, vamos a suponer que cada uno de estos hosts solo tiene un Disk group, por lo que el dominio de falla es un host ESXi y que estamos usando un FTT de 1, por lo que tendríamos 2 copias del objeto y un “witness”:Screen Shot 2015-02-16 at 12.26.53 AM
    En este caso si el rack 1 falla, perderíamos acceso a la máquina virtual debido a que no tenemos mas del 50% de componentes, lamentablemente en la versión pasada de VSAN no podíamos determinar donde estarían siendo ubicados estos componentes o “copias” del objeto, por lo que la única manera que teníamos para poder asegurarnos que se soportara la falla de un rack completo como lo tenemos en ese ejemplo era la de configurar FTT=2, con esto la distribución de objetos se vería mas o menos así:
    Screen Shot 2015-02-16 at 12.34.08 AMClaramente estaríamos cumpliendo con el objetivo de proveer acceso a la máquina virtual pero lamentablemente estaríamos utilizando mas espacio en disco para este motivo por lo cual tenía un impacto claro en el dimensionamiento y diseño de nuestro ambiente de VSAN. Con Failure Domains nosotros podemos definir grupos de hosts que pertenezcan a un “failure domain” que no es mas que una agrupación lógica que le dicta a VSAN el como distribuir los componentes o copias de los objetos en cuestión por lo que no se puede tener mas de un componente o copia de un objeto residiendo en un solo failure domain. Tomando como base la misma imagen, si nosotros deseáramos tener disponibilidad de la máquina virtual aún cuando un rack completo quedara sin operación se debería de ver así:
    Screen Shot 2015-02-16 at 12.44.10 AMComo pueden ver en este caso definimos un FTT=1 y con eso basta para que VSAN detecte que hosts pertenecen a un mismo failure domain y en base a esto no colocar mas de un componente en un failure domain. Desde el vSphere Web client nosotros configuramos los failure domains de manera bien sencilla.

    failuredomainhispavirtClaramente en este caso podemos ver que solo tengo 3 nodos como parte de mi cluster de VSAN, por lo que al crear los failure domains quedan de un solo host y pues no tiene mucho sentido, pero de cualquier manera podemos utilizar nuestra imaginación y plantearnos 2 hosts por failure domain 😀
    Screen Shot 2015-02-16 at 12.52.53 AM
    Como pueden ver esta nueva construcción lógica nos ayuda bastante a mitigar problemas de disponibilidad y además nos ayuda a simplificar el diseño de nuestra infraestructura de VSAN. Los failure domains nos ayudan a poder mitigar fallas en:

    1. Energía
    2. Racks
    3. Switches
    4. Disk groups

    La configuración de los failure domains puede ser realizada desde la consola web como ya lo mostre pero también de línea de comando y a través de Host profiles, la configuración a través de línea de comando es muy sencilla, les dejo un ejemplo de como utilizamos ESXCLI para obtener el Fault domain, configurar un fault domain o resetear (eliminar el fault domain) a nivel de un host ESXi:

    Screen Shot 2015-02-16 at 1.03.11 AM

 

Leave a Reply