How to Configure Storage DRS Datastore Clusters in VMware vSphere
Distributed Resource Scheduler (DRS) is one of the key VMware features that optimize the performance and resources of your vSphere cluster. With vSphere 5.0, VMware introduced “Storage DRS” which uses Storage vMotion to move Virtual Machine Disk files (VMDKs) between datastores in a Datastore Cluster.
This advanced capability is only available with the Enterprise Plus license of vSphere, which is normal, as only the upper class of enterprise customers will have a significant number of datastores that need easier management.
A graph from VMware showing Storage DRS
As with host DRS, Storage DRS provides effective initial placement of virtual machine disks as it tries to put the disks on the datastore with the least average I/O latency and highest free disk space in the cluster. But unlike DRS, initial placement is always manual with SDRS.
After initial placement, SDRS keeps an eye on datastores to avoid out-of-space conditions. If the utilization of a datastore reaches a preconfigured value, DRS may recommend moving virtual disks off this storage to another less utilized datastore. It even looks at the history of space utilization growth and extrapolates that pattern into the next 30 hours before deciding which datastore is attractive.
It also keeps an eye on I/O latency and evaluates the last 24 hours, on average every 8 hours, to consider if it is a good idea to recommend moving virtual disks off heavily loaded datastores, as lower overall latency means higher throughput.
Like host DRS, Storage DRS does not recommend any moves that provide marginal benefits. It also considers and calculates that during storage migration there is an I/O cost on both the source and destination datastore.
You can also put a datastore in maintenance mode to make SDRS move virtual disks off the datastore to clear for decommission or a scheduled maintenance.
This makes the lives of both the SAN admin and the virtualization admin much easier while also reducing imbalances and service degradations that can be caused by choices that were not made after considering the data for important performance and utilization patterns.
Creating a New Datastore Cluster
The first step is to go to the Storage Inventory Tree, right click on a Data Center object and choose the “New Datastore Cluster” Option.
Give your datastore cluster a name and keep the “Turn ON Storage DRS” cluster box checked (after all that is why we are creating this cluster). Datastore Clusters can be used without SDRS to group datastores as a folder, but there is little value in that.
On the following step, you can chose whether you want a “Fully Automated” cluster that migrates files as it sees fit in order to optimize the datastore cluster’s performance and utilization, or, if you prefer, you can chose for it to ask you to approve recommendations. In contrast with host DRS where most admins trust it to run in automatic mode, most admins prefer to run SDRS in “Manual Mode.” Maybe because it is still a relatively new feature, but I believe that it is largely due to the fact that moving virtual disks takes significantly more time and resources than moving the running state of a virtual machine.
Here you can decide what utilization levels or I/O Latency will trigger SDRS action. To benefit from I/O metric, all your hosts that will be using this datastore cluster must be version 5.0 or later. Here you can also access some advanced and very important settings like defining what is considered a marginal benefit for migration, how often does SDRS check for imbalance and how aggressive should the algorithm be.
Then you pick what standalone hosts and/or host clusters will have access to the new Datastore Cluster.