You’ve probably heard VMware virtualization and storage talk about VAAI (vStorage API for Array Integration. If you’ve listened to episode 4 of VIRTUMANIA or watched the recent video from the vExpert Panel session at the Carolina VMUG Summit then you’ve heard me talk about it with some of those most in the know on the topic. But what is VAAI exactly and how will it impact virtualization in the future?
Side note — I hate saying “V A A I”. IMO it’s quite a tongue twister. I have adopted saying “V double A I” because it is much easier to get out.
VAAI Introduced 2 years ago
Although it does not exist in vSphere 4.0 today, believe it or not VAAI was first introduced at VMworld 2008 when the vStorage API was announced.
New Capabilities Deliver Deeper Integration with Storage Partner Functionality
vStorage enables intelligent integration of storage products within the Virtual Datacenter OS through the new vStorage APIs.vStorage APIs deliver tight integration of advanced capabilities from storage partners with the Virtual Datacenter OS from VMware. vStorage APIs for array integration will enable customers to leverage array-based capabilities, such as snapshots, provisioning, replication and restore, directly with individual virtual machines in conjunction with the clustering and pooling capabilities of VMware Infrastructure. vStorage APIs for multi-pathing will provide customers the ability to integrate advanced load balancing capabilities provided by leading partners’ multi-pathing software with their virtual environment.
If you are like me you were probably so overwhelmed by the news of the VCD-OS (That’s what VMware was calling the hybrid Cloud at the time … I guess?) that you missed (or were not capable or ready to comprehend) how complete of a strategy already existed for building Infrastructure as a service (IaaS) with the vStorage API. For me, looking back 2 years later it is amazing to me it was all there — at least in concept.
Don’t confuse VADP and VAAI
VAAI is only one part of the vStorage API. VADP (vStorage API for Data Protection) is another, but the these two seem to have been easily confused lately. VADP is enabling access to files on VMFS without VCB, but VAAI has nothing to do with that today. Will it in the future? Maybe if the process of creating and committing snap shots can be handled by the storage device processor, but that’s the key point and difference. VAAI will offload functionality to the storage processor and thus reduce compute load on the hypervisor. VADP allows third party technology partners to perform full image virtual machine backups.
What vSphere functions can be offloaded with VAAI?
Once again I’ll link to a post from VMworld 2008. Chad Sakac (@sakacc) wrote about what VAAI back then when it was first announced. In So, what does vStorage really mean? Sakac lists several functions that a VAAI aware storage device could do. I’ve pasted and edited for length Sakac’s original list. Quoting Chad:
- Acceleration via storage offloads using SCSI driver primitives [omitted] – think “I/O” dedupe (not to be confused with Storage Dedupe). This can have a HUGE impact on storage network utilization — much more efficient, and very important for lower bandwidth storage networks like 1Gbps iSCSI.
- Thin Provisioning Integration
- The ESX server tells the array what BLOCKS makeup a VM, so svmotion can be offloaded to the array as an alternative to the file-copy method now, snapshots can potentially be done on VMs even for block devices. Again, this uses SCSI driver primitives
How will VAAI do this?
Much of this still remains to be seen, but according to Sakac and the others I’ve spoken with about VAAI recently, you’ll be able to buy a storage device with processors that are VAAI capable. That means a hardware list that will probably start out small and grow quickly. Sakac likens VAAI integration in the future to buying servers with Intel VT-x or AMD-V technology today. You just don’t buy servers for vSphere without these on chip technologies.
In my own terms, a VAAI aware storage device will be able to understand commands from vSphere and perform storage functions with it’s own compute resources.
When will we see this new hardware? Honestly I’m not sure, but I imagine we are getting close.
So, what does VAAI mean for vSphere virtualization?
Simply put, VAAI will allow more hypervisor compute power to remain available for running virtual machines. This means greater VM to host ratios without more physical resourcesand even larger workloads in a single VM. This also means faster VMotions, Storage VMotions, cloning, VM deployment and more. I’m guessing that this intelligent “pillow talk” between vSphere and storage will ultimately lead to safer disk over allocation and dynamic adjustments to storage workloads never before possible. Those are just a few possibilities off the top of my head.