Overview of vStorage API Array Integration (VAAI)

Overview of vStorage API Array Integration (VAAI)

March 5, 2012 0 By Eric Shanks

Many storage providers have been working with VMware to improve performance of disks by giving VMware access to invoke capabilities of the storage system.  There are basically three main primitives that VMware can invoke to do this.

  • Full Copy
  • Hardware Assisted Locking
  • Block Zeroing
Full Copy
Lets look at what happens when you clone a VM without VAAI.  The ESXi server will start to copy the blocks of the original VM and start to paste them in the new location.  Below is an animation to describe this process.

 

 

VAAI has allowed us to get rid of this copy process and speed it up by having the ESXi server request that the storage device perform a copy operation.  This eliminates almost all of the traffic normally associated with a clone request.  The animation below shows this process in better detail.

 

The Full Copy primitive can also be used with other types of activities such as storage vMotion and deploying a VM from template.  You can see how useful this might be with a product like VMware View and creating multiple workstations for your VDI Infrastructure.

 

Hardware Assisted Locking
In order for an ESXi host to control a specific virtual machine disk, it has to temporarily lock the entire LUN that the VM is sitting on.  During this time, the LUN obviously can’t handle requests from other ESXi hosts and will temporarily halt disk activity which might be noticeable.
Hardware Assisted Locking changes this by allowing the storage system to handle the locks.  Since the storage system is controlling the LUN locks, it can allow the ESXi servers to access other VMDKs while locking the specific VMDK that needs the reservation.

 

 

Block Zeroing
When creating a new VM, you have the option of creating a thick provisioned “zeroed” disk.  During the creation of this disk, a “zero” is written to all the blocks that will comprise that vmdk on the physical disk.
Before VAAI and the Block Zeroing primitive, the ESXi server would have to request for all of those blocks to be “zeroed out.”  If the storage system is VAAI capable, this process can modified so that the ESXi host requests that the storage system “zeros” out the blocks and reduces the overhead.

 

 

This document was created using the official VMware icon and diagram library.

Copyright © 2010 VMware, Inc. All rights reserved. This product is protected by U.S. and

international copyright and intellectual property laws. VMware products are

covered by one or more patents listed at http://www.vmware.com/go/patents.

VMware does not endorse or make any representations about third party information

included in this document, nor does the inclusion of any VMware icon or diagram

in this document imply such an endorsement.