Tag Archives: Drs

Advanced DRS vSphere 6.0 Concepts

Doing a DRS running blog on some advanced and best practices from the #inf5306 sessions

Let’s begin with what metrics it collects to asses the state of your environment

  • Host level and VM level stats and metrics 
  • Host memory and CPU reserved for doing various host based tasks such as FDM agent memory and CPU requirements. Another example is vMotion task requirements of CPU memory and networking
  • VM metrics include Active memory, memory overhead and growth rate. Other metrics include CPU active, run and peak loads. Shared memory pages are also looked at.
  • DRS also looks if the demands and the entitlement for vm resources are being met
  • During initial placement DRS checks if any performance impact occurs to the currently running virtual machines

Initial placement and constraints which play a big role in decision making for initial VM placement

  • HA admission control policies i.e slot based, reserved % for failover etc
  • Affinity and anti-affinity rules to ensure virtual machines are not misplaced
  • DRS looks into total number of concurrent vMotions and time to vMotion. Limit the number of vMotions to ensure your management network is not flooded and resources are not consumed on both sides unless absolutely necessary
  • DRS checks for data store connectivity as well to ensure that a VM is not moved to a host with bad connection 
  • DRS looks at the vCPU to pCPU ratio
  • Reservations, limits and shares act as a constraint that is looked by DRS 
  • Agent vms also act as a constraint for example a VM which has a dependency with an agent VM will not be moved.
  • Special vms such as SMP-FT, vFlash and latency sensitive vms

New features for DRS in vSphere 6.0

  • Network aware DRS (NDRS v1) – allows admins to specify network bandwidth reservation for critical vms. Initial placement of the VM is based in VM bandwidth reservation. Any remidiation is also handled such as a when a pNIC saturates or fails.
  • Cross virtual center xVmotion placement involves unified host and data store recommendation. This means when a VM moves from one vc to another vc – recommendations are made based on characteristics in both vc’s. VC here is virtual center. This is done by running a combined DRS and SDRS algorithm. 
  • Rule migration is a feature in DRS where a virtual machines’ rules are carried over as part of the migration either within a vc or between virtual centers. The rules here does not include VM to host affinity rules 

vSphere 6 has also done some overhead resource consumption improvements. There are improvements in static overhead which is the minimum memory needed to power on the VM. The good thing is DRS will now compute the static overhead. In ESXi worst case scenario the static over head is at 986.06 MB – is what should be available on the hypervisor to be able to power on virtual machines without affecting performance

DRS Advanced Options

Now it’s not common to tweak these options but these will come in handy to many unique deployments.

  • Uniformly distribute vms across all hosts – set value of 1 or 2 for LimitVMsperesxhost or Limitvmsperesxihostpercent
  • vCPU to pCPU ratio – MaxVcpuspercore and maxvcpusperclusterpct
  • vMem to pMem ratio – maxhostmemovercommitpct and maxclustermemovercommitpct
  • Active memory vs consumed memory management – percentidlembinmemdemand 

Hope this was helpful! 🙂


I haven’t tried this yet but turns out disabling DRS literally destroys all resource pools and leaves vCloud Director inoperable. Sounds nasty but thats what VMware is telling us.

Well so is there a fix? Well seems like there isn’t! You have to recreate the entire environment in vCloud Director which, can be, a lot of work. Not just you have to clone the vm’s in vCloud director as existing vms will all be deleted with the work around suggested by VMware.

Disabling DRS in vCenter Server destroys all resource pools and renders vCloud Director inoperable. It is recommended that you contact VMware technical support for assistance with recovering from this issue.

Here is the full KB article that also has the work around to the issue.

Bottom lab, do not disable DRS in vCenter. You will need it to allow vms to move around to satisfy their resource requirement. If you do not want a vm to move around, I recommend using the DRS rules to pin a virtual machine to a specific hypervisor.

You can alternatively deploy that virtual machine on a local disk for a hypervisor that will prevent it from moving around.