VM Load Balancing in Windows Server 2016

VM Load Balancing is a new built-in feature in Windows Server 2016 that identifies idle nodes in a cluster and distribute VMs to utilize them. This is achieved by analyzing the VM memory and CPU pressure of each node, and then VMs are Live Migrated to idle nodes with no downtime.

Controlling VM Load Balancing Mode:

VM Load Balancing is enabled by default and when load balancing occurs can be configured by the cluster common property “AutoBalancerMode”.

Cluster common property – AutoBalancerMode

AutoBalancerMode Behavior
0 Disabled
1 Load Balance on node join
2 Load Balance on node join and every 30 minutes (default)


Using PowerShell to configure:


Configuring Load Balancing Mode with Failover Cluster Manager:

Open Failover Cluster Manager Windows, expand Failover Cluster Manager in the left-hand pane, right-click on the cluster name and select Properties.

On the Cluster name Properties dialog box, click on the Balancer tab, and make sure that Enabling Automatic Balancing of Virtual Machines is enabled by default. Under Mode, choose between the Load balance to a node when it joins or Always load balance options.

Controlling Aggressiveness of Load Balancing

Aggressiveness controlled by cluster common property –AutoBalancerLevel

AutoBalancerLevel Aggressiveness Behavior
3 High Move when host is more than 60% loaded
2 Medium Move when host is more than 70% loaded
1 Low (Default) Move when host is more than 80% loaded

Using PowerShell to configure:

(Get-Cluster). AutoBalancerLevel=<value>

Configuring Load Balancing Aggressiveness with Failover Cluster Manager:

On the Cluster name Properties dialog box, click on the Balancer tab, under Aggressiveness, choose between the options High, Medium or Low and then click OK.

Related Post  Cluster OS Rolling Upgrades in Windows Server 2016

VM Load Balancing, which is targeted towards deployment without System Center Virtual Machine Manager (SCVMM). SCVMM Dynamic Optimization is the recommended mechanism for balancing VMs load in your cluster for SCVMM deployment. SCVMM automatically disables the Windows Server VM Load Balancing when Dynamic Optimization is enabled. 5nine Manager ( also provides VM Load Balancing functionality called Optimizer that performs dynamic load balancing between Hyper-V hosts accordance with user-defined settings such as CPU Time (90% default), Available Memory (90% default) and Total Disk Time (100% default).When any of these values is exceeded and less loaded host is available the VMs migration will be initiated by Optimizer.




Windows Server 2016 automatically load balances virtual machines across the cluster based on current memory pressure and CPU utilization of the Node which is enabled by default. For more information please check Microsoft TechNet


One comment

  • vijay

    I need Network load balancing in round robin method . client-1 connect to server1 and next client -2 move to server2. client-3 to server1 and so on….

Leave a Reply

Your email address will not be published. Required fields are marked *