There is a ton of information already available online which covers the vSphere 4.1 VAAI implementation so I’d rather focus on how it relates to Storwize V7000 and SAN Volume Controller.
VAAI allows certain VMware tasks to be offloaded to the storage array. The 4.1 release of VAAI includes three primitives one of which is the focus of this post:
Hardware-accelerated Block Zero
By default .VMDK disks are created as zeroedthick. Which means a 50GB .VMDK has the full 50GB of space allocated on the VMFS volume, but that space is not formatted until needed. By comparison another disk format, eagerzeroedthick fully formats the .VMDK with zeros before use. The Block Zero primitive aids in the creation of eagerzeroedthick disks by eliminating the redundant host write commands with a single command, and allowing the storage array to handle the rest. The following two images show the throughput on the Storwize V7000 performance charts of a format operation without and with VAAI enabled:
Benefit #2 is that tasks are faster, in some cases dramatically faster. Take the above example. A 50GB eagerzerodthick .VMDK was created two times. Once with VAAI disabled, and another time with VAAI enabled. The following graph shows the task times:
Deploying a eagerzerodthick .VMDK is not the only beneficial use case for Block Zero. VMware recommends that eagerzerodthick .VMDKs be used for throughput intensive workloads. This ensures that you get maximum performance for your workload. Otherwise if the default zerodthick format is used, each block of data must be initialized before it is written too. But what if you forget to follow the recommendation and create a default .VMDK for that new virtual machine which is storing video surveillance footage (first example that came to mind). Well with VAAI, don’t worry about it! Throughput to zerodthick .VMDKs with VAAI enabled, is significantly better than with VAAI disabled.
My next post will talk about another VAAI primitive, hardware-accelerated Full Copy, and the types of results I observed for it on Storwize V7000 and SVC.