This is the start of many blog posts around the recent Purity 5.0 release. I figured I would start with one that doesn’t require an upgrade of Purity to even get!
Alongside Purity 5.0, we released the 3.0 version of theFlashArray plugin for the vSphere Web Client. This is bundled in Purity 5.0, so if you upgrade any one of your FlashArrays you can then use it to upgrade the plugin in one or all of your vCenters.
Let me be clear though–if you want to use VVols or ActiveCluster you need Purity 5.0. Without Purity 5.0, you can use the 3.0 plugin of course, but you can only use non-VVol or non-ActiveCluster features.
And I wanted to upgrade my whole lab environment to it and I haven’t set up auto-deploy or update manager yet (I plan to, making all of this much easier to manage). So I wrote a quick and dirty PowerCLI script that updates to the latest patch and if the host doesn’t have any VMs on it, puts it into maintenance mode and reboots it. I will reboot the other ones as needed.
Ah, VVols. The VMFS Datastore killer. And very soon, the RDM killer.
Virtual Volumes (VVols) is a spec from VMware that allows storage vendors implement virtual disks as they see fit. On FlashArray, we’ve implemented VVols virtual disks as just regular volumes on the array.
Think about what that means for a second.
It means that you now get virtual disk granularity of VMs for not only data services on the array, like snapshots, and clones – but you also get virtual disk granularity for replication. You’re no longer forced to snapshot/clone/replicate entire datastores, or dealing with pesky, slow SCSI bus rescans and even more painful datastore resignature operations.
For a technical introduction to VVols, go ahead and watch this playlist with videos from my coworker and VMware extraordinaire, Cody Hosterman. Keep reading after for a discussion on running SQL Server workloads on VVols.
Done with the videos? Cool. If not, make sure you watch them later – they have the best explanation of how VVols work that I’ve seen out there. And even if you don’t use FlashArray, the explanation and concepts apply (mostly) the same.
SQL Server on VVols: The Good, The Bad, and The Ugly
Did I scare you with the title? Sorry, that was meant to throw you off.
Repeat after me: VVOLS SHOULD BE YOUR FIRST CHOICE FOR VIRTUALIZING SQL SERVER ON TOP OF VMWARE VSPHERE, PERIOD.
With VVols, you maintain the performance of an RDM with the agility of a VMDK. No more worrying about thin vs eager zero thick or any of that nonsense!.
Moving between physical volumes, RDMs and VVols is extremely straightforward on FlashArray. A move to VVols from VMFS basically entails a simple storage vMotion, which on FlashArray is an array deferred, metadata-only operation. Since FlashArray is a data reducing array, a storage vMotion from VMFS to VVols is just a VAAI XCOPY operation. Your new “copy” will only consume a little bit of space for the metadata, and nothing else. An RDM to VVols migration is also pretty straightforward, and there’s no VMFS datastore “container” to worry about. It’s exactly the same layout on the array, whether you go physical, RDM, or VVols. And you’re not “stuck” with VVols once you make the decision to go down that route for a given virtual disk. If you need to go back to VMFS, just storage vMotion it back, simple as that.
When Can I NOT Use VVols Then?
There is only one scenario where you can’t quite use VVols for SQL Server, and that’s when you have shared storage between SQL Server instances, which is the case for Failover Cluster Instances (FCI), which you probably just call “clusters” and VMware keeps calling “MSCS” (for Microsoft Cluster Server), which is nomenclature from 2003, feels like 1989, and no one should be using anymore.
However, there’s good news on that front! VMware will support SCSI-3 reservations on VVols starting with version 6.7, which is in beta right now from VMware. Go ahead and read Eric Seibert’s blog post on VVols futures for more information on that. At that point, I don’t want any of you even mentioning VMFS to me, unless you’re running a version of vSphere prior to 6.5 (which is our requirement for VVols). But quite honestly, VVols is a pretty compelling reason to upgrade to 6.5, or 6.7 when it comes out!
So What About Cloning?
My coworker and former (should I say recovering?) Oracle DBA Somu Rajarathinam wrote a great post on Oracle database cloning with VVols and FlashArray. Rather than me just translating that post to SQL Server lingo, I’ll just link to it here and let you enjoy. The concepts on SQL Server are extremely similar so just picture in your head what that would look like.
That’s it for this post, but let’s be sure to continue the conversation on Twitter by mentioning me (@DBArgenis), Cody (@codyhosterman) or just using the hashtag #PureStorage.
One of the most strategic benefits of Virtual Volumes is how it opens up your data mobility. Because there is no more VMDK encapsulation, VVols are just block volumes with whatever file system your guest OS in the VM puts on it. So a VVol is really just a volume hosting NTFS, or XFS or whatever. So if a target can read that file system, it can use that VVol. It does not have to be a VMware VM.
Let me start out with: YES our VVols deployment will be GA VERY soon. I am sorry (but not really) for continuing to tease VVols here.
This is one of the reasons we do not treat VVols on the FlashArray any differently than any other volume–because they aren’t different! So there is no reason you can’t move the data around. So why block it??
Some possibilities this function opens us:
Take a RDM and make it a VVol
Take a VVol and present it to an older VMware environment as a RDM
Take a VVol and present it, or a copy of it, to a physical server.
On the FlashArray we are also introducing something called CloudSnap, which will let you take snapshots of volumes (aka VVols) and send them to NFS, or S3 to be brought up as a EBS volume for an EC2 instance.