miércoles, 25 de marzo de 2015

¿Qué es VMware VSAN?

Hace unos meses VMware realizó el lanzamiento de Virtual SAN, o simplemente VSAN, una solución de almacenamiento convergente, optimizado para ambientes virtuales, diseñada dentro del concepto de Software-defined Storage (SDS).  En este post explicaremos que es VSAN exactamente, como funciona, y sus casos de uso.

El Software Defined Storage es un componente base del Software Defined Datacenter, que permite abstraer los recursos de almacenamiento, ofreciendo funcionalidades de Pooling, replicacion y distribución on-demand.  El resultado es una capa de almacenamiento muy similar a la capa de computo virtualizada (flexible, eficiente y escalable).  Los beneficios son una reducción en el costo y la complejidad de la infraestructura de almacenamiento.  La definición de SDS y SDDC las hemos visto en un post anterior, asi que pasaremos directamente a hablar de VSAN.

Ahora, ¿qué es exactamente VSAN?

Bueno, VSAN es una solución de almacenamiento convergente, que abstrae los recursos de almacenamiento de los servidores (ESXi) que forman parte de una infraestructura virtual, utilizando los discos HDD y SDD de dichos servidores para crear una capa de almacenamiento resistente y de alta performance, en la capa del hypervisor.

Sus características son:

Storage Convergente con el Hypervisor:  VSAN esta integrado en el kernel de vSphere, lo que permite proveer de una mejor performance al tener una integración directa con el hypervisor.   Esta integración es un gran diferenciador respecto de otras soluciones, debido a que permite comprender las necesidades de las Máquinas Virtuales y las aplicaciones corriendo sobre vSphere, lo que permite optimizar la performance de la capa de almacenamiento, respecto a otras soluciones como Virtual Appliance o dispositivos externos (SAN / NAS).

Automatización y administración basa en políticas centradas en las MVs: A diferencia de una solución de almacenamiento tradicional, donde toda la gestión está centrada en arreglos de discos, volúmenes, etc., con VSAN los requerimientos de almacenamiento están asociados a MV o virtual disks individuales, de acuerdo a políticas definidas, permitiendo una gran granularidad en la administración del almacenamiento.

Utilizando SPBM (Storage Policy Based Management), los administradores pueden crear políticas de almacenamiento basadas en las necesidades de performance, disponibilidad y capacidad de cada aplicación o MV.  VSAN utiliza  estas políticas para proveer los recursos de almacenamiento, según los requerimientos definidas en estas.  Otra vez, se gana mucho en granularidad al administrar los recursos de almacenamiento, ofreciendo distintas caracteristicas de almacenamiento segun los requerimientos especificos de cada MV.

Cache de lectura/escritura en el Servidor:  VSAN minimiza la latencia en el almacenamiento acelerando el trafico de I/O para operaciones de lectura y escritura, utilizando discos SSD existentes en los servidores.  VSAN utiliza estos discos SSD como buffer de escritura y cache de lectura, permitiendo una gran mejora en la performance de las MVs.  Esto hace que VSAN se transforme en una solución muy interesantes para proyectos VDI, donde la performance del almacenamiento suele ser su talon de aquiles.

El caché de lectura mantiene una lista de los bloques de disco accedidos comúnmente para reducir la latencia de I/O de lectura.  El buffer de escritura es no-volatil y reduce la latencia de las operaciones de escritura.

Tolerancia a fallas: VSAN utiliza RAID distribuido y cache mirroring para asegurar que nunca se pierdan datos en caso de falla de disco, de servidor o de red.  Utilizando SPBM es posible maximizar la protección definiendo el nivel de disponibilidad a nivel de máquinas virtuales, pudiendo definir, por MV, cuantas fallas de host, network o disco puede tolerar en un cluster VSAN

Administración centralizada con vSphere utilizando el vSphere Web Client, lo que reduce las necesidades de entrenamiento y el costo en administración y operación.  De acuerdo a las pruebas que he podido realizar en laboratorio, VSAN es increiblemente sencillo de implementar y administrar, lo que permite centrar nuestro tiempo y atención en otras prioridades.

Crecimiento scale-up y scale-out: La capacidad de un datastore de VSAN puede ser fácilmente aumentada, sin interrupción de servicios, agregando discos a un host existente (scale-up), o agregando un nuevo host al cluster (scale-out).  A la vez la performance puede ser mejorada agregando más dispositivos flash a hosts nuevos o existentes, acelerando la performance de I/O sin interrumpir los servicios.

Independiente del hardware: VSAN es agnóstico respecto al hardware, pudiendo utilizar hardware de los principales fabricantes de servidores, mientras estos se encuentren en la HCL de VMware.
Interoperatibilidad con VMware:  VSAN esta completamente integrado con las características core de vSphere, como HA, DRS y vMotion.  También es compatible con Snapshots, Data Protection, vSphere Replication, SRM, vCloud Automation Center y Horizon.
Arquitectura

VSAN no debe confundirse con VSA (Virtual Storage Appliance), no es una evolución de dicho producto, sino una solución totalmente nueva desarrollada por VMware según el concepto de Software Defined Storage.  VSAN fue desarrollado dentro de la capa de virtualización, es decir dentro de ESXi, y permite utilizar los discos locales de cada host ESXi para proveer de almacenamiento compartido en un cluster.

Captura de pantalla 2014-05-26 a la(s) 12.15.49

Requisitos

Entre los requerimientos para cada host podemos mencionar que estos requieren de al menos 1 disco SSD (SAS / SATA / PCI Express SSD) y un disco HDD (SAS / SATA / NL-SAS) , pudiendo escalar en capacidad y performance en el tiempo, sumando discos o hosts adicionales como mencione previamente.  Se debe destacar también que en un cluster VSAN pueden haber hosts que solo consuman recursos del Datastore, sin proveer de recursos de almacenamiento adicional al cluster, es decir, sin proveer de discos al cluster.

Cada host que contribuya con almacenamiento al cluster VSAN requiere de una controladora de disco.  Esta controladora puede ser una HBA SAS o SATA, o una controladora RAID.  En caso de utilizar una controladora RAID, esta debe funcionar en uno de dos modos:

Pass-through mode: Tambien conocido como modo JBOD o HBA, es la configuración preferida para VSAN, ya que permite que sea VSAN quien gestione la configuración RAID basado en politicas de almacenamiento definidas.
RAID 0 mode

Un cluster VSAN debe tener un mínimo de 3 hosts ESXi que contribuyan con sus discos locales, y un máximo de 32 hosts.  El dimensionamiento de VSAN depende de los requerimientos particulares de cada cliente, tanto actuales como futuros, considerando también que es posible escalar fácilmente agregando nuevos hosts ESXi, o sumando discos a hosts existentes.

Se recomienda que la capacidad (tamaño) de los discos SSD sea al menos de un 10% de la capacidad de los discos HDD en el cluster para asegurar la performance.   Mientras mayor sea la capacidad de los discos SSD en un host, la cache puede soportar un mayor numero de operaciones de I/O, haciendo posible alcanzar mejores resultados en performance.

Se debe recordar que los discos SSD en un cluster VSAN serán utilizados como cache de lectura/escritura, y su capacidad no será incluida en el Datastore compartido.
Importante: La configuración minima de 3 hosts permite que el cluster VSAN cumpla con los requerimientos minimos de disponibilidad para tolerar la falla de un host, disco o red (solo 1 a la vez).

En lo que se refiere a requerimientos de networking, cada host debe contar con al menos un adaptador de red, con una capacidad de 1GbE o 10GbE, siendo esta ultima la recomendada.  Para asegurar redundancia, se recomienda un team de adaptadores de red por cada host.  Es posible utilizar vSphere Distributed Switch (VDS) o vSphere Standard Switch (VSS).

Esta interface es utilizada para la comunicacion entre los hosts de un cluster VSAN, asi como tambien para las operaciones de lectura y escritura cuando un host hospeda a una MV en particular, pero los bloques de datos de dicha MV estan almacenados en otro host del cluster.

Datastore unico

Como ya mencionamos antes, VSAN utiliza los discos locales (HDD y SDD) de cada host ESXi para proveer de almacenamiento compartido dentro de un cluster.  Cuando VSAN es habilitado, un único Datastore compartido es presentado a todos los hosts que son parte del cluster VSAN.  Cada host proveerá discos SSD para performance, y discos HDD para capacidad al datastore compartido.  Esto significa que a medida que el cluster crezca (sumando nuevos hosts o más discos a hosts existentes), el Datastore compartido crecerá en consecuencia.

RAID Distribuido

Normalmente, el concepto RAID (redundant array of independent disks) se refiere a la redundancia de discos dentro de un arreglo de Storage, o dentro de un servidor, para tolerar la falla de uno o más discos.

VSAN en cambio, utiliza el concepto de RAID distribuido, donde un cluster vSphere puede hacer frente a la falla de un host ESXi, o la falla de uno de sus componentes (discos HDD, discos SDD, NICs, etc.), y continuar ofreciendo recursos y funcionalidades a todas las MVs.  A diferencia de un arreglo RAID tradicional, VSAN define la disponibilidad por maquina virtual, a traves de las Storage Policies.

Utilizando las Storage Policies junto con la arquitectura de RAID distribuido, las MV y las copias de su contenido son distribuidas a traves de multiples hosts vSphere en el cluster.  En este caso, no es necesario migrar datos desde un nodo que haya fallado, a los restantes hosts del cluster ante una contingencia, ya que ya habrán copias disponibles de los datos almacenados en el host que ha fallado en los restantes hosts.

Replicas y Witnesses

Las replicas son copias de los bloques que componen una MV, y que se encuentran presentes cuando una politica de disponibilidad es especificada para dicha MV.  La politica de disponibilidad dicta cuantas replicas serán creadas, lo que permite que las máquinas virtuales puedan seguir corriendo cuando se presenta una falla de host, network o disco en un cluster.

Captura de pantalla 2014-05-26 a la(s) 17.58.46

Los Witnesses o testigos son componentes que contienen metadata, pero no datos, es decir, no es una replica.  Un witness actua cuando algo le sucede al cluster, y ayuda a decidir quien toma el control en caso de falla, esto ya que para que un objeto esté disponible en VSAN durante una falla, más del 50% de sus componentes deben estar accesibles.

En la imagen que vemos a la derecha, vemos un ejemplo de un cluster VSAN de 3 hosts (el tamaño minimo requerido).  En este ejemplo, solo es posible tolerar la falla de 1 host, disco o red.  Aqui vemos que los bloques de una MV se encuentran replicados en 2 hosts, contando con 2 copias de los datos, además del Witness, lo que permite tolerar la falla de 1 host, y que las MV sigan funcionando.

En el caso de un cluster más grande, si deseo que la configuración permita por ejemplo tolerar hasta 2 fallas simultaneas, cada bloque que compone una MV, contará con 3 copias, el bloque original y las 2 replicas adicionales.

Casos de uso

VSAN es recomendable para una a serie de casos de uso, por ejemplo:

VDI: Las soluciones de virtualización de escritorios suelen ser un dolor de cabeza a la hora de diseñar el almacenamiento.  El problema no es la capacidad de almacenamiento, sino  la performance del arreglo de Storage.  Arreglos SAN/NAS sin capacidad de uso de discos SSD, probablemente no puedan ser utilizados en una solución VDI, ya que sencillamente la performance no es suficiente sin comprar una tonelada de discos HDD que permitan alcanzar los IOPS requeridos.  En caso de contar con un arreglo de storage con capacidad para SSD, vemos usualmente que el precio se nos dispara cuando deseamos conseguir los IOPS requeridos a traves del uso de este tipo de discos.  VSAN y otras soluciones similares como Nutanix, permite contar con una solución adecuada para VDI, logrando la performance requerida a un costo menor, disminuyendo además la complejidad de la solución misma.

Ambientes de desarrollo y QA:  VSAN permite contar con una solución de almacenamiento de bajo costo para ambientes de desarrollo y QA que no justifican la adquisición de una infraestructura de almacenamiento más costosa.

Disaster Recovery: Al igual que el punto anterior, VSAN provee una solución de almacenamiento de bajo costo para implementar un segundo site para Disaster Recovery, por ejemplo utilizando vSphere Replication.

MV productivas T2 y T3: Si bien VSAN en el futuro podrá ser utilizado en aplicaciones criticas T1, en estos momentos se recomienda limitar su uso a MV con aplicaciones T2 y T3 de menor criticidad.

Gentileza de: http://patriciocerda.com/2014/05/que-es-vmware-vsan.html

No hay comentarios:

Publicar un comentario