vCD Fast Provisioning, VAAI, & NetApp

By on 01/26/2012.

vStorage APIs for Array Integration (VAAI) is a set of features and primitives designed to enable vSphere to offload storage functionality to underlying intelligent storage arrays, reducing network bandwidth, and increasing the overall performance of the process by up to 10x.

Traditionally, this was exclusive to block storage, but with the release of vSphere 5, VMware added the ability to leverage VAAI for NFS for Copy-Offload.

In addition to that, VMware also released vCloud Director 1.5, which includes new Linked Clone functionality, similar to that of VMware View.  Unfortunately, the problem still exists where Linked Clones are inherently misaligned.

With VMware View, NetApp developed the Rapid Cloning Utility that is now a native provisioning function in the Virtual Storage Console.  I can tell you that there is priority work being done to accomplish this same functionality with regards to vApp cloning within vCloud Director.  Very cool stuff, and you’ll see it soon.

Part of my job at NetApp is to build-out use-cases for these sorts of things.  My group at NetApp doesn’t have a “product.”  We don’t focus on one particular thing.  Well, we do, technically, but it isn’t a line item on a PO anywhere.  We are in the business of being a think-tank.  Ever seen the movie BIG, with Tom Hanks?  That’s a bit like what I equate my job to, to an extent.  I get to play with cool new technology, and tell people what I think about it, how it could be changed for the better, and tell the end-users how best to make use of our products in conjunction with other partner products.  It’s the coolest job I’ve ever had.

So, for today’s post, we’re going to talk about how to put vCloud Director (“vCD”) on top of NetApp, and what cool things come into play when you do so.

Specifically, I want to talk about one key, often-overlooked, new feature in vCD 1.5:

Fast Provisioning

“What is Fast Provisioning, Nick?”

Fast Provisioning is the functional equivalent of Linked Clones in vSphere.  As a matter of fact, it’s technically the same, you’re just provisioning vApp’s instead of individual virtual machines.  These vApp’s can include one or many VM’s.  Most of us are aware of some of the technical fallacies of Linked Clones that led to the development of our Rapid Cloning Utility for vSphere.  They’re misaligned.

Let me be clear here:  You’ve taken good care to insure the offset of your golden template/image is aligned.  Good for you.  Unfortunately, this is not the problem.  The underlying functionality leverages VMware native snapshots, that are essentially delta disks of the golden image.  These are not always going to be written to the same block size.  Even though you’ve taken good care to align your golden image’s VMDK, there’s no way you can align each delta snapshot.  This is a fallacy of the VMware snapshot engine.  We know this.  They know this.  I’m sure it’s tops on their list to fix at some point.

Since vCloud Director heavily leverages this, how do we combat it?  We’re gonna disable Fast Provisioning in vCloud Director.

“HUH?!”

Yup, you heard me right.  Turn it off.

“Why in the hell would you disable that kickass technology, Nick?!”

VAAI.

What happens when you disable Fast Provisioning in vCD?  vCD will fall back on however the underlying vCenter is configured.  And you’ve got VAAI configured and enabled on your vSphere 5 ESXi hosts, don’t you?!  I thought so!  If you don’t, check out TR-3886 for a complete walkthrough on how to do it on NetApp storage!

This is always a “results may vary” topic based on what kinds of servers you’re using for ESXi5 hosts, and what size storage controllers you’re using, but the general idea is to remove the heavy-lifting of a cloning operation from your servers and offload them to your storage controllers that are better-suited for storage processing anyway.  This can improve all sorts of things, but most notably we see a reduction in the total time to clone.  This is because instead of sending I/O SCSI commands between hosts and storage controllers, the host is simply saying, “Hey you!  Yea you, storage controller!  Copy this file!”

All of this works the same on every storage controller out there that I know of, give or take an intricacy here and there.

“But Nick, you’re a NetApp guy… is there anything else that makes this awesome on NetApp?”

Ah!  YES!  I’m glad you asked!

With VAAI enabled, and certains conditions met (listed in the TR-3886 I noted above), we are able to leverage our snapshotting technology, create many clones near-instantly, and register those into vCenter.  This is the fundamental of what our Rapid Cloning Utility does.

UPDATE:  To be clear here, we do not have the equivalent of a NetApp “Rapid Cloning Utility” for vApp’s in vCloud Director.  Yet.  It is something we are diligently working towards.  What I am describing is how the offload process would work under the covers by simply turning off Fast Provisioning.  As confirmed by Chris Colotti in the comments below, this has been around since before Fast Provisioning existed.  What we DO have is the proprietary snapshot technology that enables us to do near-instant snapshot clones instead of the full-copy clones.

So let’s put this all together…

You have a foundation of NetApp storage arrays hosting a vSphere 5 environment with VAAI configured and enabled, which is hosting a vCloud Director 1.5 environment with Fast Provisioning disabled.

Congratulations!  You’ve now averted the “linked clone” disaster of potentially overloading your storage controllers and making you look bad!  I’m here to help you look like a champion by using NetApp storage, and if you’re already using it, you’re already ahead of the game, regardless of what everyone else will tell you.

“OH HEY! Nick, we’re an all-NFS shop.  Does all of this apply for us as well?”

To an extent, yes.  VMware’s latest version of vSphere has Copy Offload support for NFS.  Configuring VAAI for NFS requires a plugin installation into each of your ESXi5 hosts.  We’ve streamlined this into a quick deployment wizard in the latest version of our Virtual Storage Console plugin.  You can certainly perform everything I’ve listed above in vCD on vSphere 5 on NFS.

You can participate in the active public BETA of the VSC 4.0 here:

http://communities.netapp.com/groups/vsc-40-external-beta

WE WANT YOUR FEEDBACK!

The deployment wizard for the VAAI NFS plugin is only one of the many, MANY, enhancements made to VSC 4.0.  You can read all of the documentation, Release Notes, and feature-adds in the community link above.  Look for future posts from me on the other features in the coming weeks, including details about the Online Alignment Tool, and support for our latest version of our unified operating system, DataONTAP 8.1, including “Cluster-Mode.”  More on that soon as well!  (I know I’ve been absent and busy, but you’ll see why soon!)

I’d love to hear any feedback you have, or anything you’d like to see in the comments below!

Do you currently use the VSC for Host Config of Best Practices?  Datastore Provisioning?  Backup & Recovery?
How do you currently use the VSC?
If you don’t use it, I’d also love to hear why not?

NetApp SE’s and Partners, I’d like to challenge you to ask your customers these same questions!  If you’re having problems and need help, that’s what we’re here for!

As always, thanks for reading!

-Nick

20 Comments