Before we share some information about Storage DRS (distributed resource scheduler), I think it is a good idea to discuss what Storage DRS (SDRS) is. SDRS is a vCenter Server feature that allows intelligent and efficient management of Virtual Machine File System (VMFS) and Network File System (NFS) storage.

The same way that DRS optimizes the performance and resources of your vSphere cluster, SDRS does this with storage.

Traditional DRS watches the resource consumption in your cluster and provides you with solutions to balance your workloads (your VMs) automatically. In case one of your hosts is getting overprovisioned, DRS takes care of the situation and redistributes the load.

You can either configure SDRS to execute the changes automatically with the Fully Automated mode (vMotion of VMs), or you can have just the messages telling you which VM vMotion will move and where. In this case, choose No Automation (Manual Mode).

SDRS works with datastores. It allows you to pull together different datastores in your datacenter and create a datastore cluster (SDRS cluster) of resources.

While it supports both NFS and VMFS, you can't add NFS storage to your VMFS-based SDRS cluster.

SDRS works with two storage metrics:

  1. Space
  2. Input/output (I/O)

SDRS uses a storage I/O control to retrieve the I/O metrics required to create load-balancing recommendations.

VMware SDRS main features

Let's look at the five different core storage features of VMware SDRS. These five core features are the main operations SDRS performs:

  1. Resource aggregation: Allows you to group multiple datastores into a single pool of storage, which then becomes a datastore cluster
  2. Initial placement: Ensures disk placement when initiating certain VM operations (create VM, add disk, clone, or relocate)
  1. Load balancing based on space and I/O: As stated, SRDS uses I/O as a metric. It dynamically balances the SDRS cluster imbalance. I/O and space are the two metrics it uses, and they have certain (modifiable) default thresholds. The default space threshold per datastore is 80%, whereas the default I/O latency threshold is 15 ms.
  2. Datastore maintenance mode: This helps you when performing hardware maintenance. SDRS will do a storage vMotion for all the VM files (all VMDKs stored in the datastore).
  3. Inter-/intra-VM affinity rules: It is possible to create affinity or anti-affinity rules between VMs or VMDKs and keep disks together (separate) on datastores.

Let's look at an overview of the SDRS configuration at the cluster level. From the vSphere Client, select Storage > Your datastore cluster > Edit Settings.

VMware SDRS settings

VMware SDRS settings

The Runtime Settings tab will let us enter different values or simply disable the I/O metric.

VMware SDRS runtime settings

VMware SDRS runtime settings

The Advanced options tab gives us a view into the affinity settings where, for example, we can modify the I/O imbalance threshold or the minimum space usage difference.

The I/O imbalance threshold is the amount of imbalance SDRS should tolerate. When you use an aggressive setting, SDRS corrects small imbalances if possible. When you use a conservative setting, SDRS produces recommendations only when the imbalance across datastores is very high.

VMware SDRS advanced options

VMware SDRS advanced options

VMware SDRS enhancements in vSphere 6.7

Now that we know what SDRS is about, let's talk about some of the enhancements and improvements added in vSphere 6.7.

While it's not possible to increase transfer speed between datastores where you'll hit the limit of your underlying hardware (such as network and storage system), it is certainly possible to speed up the decision-making process. VMware has put a lot of effort into this between vSphere 6.5 and 6.7.

In fact, most improvements are in this area. It takes significant time to calculate the placement recommendations for VM disks. VMware has greatly improved this latency in vSphere 6.7.

Additionally, this latency is even more "visible" when issuing multiple VM provisioning requests in parallel.

So this is why VMware made many changes in vSphere 6.7 to improve the time to generate placement recommendations for provisioning operations.

When creating several provisioning requests in parallel, and there are no storage reservations for VMDKs, the improvements in execution speed are quite substantial.

Other VMware products for automation and management, such as vRealize Automation, use blueprints to deploy a large number of VMs automatically. In this use case, users and admins will see a great improvement in provisioning times for situations when there are no reservations.

Also, VMware improved the inside DRS steps that happen before issuing recommendations. The time to issue those recommendations is now much shorter even for standalone provisioning requests without (or with) reservations.

VMware published a whitepaper where they conducted different tests for SDRS on the vSphere 6.7 platform. It came out with some great results showing, for example, a datastore enter maintenance improvement of almost 14x in vSphere 6.7 compared to vSphere 6.5.

The concurrent VM operations show an improvement of between 20x and 30x in vSphere 6.7 compared to vSphere 6.5. You can look at the detailed PDF here.


Let's look at some recommendation from VMware concerning SDRS.

  • Don't mix disks: They recommend not mixing SSDs and hard disks in the same datastore cluster. Pick datastores that are as homogeneous as possible in terms of host interface protocol (i.e., FCP, iSCSI, or NFS), RAID level, and performance characteristics.
  • Don't exceed the limits: You should not exceed 64 datastores per datastore cluster and 256 datastore clusters per vCenter.
  • Optimize performance: While the minimum for an SDRS cluster is two datastores, it is not an optimal configuration for the system. SDRS will perform better when more than two datastores are in the SDRS cluster because it will be able to balance the loads and distribute the free space better.
  • Disable Intra-VM affinity: To maximize SDRS performance, you can override the default intra-VM affinity rule at the VM level or at the cluster level.

Final words

With much faster SDRS recommendation times, VMware is encouraging their customers to migrate to vSphere 6.7. Even on smaller infrastructures, it performs much better for clustered operations and especially for SDRS and VM operations.

VMware SDRS is a great technology that allows optimizing storage resources within your cluster. Your VM operations will initiate faster with less delay, which makes things finish earlier as well.

Subscribe to 4sysops newsletter!

VMware continues to improve vSphere 6.7 with the latest vSphere 6.7 Update 3, which we wrote about a few weeks ago. Admins for vSAN will find out more details about their vSAN datastores and especially the storage consumption.


Leave a reply

Your email address will not be published. Required fields are marked *


© 4sysops 2006 - 2023


Please ask IT administration questions in the forums. Any other messages are welcome.


Log in with your credentials


Forgot your details?

Create Account