VMware adquiere Virsto… ¿Que es Virsto?

Que tal gente, el día de hoy les voy a hablar sobre una adquisición reciente que VMware realizó, Virsto. Vamos a conocer que es Virsto, como funciona y en que nos puede ayudar.

Como todos sabemos el mundo del datacenter se esta convirtiendo a un ambiente controlado en su mayoría por software, debido a esto VMware ha desarrollado y adquirido distintas tecnologías para controlar aspectos en específico como pueden ser el networking con Nicira, el auto aprovisionamiento y automatización con distintos productos como vCloud Director, vCO, vCAC (Antes Dynamic Ops) pero un punto débil que teníamos era el almacenamiento, en este caso Virsto ha llegado a cubrir distintos aspectos para la mejora de el uso de nuestro almacenamiento en un ambiente de Cloud.

¿Que es Virsto?

Debemos de comprender que Virsto es 100% software, es decir, a diferencia de otras soluciones en el mercado Virsto no requiere de appliances físicos para poder acelerar el rendimiento del storage y podernos ofrecer todas las capacidades. Virsto puede trabajar en cualquier almacenamiento existe basado en bloque, por lo que si contamos con almacenamiento centralizado no debemos sustituirlo por algo diferente sino que lo utilizamos con Virsto.

Virsto es un hipervisor de software, para darnos mejor idea de como esta constituido echemos un vistazo a la siguiente imagen donde se nos muestra el flujo de operaciones a disco una vez presente Virsto:

Virsto-dataflow

Básicamente virsto se encarga de manejar todas las operaciones de I/O, a través de un tipo de disco que este maneja llamado vDisk mediante el cual se pueden interceptar todas las escrituras  que esta teniendo una máquina virtual a disco y estas son organizadas y secuencializadas para despúes ser enviadas a disco (vSpace). Esto se logra a través de un log de operaciones, en el momento que las escrituras son recibidas y enviadas al vLog son organizadas para permitir que el envio de estas sean en “chunks” o bloques secuenciales, en lugar de tener actividad al azar en lo que I/O se refiere. Las VMs no presentan ningún impacto en el como deben de escribir a disco debido a que una vez que las operaciones son recibidas en el log se envía una confirmación de que estas operaciones fueron escritas a disco (aunque todavía continúen en el vLog para re organizarlas y secuenciarlas).

 

Arquitectura

Como comentamos anteriormente Virsto es 100% Software, esta solución esta constituida por los siguientes componentes:

  • vMaster – En esta vm tendremos los servicios de Virsto, se trata de una vm Windows 2008 R2 SP1 (que tendremos que crear con anticipación) en esta también se almacenan los archivos para poder crear las VMs de vIOServices (OVF C:\Program Files\Virsto\OVFs) en el proceso de instalación apuntamos a nuestro vCenter Server donde se registrará un plugin de virsto y a través del cual estaremos administrando. Se requiere una sola vMaster por Datacenter Virtual en vCenter.

VIRSTSERV

  • Virsto Plugin – En el momento de la instalación de Virsto en nuestra vMaster tenemos que especificar la instancia de vCenter donde estaremos instalando este plugin, lo cual creará una entrada en el MOB de vCenter (importante notar que se tendrá una entrada en el MOB por cada vMaster que se registre que básicamente es igual a la cantidad de datacenters virtuales). Una vez instalado se creará una nueva pestaña en vCenter a través de la cual podremos entregar los appliances virtuales de vIOServices, monitorear el espacio vSpace, licenciamiento, snapshots, etc.

Virstotab

  • Virsto Namespace – se trata de un appliance virtual que es creada en el momento de realizar la entrega de los vIOServices al cluster, esta vm es un Linux (Ubuntu) con 1GB de Ram y un vCPU. Básicamente es un servidor NFS que estará presentando el espacio de vSpace  y este será montado por las appliances virtuales de vIOService  a través de red.

Appliancesvirtualesvirsto

  • Virsto vIOService – Este tipo de vm también es entregado en el momento de la configuración de los vIOServices a nivel del cluster. Se encargará de mapear RDMs para el espacio de vLog y también montará el export que esta presentando el appliance virtual de Namespace a través de red y este lo presentará a su host a través de un puerto de vmkernel privado que es creado como parte del proceso de la configuración de los vIOServices. Esta vm monitorea todas las operaciones de lectura y escritura a nivel de vDisk para que después sean redireccionadas al vSpace. Se tendrá un appliance virtual de vIOService por cada host ESXi que estará participando en el cluster de Virsto.

vSwitchinterno-virsto

  • vDisk – es un archivo que puede presentarse en distintos formatos, VMDK, VHD, etc. Básicamente es una abstracción del realizada por el Hipervisor de almacenamiento, Virsto. Lo interesante es que permite a los vIOServices interceptar las operaciones y poderlas enviar al vLog. vSphere lo verá como un VMDK tradicional, por lo que cualquier solución de respaldo o monitoreo que sea compatible con VMDKs continuará funcionando.

Una vez entregados los servicios de Virsto al cluster tendremos un export de NFS presentado y montado en todos nuestros hosts ESXi (a través de su propio vIOServices), y podremos monitorear el espacio a través de el tab de configuration > Storage  de vSphere o a través de la pestaña de Virsto:

tab-virsto-storage

Es importante notar que ya que se trata de NFS todos los discos (vDisk) serán entregados en thin provisioning, lo interesante es que no tenemos la penalidad que presentan los discos en thin provision tradicionales de vSphere (penalidad que es muy baja pero impacta a aplicaciones altamente transaccionales).

Integración con vSphere

Una vez instalado el plugin de Virsto en nuestro vCenter, tendremos además de la pestaña de Virsto, menus y wizards para crear clones, vSnaps, etc. En la imagen lo podemos ver:

virstomenu

En este momento Virsto no utiliza VAAI para acelerar operaciones que podrían beneficiarse pero esta en el roadmap de funcionalidades.

Snapshots y clones con Virsto

Los clones y snaphots a nivel de Virsto estan pensados para ser escalables ya que sabemos que a mayor cantidad de snapshots y clones (ej. linked clones) el rendimiento es menor. Virsto nos ofrece la capacidad de crear snaps y clones en thin provision y sin impacto al rendimiento.

MAP-virsto

Virsto crea un mapa donde se tiene la relación entre bloques virtuales y bloques físicos de disco que reside en el vLog y debido a este mapa podemos tener clones y snaps mucho mas eficientes. En el caso del snapshot (vSnap) solo se trata de un marcador en este “Mapa” con un tamaño de 4kb que no impacta y este definirá que esta en el snapshot y que bloques estan antes del snapshot.

virsto-snap

En el caso de los Clones (vClone) se crea una copia con permisos de lectura y escritura de la vm maestra o referencia, pero al igual que los vSnaps solo va a consumir 4kb ya que se trata de apuntadores (muy parecido a composer de VMware View) y a diferencia de un clon completo este no impacta al rendimiento del storage. Es importante saber que los vClones no degradan su rendimiento conforme el tiempo pasa, mantienen el mismo rendimiento que el disco original (no se tienen las penalidades que presentamos en composer).

vclonesvirsto

¿Que beneficios obtengo con Virsto?

Fuera de temas de marketing les puedo decir que virsto nos puede llegar a ofrecer el doble de IOPs que presentamos en nuestro storage actual, esto se los puedo decir porque yo participé en un proyecto de Virsto aquí en México donde se vio este aumento en IOPs  en un storage existente. También contaremos con reducción del espacio utilizado por temas como el thin provisioning y como los snaps y clones son manejados a nivel de Virsto.

Podemos ver la reducción de impacto causado por los snapshots en la siguiente imagen (pruebas realizadas en ambientes reales) donde se muestra la comparación entre snaps nativos y vSnaps de Virsto:

elimiardegrada

De igual manera podemos ver en la siguiente tabla una comparativa entre discos nativos contra vDisk, la ganancia de IOPs es bastante alta (prueba realizada en una VM con MS SQL utilizando storage VNX de EMC):

tablamejora

 

Leave a Reply