VMware Datastores and Virtual Volumes

By on 04/14/2015.

This is the first post in a series on the latest storage innovation from VMware known as Virtual Volumes, or VVols.

As the biggest change in virtual storage since VMFS has landed, I wanted to start at the foundational beginning, and review what’s different about datastores in the world of VMware Virtual Volumes.

hddHistory

For years people have described VMFS and NFS datastores as logical. Abstracted entities leveraged by the hypervisor that remove the need for the systems and virtualization administrator to have to care about the storage. This had unintended consequences, as admins ultimately had to care about storage more than anything in the virtual datacenter.

In my opinion, traditional datastores are a lot like aliases or symlinks exposed to the hypervisor that ultimately led to all kinds of necessary innovations to enable VM admins to manage storage. And boy did they have to manage storage. It’s no secret to anyone that’s managed a virtual datacenter that storage management can be overwhelming.

VMFS. VAAI. VADP. SIOC. VAIO. The list goes on …

We witnessed the birth of the generalist. They became mainstream, as virtualization admins had to know more and more about storage in order to efficiently run their virtual infrastructure.  Storage vendors and other third parties developed entire business units around virtualization and created plugin after plugin.

All for VMware. All for YOU. And we loved every minute of it. All of a sudden, we ruled your datacenter, and storage became priority one to insure you were able to run and protect your virtual workloads.

Enter VVols

Some time in 2010, VMware gathered several of the biggest storage vendors together and told them about this new idea they had called “Virtual Volumes.”  When I joined NetApp in 2011, I distinctly remember hearing about it for the first time, as VMware had approached NetApp to build and develop with them the NFS portion of the spec. I remember being completely confused and borderline standoff-ish, because at the time I was such a hardcore VMware fanboy that I couldn’t even fathom things being any better with storage than they already were.

So, a dev tiger team went off and started working our core Data ONTAP team because certain things would need to be built into the storage OS as well.  This was bigger than just a plugin.

Where we have been for the last two years is a bit of a waiting game, but it gave us time to really hone how we went about things.

VMware Storage in a VVol world

I would like to posit today that Virtual Volumes are the true logical abstraction of storage to the ESXi hypervisor. Gone are the days of a datastore being tied to a particular protocol, and certain features only being supported by one protocol or the other. VVols allows all I/O to flow through a new construct called the Protocol Endpoint (PE). For NetApp specifically, we line it up like this:

One “PE” per host per protocol per container.

Here is an early concept diagram that I’m working on to help you understand a bit better…

vvol-containers-netapp

That might take a minute to sink in, but VVols introduces all kinds of new layers and boundaries you need to be aware of. For more details, you can check out our recent podcast interview with Rawlinson Rivera where we do a deep-dive on the architecture and why it matters.

netappimageNetApp’s approach is especially unique for several reasons …

  1. Our VASA Provider runs as a virtual appliance, not a webservice running on-box local to the storage array. This affords us some nice flexibility around deployment options, which we’ll discuss even further in another post.
  2. While we maintain the “container” spec on the storage controller, we expose that inside the vSphere client in what we call a “VVOL Datastore,” which maps 1:1 to a storage container on the array.  As of this writing, we are the only storage company supporting more than one storage container.  This has huge benefits for promoting the policy-based discussion even further, and allows us to reach an unmatched scale, all with the simplicity of selecting a policy and picking a compatible storage source to house your VM. Neat, huh?
  3. NetApp’s approach to protocol endpoint deployment is also truly unique (remember: one PE per protocol per host per container!). All I/O is now virtualized across the PEs, and not tied to the limitations of a particular protocol or the storage controller it’s mounted from.  This is agility at scale, and we have embraced it wholly.

Takeaways

What you should take away from this post is that things, as we know it, are about to change. VVols is not a simpler infrastructure by any stretch of the imagination.  There is definitely a learning curve to it, so don’t be too frustrated if you don’t “get it” right away. That’s one of the goals of this series is to help shed some light on the architecture, how it interplays with the storage array, and specifically, what we’re doing at NetApp to take advantage of this new way of life in virtual storage.

Datastores are finally TRULY logical in nature, and simply a conduit for the VM admin to be able to stop caring about storage to the extent of what’s in their policies, all while completely exposing proprietary storage array value-add directly to the VM admins.

Nick Howell
Tech Evangelist at DatacenterDude, LLC
One of the top technology evangelists in the IT Industry, Nick Howell has spent 15 years driving multi-million dollar solutions across multiple Fortune 500 companies and implementing new systems from an engineering, architectural, and consultant capacity across many industry verticals including finance, defense, retail & more.

4 Comments

  • Jim Lowry

    So essentially the PE connects to a single SVM and a single volume underneath that, but we can use multiple PE connections across all of our SVM/volume relationships for single IO throughput. Is that correct? That gives the ESXi server a very large data pool to use and spread workload across and a HUGE networking pipe to play with. Would it be possible to have you write a post about the growth and scale with CDOT and VVOLs and provide some real world examples of where that would help?

    • @disqus_BvnM6poytP:disqus,

      Be careful! I didn’t say the word volume yet! :)

      I tried very very hard not to throw TOO much information into this one post just yet. It can be extremely overwhelming.

      The way FlexVols are handled, managed, and policied within each “container” is a discussion worthy of its own post and is most definitely on the list. Think of the container as a dotted-line invisible construct that never really manifests itself on the storage, but is there to draw a line around 1+n FlexVols that have been added to or associated with that container. This container is exposed in vSphere as the “VVol Datastore” and in the Related Objects tab, you will see the list of FlexVols, each with their own SLO policy attached.

      More on this very soon, I promise. We’re going to be rolling one of these out per week for the next few months.

  • Pingback: Virtual Volumes Links » Welcome to vSphere-land!()

  • Rick Lowe

    Are VVOLS essentially a replacement for VMare Datastore Clusters, with perhaps some additional layers of abstraction as well as new features and mangement capabilities?