Configure vFlash Read Cache in vSphere 6
April 17, 2017
Install VCSA 6.5 in Workstation
May 1, 2017

VAAI – What are the features?

vStorage API for Array Integration (VAAI) enables VMware to offload certain storage task like Zero-out, thin provisioning and cloning. These tasks originally occurs at the host level and when these tasks are offloaded with the storage hardware assistance and hence these tasks takes less time to complete and also saves CPU, memory and bandwidth.

VAAI Requirements

  • Storage arrays that support VAAI
  • ESXi/ESX 4.1 or later
  • Enterprise or Enterprise Plus licensing

VAAI Features

  • Creation of virtual machine snapshots which has to be offloaded to the array is done via Native Snapshot Support.
  • Visibility to space usage on NAS datastores is enabled using Extended Statistics and is useful for Thin Provisioning.
  • Reverse Space feature enables the creation of thick virtual disk files on NAS.
  • During creation and locking of files on the VMFS volume we set ATS which is Atomic Test & Set.
  • However we use Clone Blocks/Full Copy/XCOPY to copy or migrate data within the same physical array.
  • The concept of Thin Provisioning in ESXi 5.x and later hosts, helps to tell in ESXi host array that previously occupied space by virtual machine (whether it is deleted or migrated to another datastore) can be reclaimed on thin provisioned LUN’s.
  • Zero Blocks/Write Same, which is used to zero-out disk regions.
  • Using the SCSI UNMAP feature the space being alloted in ESXi 5.x and later hosts via Block Delete can be reclaimed.
  • Full File Clone- This Full File Clone primitive eables virtual disks to be cloned by NAS device , like the Full Copy VAAI primitive provided for block arrays.

VAAI Limitations

  • If the Logical address and transfer length in the requested operation is not aligned to the minimum alignment required by the storage device because (datastores created with the vSphere Client are aligned automatically).
  • If there is a diffrence in file types of Source and Destination. For example, the source file type is RDM and the destination file type is non-RDM(Regular file).
  • Whenever there’s a diffrence in VMFS volumes block size of Source and Destination.
  • The VMDK thick and thin type also matters, like the diffrence in source VMDK type is eagerzeroedthick and destination VMDK type is thin.
  • The source or destination VMDK is any kind of sparse or hosted format.
  • Cloning of a virtual machine that contains snapshots because this process involves consolidating the snapshots into the virtual disks of the target virtual machine.
  • If there is a diffrence in file types of Source and Destination. For example, the source file type is RDM and the destination file type is non-RDM(Regular file).

If you wanna know that your datastore supports VAAI, Use command line tool esxcli to get the status of the VAAI primitives (ATS, Clone, Zero and Delete). Connect to the host via SSH and type the following command.

esxcli storage core device vaai status get

It will give you the status of the VAAI Primitives.

You can also view them via vCenter. To do so, goto Host -> Configure -> Datastores.

If Hardware Acceleration is supported, then all four primitives are supported.

If Hardware Acceleration is unsupported, then none of the primitives are supported.

If Hardware Acceleration is unknown, then only one or more primitives are supported.


We will test VAAI by creating a VM in a supported and unsupported datastore.

First, I am gonna create a VM in supported datastore which is my LUN1. That datastore is presented by EMC Unity.

I would be creating the VM in Thich Eager Zero to test zeroing process.

It took approximately 4 minutes to create the VM.

Next, I am gonna create a VM in an unsupported datastore which is my LUN4.

I am give the same size as of the previous VM.

But this time it took me around 20 minutes to create the VM.

You can also check for VAAI compatibility in VMware compatibility guide. You can verify that your storage supports VAAI.

Leave a Reply

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