La función de los drivers VAAI es acelerar una serie de operaciones en los almacenamientos de vSphere. Podemos habilitar VAAI en vSphere 7 con QNAP instalando un driver que nos proporcionan.

Las operaciones que se aceleran pasan a procesarse en el NAS internamente en vez de ser gestionadas por el propio hipervisor. De esta manera, cosas como clonar máquinas, asignar espacio cuando creamos una VM en modo thick, reclamar espacio, rellenado con ceros cuando hacemos un thick completo, se aceleran en cierta medida ( dependiendo de lo rápido que sea el NAS).

Las operaciones que se aceleran también dependen del protocolo que usemos. Para iSCSI por ejemplo aceperaremos operaciones de bloques principalmente, mientras que para NFS aceleramos operaciones con ficheros.

Podemos descargar el driver VAAI de esta página (te recomiendo que actualices la selección de NAS al que tu tienes, por si hay diferentes versiones disponibles. La sección de descargas que nos interesa es «Utility».

Una vez descargado, descomprimimos el zip y lo subimos a un datastore accesible por nuestros hosts.

Después, entramos por SSH a cada host y lo instalamos:

[root@vmw02:~] esxcli software vib install -v /QNAP_bootbank_QVAAI_NFS3_3.0-2.vib
Installation Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed: QNAP_bootbank_QVAAI_NFS3_3.0-2
VIBs Removed:
VIBs Skipped:

Reiniciamos y ya tendremos activada la aceleración de operaciones en nuestro almacenamiento NFS QNAP.

vaai nfs

Otra forma de verificar que hemos instalado correctamente el VAAI para QNAP es mediante este comando por SSH

[root@vmw02:~] esxcli software vib list |grep -i qnap
QVAAI_NFS3 3.0-2 QNAP VMwareAccepted 2021-02-26

¿En que nos beneficia el VAAI realmente?

VAAI nos proporciona beneficio cuando la velocidad que ofrecen los discos es mayor que el enlace de red que tenemos hasta el almacenamiento.

Si tenemos un almacenamiento todo flash capaz de leer y escribir a 2Gbytes por segundo y nuestra conexión de red entre los hosts y el almacenamiento es sólo de 1GBps, los clonados van a ser mucho más rápidos usando VAAI.

Sin VAAI el host lee el disco por el interfaz de 1GBps y escribe el clon por ese mismo interfaz de red, lo más que obtendremos son 115Mbytes/segundo de velocidad de clonado. Si descargamos esta operación para que la operación de clonado no salga del NAS, la velocidad será casi 10 veces mayor en el ejemplo que estamos usando.

Podemos ver como clonando un vCenter usando VAAI, no se observa trafico de red mientras en el NAS si hay una actividad en los discos.

VAAI con QNAP NFS

Yo suelo usar NFS, lo vengo usando hace más de una década con plataformas con 1500 máquinas virtuales, y me ha dado muy buen resultado siempre.

Una de las cosas que ocurre con el almacenamiento NFS es que por norma general siempre es Thin provisioning. Disponiendo de un driver VAAI, puedes provisionar discos thick incluso en NFS, si tienes preocupación por que se te llene el datastore.

Otra ventaja es que descargamos los hosts de los recursos que necesitan dedicar a estas operaciones. Ahorramos 1 Gigabit (o los que tengamos asignados a la tarjeta que soporta el VMkernel de almacenamiento) de ida y otro tanto de vuelta. Ahorramos en CPU, en memoria.

Otra operación que se ve acelerada es el Storage vMotion, que también se hace dentro del propio NAS.

Finalmente, hay otro punto que son las estadísticas extendidas, mediante las cuales el host puede ser informado del espacio que realmente usan las VMs provisionadas en modo thin.

vaai nfs qnap

VAAI con QNAP iSCSI

En el caso de iSCSI, trabajamos con bloques de LUN en vez de con archivos. Las ventajas de aplicar VAAI a las operaciones con iSCSI en el NAS QNAP son similares, aunque no iguales.

Por ejemplo, cuando borramos maquinas virtuales de una LUN sin VAAI, el espacio no retorna al pool del SAN, que lo puede usar en otra LUN diferente.

Una opción super interesante cuando tenemos muchos hosts accediendo a una misma LUN es que sin VAAI, toda la LUN queda bloqueada por ese camino cada vez que un único host accede a ella. Si usamos VAAI, el SAN es consciente de que bloques debe marcar como bloqueados, permitiendo simultanear los accesos a diferentes hosts.

Al formatear una LUN, existe la opción de rellenarla de ceros. Un motivo puede ser la velocidad de trabajo con ella a posteriori, pero también una cuestion de seguridad y privacidad. De esta forma la VM que creemos no tendrá acceso a datos de otras VMs que existiesen previamente con solo leer bloques vacíos de su disco duro. El borrado con ceros es otra operación que se puede relegar al SAN si tenemos activo VAAI.