VMware has been talking about VVOLS for over two years. Yes they were actually announced at VMworld 2012, as a “Technology Preview”. Before we get into what really cool things will do for us, let’s take a step back and examine where we are today in the storage world.
Today almost every storage provider at a basic level operates the same way in terms of administration and operation. As a VMware Admin i would work with the storage teams to create a new volume with given characteristics, speed, SLAs, features such as dedupe or compression. Because i don’t always know how much i’m really going to need they start with a large size, maybe 2TB. Its then up to me to manage the storage presented to me and ensure the proper VM is in the proper Datastore. In addition if i decide i need to backup a VM, its typically done via an Array-based Snapshot, which means it will do it at the entire volume level, which could have a LOT of VMs. Which can be wasteful and not necessary if i’m just trying to backup only a few VMs. It also can make restores more painful.
Now what are VVOLs and what do they give us? Well first off think of VVOLs as an extension of the Storage Policies and VAAI plugins. In fact there is now a new API set, VASA (vSphere API for Storage Awareness). VVOLS give us better control over our storage and how vSphere interacts with it.
We no longer need to carve up the storage into these giant volumes. Each VM in a VVOL enabled array now gets its own LUN/Share. In addition, because VMware now knows detailed information about the storage array and its capabilities, via VASA, there is a deeper integration between the two. We can now create Storage Profiles that can, for example, allow us to select what features we may need to apply to a VM, such as “High Performance & SnapShots every minute”. We then create a VM and give it storage specifically for that VM, with those Policies attached. This policy-based creation of storage, where we can choose the features we need and apply it at a MUCH more granular level allows a much greater and finer control over our storage and how we utilize it.
At the surface this seems to be an “ok thats kind of cool” feature, but once you start to think of the operational efficiencies it gets really cool. You no longer need to have a storage admin create the volumes at the start of a project, he just provides you a portion of the array to carve up yourself. You don’t need to dedicate these large volumes to a particular purpose or workload, such as deduplication or regular snapshots for SLAs. You can now utilize the features and capabilities of the storage array for the workloads that really need them without any waste. From a vSphere level it lets the admin control the storage features of the environment at a much more powerful level.
One thing to note is we can still do regular VMFS volumes as well, even from the same array, they are not going away.
I will be doing a deep dive on VVOLs and VASA in an upcoming article as well as show the basic implementation on various storage vendors.