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)
En CLI
esxcli storage core device vaai status get
esxcli storage device vaai status get -d “device”
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
Confiiguration > Advanced Settings > VMFS3
VMFS3.HardwareAcceleratedLocking (ATS) settings à 0
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”
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)
Un petit reboot et voilà, mon datastore NFS est prêt à tirer parti de la VAAI NFS de Synology 🙂
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