Most of you must be aware that we use vMotion technology to move Virtual Machines between ESXi hosts without any sort of downtime.
DRS is a vCenter feature which makes use of the vMotion technology to keep the cluster in balance. DRS is a feature which has been around for many years and quite simply one of the best ones.
DRS groups all the ESXi Servers within the cluster as one group on Memory and CPU. It keeps the cluster balanced by moving around the VMs based on the usage and available resources on each host.
There are various automation levels available when you enable DRS on the cluster.
- Manual
- Partially Automated
- Fully Automated
When there is an imbalance in the cluster, DRS detects it and checks which VMs will better suit the hosts in the cluster and a migration recommendation is generated, and the VM will vMotioned to other hosts.
DRS looks at several aspects to VM performance like CPU ready time, CPU utilization, memory active and memory swapped to make intelligent placement decisions.
For System Administrators, it is always been difficult to make sense of how DRS is doing its job. On the vSphere client, you could only see that vMotion is taking place to balance the cluster.
This is where the new Fling DRS Doctor comes into the picture. This tool will help vSphere Administrators to understand a little deeper as to why the decision was made to move a particular VM.
DRS Doctor records information about the state of the cluster, the advanced settings applied, the workload distribution, the virtual machine entitlements, performance demand, the recommended DRS moves, and more. Even better, DRS Doctor writes all this data into a log file that requires no special tools to read.
And it saves all of this information in a log file which is easy to read. If you interested in giving this a try, head over to the Flings Website to download. You can click here to go directly to the download.
Prerequisites for Installation:
- Requires Python 2.7.6 or higher
- Requires Python modules “pyyaml” and “pyvmomi”
How to Deploy/Use DRS Doctor:
- Install python 2.7.6 or higher.
- Install python modules “pyyaml” and “pyvmomi”
- Review the ReadMe.txt in the source folder on how to configure and run the tool against your VC. The configuration is pretty straight forward.
- If you need to install pyvmomi, you can install with "pip install pyvmomi"
Note: For installation steps on CentOS 6.5, please see the linked pdf.
I would highly recommend using the above PDF file to deploy DRS Doctor in your lab as I did the same.
How Is the DRS Doctor Log Output Different From What We Can See in the vCenter Client UI?
- UI doesn't report the reasons for every DRS move (it only posts the number of migrations initiated by DRS).
- UI doesn't provide a summary of cluster operations in the last DRS interval. The list of operations, along with reasons for DRS moves, can provide useful correlations to help understand DRS moves better.
And if you want to see an example of how this all works in action, click here to see Mathew Meyer from VMware explain each step on the VMware vSphere Blog.
If you find this information valuable or have suggestions and other feedback, please make sure to post your thoughts to the Flings page for DRS Doctor.