VMware : Les primitives VAAI

Les primitives VAAI


 

Access and use your personal workstation or virtual machines remotely with your preferred mobile device on the cloud with vdi hosting provider. For hosted SharePoint and other hosted software products visit, www.Apps4Rent.com

VAAI (vStorage APIs for Array Integration), est une API qui a pour objectif principal de déporter certaines tâches de manipulation de VMs (clones, gestion des clones, mouvement des vmdks) de l’hyperviseur vers la baie de stockage.
Ces tâches ou encore fonctions sont appelées “primitives”.

VAAI permet donc de décharger les opérations liées au stockage, manipulations de fichiers vers la baie et permet ainsi de soulager l’hyperviseur en CPU et bande passante.

VAAI était essentiellement présente sur des architectures en mode bloc (iSCSI,FC, FCoE).
Aujourd’hui VAAI est également utiliser sur du mode file avec NFS.

VAAI Primitives

Hardware-assisted locking ATS (Atomic Test & Set) :  Les locks sur les fichiers en cours de manipulation sont directement gérés par la baie.
Extended Copy (Clone Blocks / Full Copy) : Les copies (templates), clones, migrations (storage vmotion), manipulation des vmdks sont directement effectués par la baie.
Zero Blocks : La baie va se charger de pré-alloué tout l’espace de stockage en mettant tous les blocks à zero (thick eager zeroed)
Block Reclaim (Delete) : Cette primitive permet de réclamer un espace de stockage plus utilisé (essentiellement sur du Thin Provisionning). L’hyperviseur signale à la baie que les blocks en question ne sont plus utilisés et qu’elle peut les réclamer.

Comment savoir si votre espace de stockage, LUN supporte les primitives VAAI ?

En GUI 

Configuration > Storage
LOCAL-SSD : “Not Supported” (pas de VAAI)
LUNSSD01 : “Supported” (supporte VAAI)

vaai1

En CLI

esxcli storage core device vaai status get
esxcli storage device vaai status get -d “device”

vaai2

vaai5

Les primitives VAAI peuvent être désactivées au niveau de l’ESXi.

En GUI

Confiiguration > Advanced Settings > DataMover

DataMover.HardwareAcceleratedMove (Extended COPY) settings à 0
DataMover.HardwareAcceleratedInit (ZERO BLOCKS)  settings à 0

datamov


Confiiguration > Advanced Settings > VMFS3

VMFS3.HardwareAcceleratedLocking (ATS) settings à 0

vmfs3

En CLI

esxcli system settings advanced set-o /DataMover/HardwareAcceleratedMove -i 0
esxcli system settings advanced set -o /DataMover/HardwareAcceleratedInit -i 0
esxcli system settings advanced set -o /VMFS3/HardwareAcceleratedLocking -i 0

Déployer/Installer le plugin VAAI:
Voir au niveau du constructeur de votre baie si il intègre ou met à disposition un plugin VAAI pour votre équipement.
Dans mon cas, Synology met depuis récemment à disposition un plugin VAAI pour NFS : Download Center Synology

On peut voir que de base, le plugin VAAI NFS pour Synology n’est pas déployé, et donc l’accélération Hardware (VAAI) n’est pas supportée : “Not Supported”

nfs

Pour installer le plugin VAAI NFS, vous pouvez le faire de 2 manières différentes :

  • Via Update Manager
  • Via CLI

Ici, on ne verra que l’installation via CLI.

esxcli software vib install -v /tmp/votre_plugin.vib –no-sig-check (si nécessaire)

install_vaai

Un petit reboot et voilà, mon datastore NFS est prêt à tirer parti de la VAAI NFS de Synology 🙂

nfs2

Test de déploiement de templates :
Un template identique (windows 2008 r2) de 20go a été placé sur 2 datastores, un tirant parti des primitives VAAI (LUNSSD01) et un autre n’en tirant pas parti (LOCAL-SSD).

  • Template-w8-localNOVAAI / LOCAL-SSD / NO VAAI / 37 secondes pour le déploiement
  • Template-w8-lunVAAI / LUNSSD01 / VAAI / 12 secondes pour le déploiement

vaai1

vaai3

Leave a Reply

Your email address will not be published. Required fields are marked *