VAAI – what is that ?

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:

  1. 2 HP BL465c G6
  2. 2x8Gb HBA adapter
  3. SAN has 4Gbit pipe between ESX and storage
  4. 48GB RAM
  5. 2 Hex core processors X5670
  6. XIV II with microcode 10.2.4b

Software configuration:

  1. ESX 4.1.2
  2. newest XIV VAAI driver for vSphere 4
  3. 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

time for storage vMotion without VAAI enabled

With VAAI:

Clone live VM – 8 minutes for 145GB

  • Read rate – around 0kB/s
  • Write rate – around 0kB/s
  • Latency – 1ms

XIV with VAAI enabled bandwidth utilization

Virtual machine clone with VAAI enabled

Storage vMotion live VM – 10 minutes for 145

  • Read rate – around 75MB/s
  • Write rate – around 75MB/s
  • Latency – 3ms

time for storage vMotion with VAAI enabled

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.

Artur Krzywdzinski

Artur is Consulting Architect at Nutanix. He has been using, designing and deploying VMware based solutions since 2005 and Microsoft since 2012. He specialize in designing and implementing private and hybrid cloud solution based on VMware and Microsoft software stacks, datacenter migrations and transformation, disaster avoidance. Artur has been in IT industry since 1999 and consulting since 2008. Artur holds VMware Certified Design Expert certification (VCDX #077).