Just about every vSphere administrator knows the pain of having several data stores and virtual machines spread...
out in a random, less-than-optimal manner -- and the more data stores you have, the more maintenance you'll have to do to ensure that they're healthy. Administrators must regularly deal with machines that require higher levels of performance from the storage array than others.
Managing all this storage is not only boring, it's time-consuming. Fortunately, VMware developed the vSphere 5.1 Storage Distributed Resource Scheduler (DRS) and storage clustering to address this issue. With Storage DRS and storage clustering, admins can automatically manage virtual machine storage capacity and resource requirements. These tools also allow you to seamlessly move VM storage around to provide optimal usage and speed, saving time. In this article, we'll do a quick demo to show you how to implement Storage DRS and storage clustering.
What does Storage DRS do?
Storage clustering essentially acts as an abstraction layer above standard data stores to more efficiently manage storage requirements. Storage DRS sits on top of the storage cluster and manages capacity and resource performance across the data stores to balance them. Storage DRS also automatically manages data store capacity by periodically checking the data stores' capacity and constraints, moving machines around to get any data store that is more than 80% full remediated. Storage DRS automatically runs this check every eight hours.
Similar to VMware Distributed Resource Scheduler, Storage DRS has affinity rules, to ensure that storage for VMs is kept on certain clusters, as well as anti-affinity rules. One such anti-affinity rule prevents two disk-heavy I/O-bound machines from residing on the same data store. These functions can be accessed via the storage menu once you've installed and configured Storage DRS.
Set up a basic Storage DRS cluster
To set up a basic DRS cluster, log in to the vSphere Web Client and select the "Data Stores" tab. Select the top level data center object and right-click. From the menu, select the "Storage" tab as shown in Figure A. Select "New Datastore Cluster."
The next screen, shown in Figure B, is the initial configuration screen. After you give the data store cluster a name, Storage DRS will turn on by default and provide the benefits described in the introduction. Leave it ticked and click "Next."
This screen may look complex, but it isn't -- it's all about fine-tuning your setup. The cluster automation level is very much the same setup as the classic DRS you are used to. You can leave it to suggest migrations or turn on automatic positioning.
Subsequent options allow you to fine-tune your choices. The first two options are quite self-explanatory: they allow the server to balance both storage usage and I/O operations to ensure that no one data store is too overworked. Unless you have any other reason to modify the defaults, I would suggest leaving them as they are, at least initially.
At this point, we're in the homestretch. I created two small Network File System shares -- SDRS1 and 2 -- to show as examples. It should go without saying that the data stores should be available cluster-wide. You can click on the "Hosts" tab if you really want to do Storage DRS on a single host.
The "Ready to Complete" screen allows you to select the data stores to add into your data store cluster, and then click "Next."
As you can see in Figure C, the final screen gives an overview of the disks, clusters and setup. If you're happy with the setup, click "Finish" and vCenter will go ahead and create the Storage DRS cluster.
The Storage DRS will then be available in the storage view, as well as every other view, but will look slightly different.
Putting Storage DRS into action
Now that Storage DRS has been set up, you can use it as you would any other storage data store. Figure D depicts an example of deploying a VM. Notice how selecting the storage cluster brings up a slightly different menu. Left to its own devices, vCenter decides which data store to place the VM on or, if so desired, you can manually select it and leave the VM out of the storage cluster by ticking the box titled "Disable Storage DRS for this virtual machine."
You can view vCenter recommendations on the final page. vCenter automatically placed it on the best data store within the cluster. If you want to see what other options are available, you can do so by clicking the "More Recommendations" hyperlink. If you want to implement one of the other changes, select the desired option and click "Apply Recommendations."
There are a few things you need to know in order to get along with Storage DRS. Mixing data store types isn't the best idea. Also, keep performance tiers all the same; VMware has the capability to manage performance tiers, but that is an undertaking for another day. In order to use Storage DRS, you need to have Enterprise Plus licensing. In addition, storage rebalancing only happens every eight hours to prevent overloading the storage and vCenter. You can change this in the advanced options.
It's also possible to use I/O imbalance threshold to change how aggressively machines are moved around to fix imbalances. To modify these options, go to the data store view, select the data store cluster and then the "Edit" option.
As you can see in Figure E, under advanced options, you can change a lot. I would suggest that you double-check the impact before changing anything.
In summary, data store clusters are a very useful addition, especially in larger environments with highly variable loads and storage requirements. The best way to look at Storage DRS is to give it a try and see how it works for you.
vSphere Storage DRS improves VM storage performance
Learn how to create custom VM placement rules
Customize vSphere DRS to improve performance