Home > Blogs > VMware vSphere Blog


vSphere 5.0 Storage Features Part 10 – VASA – vSphere Storage APIs – Storage Awareness

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

This entry was posted in Storage, vSphere on by .
Cormac Hogan

About Cormac Hogan

Cormac Hogan is a senior technical marketing architect within the Cloud Infrastructure Product Marketing group at VMware. He is responsible for storage in general, with a focus on core VMware vSphere storage technologies and virtual storage, including the VMware vSphere® Storage Appliance. He has been in VMware since 2005 and in technical marketing since 2011.

5 thoughts on “vSphere 5.0 Storage Features Part 10 – VASA – vSphere Storage APIs – Storage Awareness

  1. Shree

    Does storage DRS use any performance data from storage vendors to make more intelligent decisions? i.e. even if my LUN is classified as “performance” what if it is over-subcribed on the back-end?

    Reply
  2. Cormac

    Hi Shree, afaik, Storage DRS only leverages VASA to discover datastore correlation of datastores. There is no performance data used from VASA – the performance info comes from Storage I/O Control.

    Reply
    1. Cormac Hogan

      I’m not quite sure what you mean Mike. VASA is an API which is leveraged my our storage partners for surfacing array capabilities in vCenter. Many of our partners do have vSphere plugins – you would have to talk to your array vendor to see if they have one.

      Reply
  3. Paul Mark Valenzuela

    Can we use VASA for vSphere Essentials Plus.

    There is no specific license requirement stated for VASA.

    Thanks,
    Paul

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>