VMware Distributed Resource Scheduler is a well known VMware feature which is one of the most helpful escpecially in bigger environments. It’s used to balance the load (CPU and Memory) between ESXi hosts in cluster. However, in previous releases it has an imperfection.
Let’s imagine a fallowing situation shown below:
Assume you have three host in the cluster with 6 VM’s powered on. If you power on another VM it will be placed on the first host by DRS.
Although host 1 has saturated it’s network in 100% but the VMs running on it are not consuming a large amount of CPU/Memory the next VM will be placed on it. That will cause even bigger network troubles.
Fortunately in vSphere 6.5 DRS will help us in avoiding such situations. That’s due to new feature called Network-aware DRS, which are using the new DRS algorithm. It will now consider network bandwidth when making placement recommendations. It will calculate the Tx and Rx of the connected physical uplinks and avoid placing new VMs on hosts that are over 80% utilized. This is an additional placement consideration after all other placement decisions are made.
Caution! DRS will not reactively balance the hosts based on network utilization. Perhaps in future releases it will ?
To sum up – Network-aware DRS:
- Adds network bandwidth considerations by calculating host network saturation (Tx & Rx of connected physical uplinks)
- Avoids a over-subscribing a host network links, although not guaranteed. Best effort approach. CPU & MEM performance is still priorities over network.