Understanding VMware VAAI for NAS


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 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


  • 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.


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   /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:


This site uses Akismet to reduce spam. Learn how your comment data is processed.

  1. I’ve been considering reverse engineering the VMkernel APIs for VAAI NAS and making exactly the same plugin. Is your code open or available?