VAAI
vStorage API for Array Integration (VAAI) is a technology that VMware makes available for storage vendors to offload the storage operation like cloning , space reservation from the ESX CPU to the storage array.
What is VAAI?
VMware vStorage APIs Integration (VAAI) is a set of APIs provided by VMware that allows the ESXi hosts to offload data processing of certain storage-related services like full file cloning, extended statistic and space reservation to storage array Host.
Benefits of VAAI NAS:
The integration of Storage array with VMware VAAI-NAS offers datacenter administrators deploy a VMware virtualized environment with optimized performance. VAAI NAS will offload the data processing to the NAS Storage array and releases the ESXi hosts
Supported Features of VAAI NAS:
- Full File Clone
- Space Reserve
- Extended Statistic
VAAI for NAS (NFS)
VAAI NAS – Full file clone
VAAI NAS Full file clone enables the Storage array host to make full copies of data (vmdk files) within the NAS array without using the ESX resources to read and write the data
Without VAAI-NAS Full file clone:
When an ESXi host copies data without VAAI, it will have to read the data from the NAS volume and write back the data to the NAS to do a cloning / copy. This process consumes ESXi memory, network bandwidth, and CPU, it leads to the decreasing the resources available for the VMs.
With VAAI-NAS Full file clone:
When an ESXi host copies data with VAAI, it will invoke the NAS Host API to do the file cloning, and wait for the result. This process offloads the loading to the NAS host, and leaves the ESXi resources allocated to the VM unchanged. As the clone / copy process happens in the NAS host directly. ESXi CPU, memory, and network bandwidth remains available for the VMs
Advantage:
- Reduces the ESXi CPU, memory, network bandwidth usage
- Effective usage:
- vCenter Cloning
- Storage vMotion (cold clone)
- Deploy VMs from templates
- VCAI for Desktop Virtualization (Horizon view)
VAAI NAS – Space Reserve
vSphere supported only the thin provisioned virtual disks on NFS data store . By supporting the Reserve Space primitive in the VAAI NAS, a space pre-allocated virtual disk (eager zeroed disk, Lazy zeroed thick provision) is possible in NFS data stores, by offloading the file creation onto the NAS.
Advantage:
Better virtual disk read/write performance (thin provision disks vs. thick provision disks)
Without VAAI-NAS Space Reservation:
Without Space Reserve, user cannot create Thick Provisioned virtual disks on NFS datastore; by default it will use thin provision
With VAAI-NAS Space Reservation:
With Space Reserve, user can create Thick Provisioned virtual disks on NFS datastores.
VAAI NAS – Extended statistic
Extended Statistic enables vSphere to query space utilization details for virtual disks on NFS datastores. This includes the size of a virtual disk and the real space consumption of the virtual disk.
The extended statistics are used by VMware during some specific operations like Space Reserve and Clone.
Installation and Verification
Unlike VAAI for iSCSI, VAAI NFS requires the installation of VAAI plugin on each ESXi hosts.
You can install offline /online
Download the VAAI NAS plugin from the storage provider
Install the plugin using the commands
~ # esxcli software vib install -v /tmp/vaai-nas-plugin_1.0.vib
Or Install directly from the URL
~ # esxcli software vib install -v http://asvignesh.in/apps/storage/vaai-nas-plugin_1.0.vib
Reboot each ESXi host.
Verify from vSphere client that “Hardware Acceleration” is supported.
~ # esxcli storage nfs list
Volume Name Host Share Accessible Mounted Read-Only Hardware Acceleration
———– ——— ——————- ———- ——- ——— ———————
vignesh 10.0.2.2 /vigneshZFSvol true true true Supported
No-sig-check is set to allow non-signed VIB packages. The package will be signed when it will be VMware Ready or you need to enable the Community Supported
A reboot is required to activate the new VIB.
After each installation, it displays VIBs installed, removed, skipped.
Reboot each ESXi host after installation
Note: During the installation, if a previous version of the plugin was installed, it will be listed as VIBs Removed:
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: vaai-nas-plugin_2.0
VIBs Removed: vaai-nas-plugin_1.0
VIBs Skipped:
I’ve been considering reverse engineering the VMkernel APIs for VAAI NAS and making exactly the same plugin. Is your code open or available?
Darren,
My code is not available open, we have signed NDA with VMware and with our customer