vSphere Storage APIs – Storage Awareness, commonly referred to as VASA, is a set of APIs that permits storage arrays to integrate with vCenter for management functionality.

I'm sure many of you have struggled in the past trying to identify the characteristics of a physical LUN when doing initial VM placement. A typical scenario I hear about from a vSphere admin perspective is as follows. When doing initial VM placement, one first needs to identify the datastore, then find out the underlying LUN's NAA id, and then engage with the SAN admin find out whether the LUN is Thin Provisioned, has Deduplication capabilities, is on Tiered storage, has a particular RAID level, etc, etc. Some admins have resorted to maintaining large spreadsheets that detail the storage capabilities of each of the LUNs. Other admins, once they know the underlying characteristics, resort to using very obscure naming conventions for their datastores to keep track of the underlying LUN capabilities. Neither solution is ideal. This is an area where VASA can really help.

VASA can display the features of the physical storage devices, allowing vSphere administrators insight into storage capabilities. Our storage array partners are creating plugins called vendor providers, which is the integration 'glue' that sits between vCenter and the storage array. Vendor providers retrieve the storage capabilities from the array and pass these onto vCenter, which in turn can display these capabilities in the UI. VASA may also provide information about storage health status, configuration info & capacity. For the first time VMware has an end to end story, i.e. storage array informs the vendor provider of capabilities & then the vendor provider informs vCenter. Admins can now see storage array capabilities from the vSphere client, giving them a single management view into both the virtualization & storage infrastructures.

In this first release of the VASA framework, vendor providers will surface a single "StorageCapability" data object per LUN from the storage array to vCenter server.The "StorageCapability" has both a name and a detail/description associated with it. The name defines a particular level of storage support whereas the detail is a description of the specific storage capabilities relevant to the level of support.

For example, you may have a datastore whose StorageCapability name is Performance, and in the details one might expect to see number and type of spindles making up the volume as well as the number of IO operations and/or MB per sec you would expect to see under specific workload characteristics.

Or you may expect to see a datastore with a StorageCapability name of Space Efficient, and in its details you might expect to see Deduplication & Compression details.

However these are simply guidelines. The actual capabilities that are surfaced into vCenter are being left to the individual array storage vendors. We will just have to wait and see which capabilities are displayed by the storage array vendors when they launch their respective vendor providers.

A number of our storage partners are already signed up to the program. I hope to follow up with a list of these partners and details about their VASA vendor providers in a future post.

One of the cool features of VASA is that it lends itself to the creation of VM Storage Profiles (aka Profile Driven Storage), another new feature of vSphere 5.0 which I will discuss in another blog posting shortly.

However, StorageCapabilities are not the only purpose of VASA. In addition to capability discovery, VASA also offers capacity and storage health monitoring. Another major part of VASA is the fact that it is used by Storage DRS, another new vSphere 5.0 feature. SDRS includes recommendations from VASA providers in its load balancing logic and also monitors for Thin Provisioning alarm status which avoids moving VMs to datastores that are in danger of running out of space on the backing storage.

Finally, keep in mind that this is the first release of this feature. We expect to see very many enhancements to the Storage Awareness APIs over the future releases on vSphere.

Get notification of these blogs postings and more VMware Storage information by following me on Twitter: Twitter VMwareStorage

About the Author

Cormac Hogan

Cormac Hogan is a Senior Staff Engineer in the Office of the CTO in the Storage and Availability Business Unit (SABU) at VMware. He has been with VMware since April 2005 and has previously held roles in VMware’s Technical Marketing and Technical Support organizations. He has written a number of storage related white papers and have given numerous presentations on storage best practices and vSphere storage features. He is also the co-author of the “Essential Virtual SAN” book published by VMware Press.