By Frank Denneman, Sr. Technical Marketing Architect
Lately I’ve noticed that the Storage DRS I/O load-balancing feature is becoming synonymous for Storage DRS itself. Storage DRS can be used on almost every supported Storage Array today, however in certain scenarios depending on the array features, VMware recommend to disable the I/O load balancing feature. It appears that this situation is the root for questioning using Storage DRS in total, however there is more to Storage DRS alone than just the I/O load-balancing feature. Storage DRS offers a full range of extraordinary features that assist administrators in their daily operations and help architects and organizations to get more out of the virtual environment.
Initial Placement simplifies and speeds up the provisioning process by automating the selection of a datastore. The aggregation of multiple datastores into a single datastore cluster offers the admin a much smaller-scale decision as it now needs to select a single datastore cluster instead of picking one datastore out of many. Initial placement selects a particular datastore within a Datastore Cluster based on space utilization and I/O capacity. Even if I/O load balancing is disabled, Storage DRS analyzes overall IO statistics of the datastores and try to find the most suitable datastore. Even when the datastore cluster contains enough free space in total but not enough free space exists on each datastore to place a new virtual machine, Storage DRS will move virtual machines around to be able to place the virtual machine. This process is called datastore cluster defragmentation, read the following article for more in-depth information about this process.
Resource aggregation of datastores also helps with utilizing and incorporating new datastores into the virtual machine provisioning process. Many organizations uses separate teams to control and operate the virtual infrastructure. Before Datastore clusters, administrators in charge of virtual machine provisioning needed to be made aware of new datastores. Typically a (static) list is used containing datastores that are suitable for a specific service level agreement. Maintaining, controlling and using such a list is a tedious job. With Datastore Clusters, newly created datastores can be added to the datastore cluster and Storage DRS automatically incorporates them for selection during new virtual machine placement.
Where initial placement reduces complexity in the provisioning process, space load balancing, or as it is internally called "Out-of-space-avoidance", addresses imbalances within a datastore cluster. Space load balancing helps prevent out-of-space events on datastores inside the datastore cluster. If a datastore violates the space threshold, storage DRS will provide migration recommendations to solve the threshold violation. Depending on the automation mode (manual or fully automatic) migration recommendations are either provided to the administrator, or executed by vCenter automatically. When using thin provisioned disks, Storage DRS monitors the growth rate of the virtual machines and will include this in the evaluation process, reducing the monitoring overhead introduced by thin-provisioned disks.
Storage DRS applies smart placement rules by applying affinity rules on the virtual machine files. Affinity rules help in avoiding placing VMs with a similar task on the same datastore or they can help in keeping virtual machines together when required. By default Storage DRS applies an Intra-VM affinity rule to all new virtual machines in the datastore cluster. The affinity rule keeps the virtual machine files co-located on one datastore, which enables easy troubleshooting. However, virtual machines can be optionally distributed across datastores. The VMDK anti-affinity rule keeps the virtual machine disk file of the virtual machine on different datastores. Storage DRS offers VM to VM anti-affinity rule as well, keeping the virtual machine disk file of multiple virtual machines on different datastores. Maximizing availability of a set of redundant VMs
Datastore Maintenance Mode is one of those features that you will typically not use often; you will appreciate it when you need. Datastore Maintenance Mode can be compared to Host Maintenance Mode: when a datastore is placed in Maintenance Mode all registered virtual machines, on that datastore, are migrated to the other datastores in the datastore cluster. Typical use cases are data migration to a new storage array or maintenance on a LUN, such as migration to another RAID group. Recently I wrote an article on how to leverage datastore maintenance mode for a storage migration process.
So there you have it, Storage DRS does not equal IO load balancing. Storage DRS is a feature rich product that improves agility with rapid and simpler virtual machine placement, balances storage space and (potentially) I/O load and improves or safe guards application performance by avoiding storage resource bottlenecks. Bottom line, Storage DRS should be used by everyone, it just depends on the storage system and its capabilities the way Storage DRS is configured.