One of the really great features of Storage DRS (SDRS) is the fact that it will balance Virtual Machines based on both space usage and I/O latency. In this post, I will talk about balancing based on space utilization and a little about the additional SDRS configuration options that are available for space usage.
By default, when you enable SDRS on a datastore cluster (see previous post for definition of a datastore cluster), balancing based on space usage is automatically configured. The threshold is set to 80% but can be modified if you so wish. What this means is that if space on a particular datastore is utilized 80% or more, SDRS will try to move VMs to other datastores using Storage vMotion to bring this usage value back down below 80%. The usage statistics of the datastores are checked on an ongoing basis.
If the cluster is set to automatic mode of operation, SDRS will use Storage vMotion to automatically migrate VMs to other datastores in the datastore cluster if the threshold is exceed. If the cluster is set to manual, the administrator will be given a set of recommendations to apply. SDRS will provide the best recommendations to balance the space usage of a datastores. As before, once you apply the recommendations, Storage vMotion will be used to move one or more VMs between datastores in the same datastore cluster.
It should also be noted that unless SDRS sees a utilization difference of at least 5% (default) between the different datastores, then it is not going to move VMs around the datastores in the datastore cluster, i.e. when SDRS sees that there is only a 3% space utilization difference between datastore1 & datastore2, then it will not make any recommendation to move VMs between these datastores, even if one datastore is above the 80% threshold. This 5% setting can be modified via the Advanced Options in the SDRS Runtime Rules section of the datastore cluster.
Again, to gain a certain comfort level with this new feature, I highly recommend running in manual mode, and examining the recommendations before applying them. This way you will see that Storage DRS is indeed doing the 'right' thing when selecting a datastore based on utilization.
You can also run Storage DRS with only space utilization checks and no I/O metrics checks by unchecking the I/O Metric Inclusion box shown above.
In my next post, I will discuss the other balancing feature of Storage DRS – load balancing based on I/O metrics, specifically latency.