What are VMware Virtual Volumes?

The arrival of vSphere 6 brought a number of new features and higher configuration maximums to the VMware virtualisation platform, as expected. One feature which finally made itself formerly into the vSphere 6 release was Virtual Volumes, now more commonly referred to as VVOLs. Although the concept of VVOLs have been around for a while, and some vendors have been early adopters, such as Tintri for example, this is the first official release of vSphere that supports the VVOLs feature. So what are VVOLs? What makes them so different to normal VMware storage provisioning? And how are they going to impact storage management in the future?

What are VVOLs?

Let's start by taking a look at a "traditional" VMware storage platform and how storage has been typically provided to VMs. 

Figure 1:  A "traditional" host and storage array configuration, where the hosts mount the storage volumes and these are subsequently presented to vSphere/vCentre as datastores.  The VM's storage is then allocated to the available datastores in accordance to the VM's requirements.

The LUNs/volumes are provisioned on the storage array and these are presented to the hosts, the hosts in turn mount the storage which is presented within vSphere as a datastore(s).  This is very much a host and storage relationship, with the guest VMs being provisioned where this underlying hardware dictates.
Over the years storage vendors have introduced their own vStorage APIs for Array Integration (VAAI) and Storage Awareness (VASA) that allow the storage array to take on workloads that vSphere traditionally managed.  However, the storage array has always been where features such as compression, encryption and IOPS performance levels and so forth are managed.
Figure 2:  A VVOL storage environment.  The VMDKs are placed within the pool of storage resource and the storage policies within vCentre dictates what policies are applied.

VVOL's provides Software Defined Storage (SDS) for the "traditional" host and storage array platform.  The driver for this is the self-service model that SDS looks to provide end users, which in itself has forced storage to be more VM-centric in line with the software defined compute resources that VMWare introduced all those years ago. 

Instead of allocating VMs to LUNS, storage is presented as a large heterogeneous pool of resource which is allocated according to the requirements of the VM.
The VAAI/VASA  integration is taken one step further, with the underlying storage array vendors providing the underlying technology which then integrates with vCentre to allow the VM storage customisation.  The storage administrator is still responsible for provisioning the storage that will be presented to vCentre.  The RAID and performance levels, with features such as tiering are still required on the underlying storage.  However the decision on what that specific VM will require as part of its storage configuration is decided at the vCentre level.  Like its sister product, VSAN, VVOLs uses storage policies to ease the customisation of storage requirements for a VM or group of VMs.  Ultimately the features that are configurable on your VVOL storage is still dependent on the capabilities of the underlying storage.  This will vary from storage vendor to storage vendor.  However, I would expect  that in time this will only improve as the adoption of VVOLs increases and storage vendors improve upon their integration APIs.

Before we expand on the benefits of VVOLs there are some new terminologies to understand.

Storage Container
This is the name for the storage pool presented by the external storage array(s). The role of the storage administrator remains, they will still build the storage arrays to meet capacity and performance requirements. They then serve this up to the Protocol Endpoint which is the connection point for the hosts.

Protocol Endpoint
As mentioned above the Protocol Endpoint (PE) provides the interface between the host and the storage. You can have multiple PEs and their aim is to reduce the previous complexity and procedures that storage connectivity required. Think of them like proxies between the host and storage, which ensure that the VM is directed to the correct storage array based on its requirements

Storage Policies
These are the storage policies that are created and applied to the storage pools ready for provisioning on the VM. These can be anything from deduplication, encryption and compression to storage IOPS levels, such as Gold, Silver and Bronze. The extent of the policies that can be applied are dependent on the underlying storage vendor's VAAI/VASA capabilities.

Why are VVOLs a good thing?

The implementation of VVOLs allows for scalability, simplicity and manageability far beyond what is capable in the "traditional" storage array.

The introduction of the Protocol Endpoint has greatly reduced the complexity which is often associated with storage configuration.   The PE represents the connection to the storage, so the previously complex configuration of storage arrays and multi-pathing is greatly reduced.

The 256 device limit still applies to the Protocol Endpoints, however as Protocol Endpoints can represent potentially thousands of VVOLs then the capacity potential is huge for VVOL enabled systems in comparison to traditional storage provisioning.

The storage management for a VM is now under the control of the VMware administrator, the provisioning of VM storage is all managed through vCentre with policies configurable through short wizard driven tools. The capacity and placement of VM storage is no longer a consideration, the right storage for the VM is all that matters.

VVOL's are by no means perfect at this point; they don't support a number of vSphere's core features and many storage vendors could improve their current integration capabilities. However, as time goes on VVOLs will only become more prevalent as the demands on providing the right VM storage, on demand and without limitations will only increase.

If you want to get hands on with VVOLs then I highly recommend looking into the VMware Hands On Labs. They have a VVOLs lab which runs through the configuration of a VVOL datastore, along with the follow up storage policies that can be applied. You can follow the guide or you can just roam around the live labs - the link to the VVOLs specific lab is here; a free account sign up is all that is required.

Thank you for reading my article, please feel free to leave me feedback regarding the content or to recommend future article ideas based on VMware or Windows technologies. If you liked this article please click the big green 'Vote this article as helpful' button at the bottom of this article.  Thank You.
I look forward to hearing from you. -  Dave Leaver  (@thedaveleaver)



Comments (0)

Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.