What the VAAI is? vStorage API for Array Integration (VAAI) can offload ESX host for specific storage operations such as:
- Atomic Test & Set (ATS), which is used during creation of files on the VMFS volume (provision new VM)
- Clone Blocks/Full Copy/XCOPY, which is used to copy data (Clone, storage vMotion)
- Zero Blocks/Write Same, which is used to zero-out disk regions
- Thin Provisioning in ESXi 5.x and later hosts, which allows the ESXi host to tell the array when the space previously occupied by a virtual machine (whether it be deleted or migrated to another datastore) can be reclaimed.
Other word saying, all job is done by storage, ESX only sends instruction packages over the fabric to storage which reduce significantly bandwidth utilization over fabrics, ESX compute resources usage (such as CPU cycles, RAM usage), SCSI locks on VMFS datastore, as well as reduce time for complete operation such as:
- provision new VM
- clone VM
- storage vMotion
VAAI requirements:
- VMware vSphere ESX(i) 4.1
- Enterprise or Enterprise plus license
- VAAI storage capable
Below you can find out how VAAI works.
Example:
Hardware configuration:
- 2 HP BL465c G6
- 2x8Gb HBA adapter
- SAN has 4Gbit pipe between ESX and storage
- 48GB RAM
- 2 Hex core processors X5670
- XIV II with microcode 10.2.4b
Software configuration:
- ESX 4.1.2
- newest XIV VAAI driver for vSphere 4
- Virtual machine; with Windows 2008 R2 64bit, 1 vCPU and 2GB RAM, thick provisioned disks 145GB
Without VAAI:
Clone live VM – 32 minutes for 145GB
- Read rate – around 75MB/s
- Write rate – around 75MB/s
- Latency – 10ms
Storage vMotion live VM – 29 minutes for 145GB
- Read rate – around 75MB/s
- Write rate – around 75MB/s
- Latency – 3ms
With VAAI:
Clone live VM – 8 minutes for 145GB
- Read rate – around 0kB/s
- Write rate – around 0kB/s
- Latency – 1ms
Storage vMotion live VM – 10 minutes for 145
- Read rate – around 75MB/s
- Write rate – around 75MB/s
- Latency – 3ms
Summary:
As you can see, with VAAI enabled operation such as Clone and storage vMotion takes 3 times less than without VAAI enabled. Also, fabric bandwidth utilization (between ESX server and storage) was reduced from 150MBps to few kBps (ESX just sent instructions to storage and get actual progress from storage). Definitely is worth to enable VAAI support if your storage is VAAI aware.