Tuesday, 15 January 2019

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
AutoBalancerModeBehavior
0Disabled
1Load Balance on node join
2Load Balance on node join and every 30 minutes (default)

Using PowerShell to configure:
(Get-Cluster).AutoBalancerMode=<value>
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
AutoBalancerLevelAggressivenessBehavior
3HighMove when host is more than 60% loaded
2MediumMove when host is more than 70% loaded
1Low (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.

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.




Summary:
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.

No comments:

Post a Comment