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
|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
|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:
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.
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 (https://www.5nine.com/5nine-manager-for-hyper-v-product.aspx) 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 https://technet.microsoft.com/en-us/windows-server-docs/failover-clustering/vm-load-balancing-deep-dive.
- Using the Azure Portal to Create Virtual Networks, Add Subnets and Setting up a DNS Server Address - October 17, 2017
- Extend Azure Virtual Machine OS drive using Azure Portal - June 30, 2017
- Creating a Windows Virtual Machine and Availability Set at the same time using the Azure Portal - June 11, 2017
- Remove a Node from a Windows Server 2016 Hyper-V Cluster and Destroy a Cluster Procedure - May 14, 2017
- Best Practices on Setting up Hyper-V Cluster Networks in Windows Server 2016 - May 10, 2017
- Implementing Failover Clustering with Windows Server 2016 Hyper-V - May 6, 2017
- Configuring iSCSI Storage and Initiator in Windows Server 2016 - April 20, 2017
- Upgrading the VM configuration version in Windows Server 2016 Hyper-V - April 5, 2017
- VM Load Balancing in Windows Server 2016 - March 31, 2017
- Cluster OS Rolling Upgrades in Windows Server 2016 - March 29, 2017