Implementing Storage DRS (SDRS) in VMware vSphere

Tell me if this happens to you; You have a VMware virtual environment with a certain number of VMFS Datastores that are perpetually full all of the time. You might even need to Storage-vMotion VMs around to even out the storage load on your datastores and it's somewhat of a chore. Well, does it?

This is where Storage DRS comes in. Just like how Distributed Resource Scheduler (DRS) for CPU and RAM resources manages VMs making sure the load between the hosts is relatively fair (or rather that the VM has the resources it needs to perform optimally), SDRS comes in to make sure VMDKs have access to the right amount of free storage & IOPS.
Thankfully, this is one of those configuration items with a relatively low barrier to entry. The jist of the configuration is that all you really need to do is create a datastore cluster and enable SDRS on the cluster management object (aka, the feature sits at the cluster level). 

If you're environment is like mine, you've upgraded vSphere from v4.x and could have VMFS datastores that have different block sizes. SDRS doesn't like datastores having a different block sizes. In the v4.x days, your VMFS datastores were probably formatted as VMFS-3, which was the standard at the time. For v5.x, the standard format for datastores was VMFS-5. You still have the option of using VMFS-3 formatting for new datastores made in vSphere 5+. You can upgrade your datastores from VMFS-3 to VMFS-5 quite easily but the default block size of VMFS-3 will carry over and it won't be the standard 1Mb block size that's with VMFS-5. Mixing block sizes in a datastore cluster can cause a loss in efficiency and an increase in the lead time of storage vMotion processes.

For a deeper dive on the differences between VMFS-3 and VMFS-5, I recommend checking out this post from Jason Bosche. If you want more information on how block size can mess with SDRS, I recommend checking out this post from Cormac Hogan.

Thus, if you upgraded from vSphere v4.1 or v4.0, you may need to create new VMFS datastores and add them to a datastore cluster. You can verify your datastore block size in the web-client by looking at your datastores, selcting the "manage" tab, clicking the settings button and expanding out the File System section, as shown below. 



In my case, I've verified that all of my datastores are a consistent block size, so I can go ahead with creating a datastore cluster and adding my datastores to it. However, if you did have inconsistent block sizes amongst your datastores, you'll likely need to add more datastores and create them as part of a cluster, move VMs over, delete an old datastore and recreate anew within your cluster. Rinse & repeat until you're finished and BAM, you're running Storage DRS in your environment, doing it right and no longer have to manually Storage vMotion VMs around to keep a datastore from filling up. 

Creating a datastore cluster is easy in vCenter. I created a few new datastores (something I was going to do anyway) and created my datastore cluster. Simply right-click on the datacenter object in the Storage view and select "Create a Datastore Cluster" from the right-click menu.


Creating a datastore cluster isn't much different than creating a datastore. You follow through the wizard and select which datastores you want to cluster together. In the same wizard you can enable & configure SDRS, or disable it entirely if you want. 

Comments

Popular posts from this blog

Installing CentOS 7 on a Raspberry Pi 3

Modifying the Zebra F-701 & F-402 pens

How to fix DPM Auto-Protection failures of SQL servers