Q. What is node fairness in Windows Server 2016 failover clustering?
A. System Center Virtual Machine Manager has long had a dynamic optimization feature which would rebalance VMs between nodes should the placement be uneven. This capability has now found its way into the core operating system with Windows Server 2016 in the form of node fairness.
Node fairness is enabled by default and based on memory and CPU utilization will automatically live migrate VMs between cluster nodes to rebalance utilization. There are some configurations as to how aggressive the balancing should be based on the host being 60, 70 or 80% utilized. This is configured via the AutoBalancerLevel property of the cluster for example:
(Get-Cluster).AutoBalancerLevel = 2
The values are shown below:
|AutoBalancerLevel||Agressiveness||Host load percentage|
It is also possible to configure the behavior of when the node fairness is used:
(Get-Cluster).AutoBalancerMode = 2
The values are:
|1||Balance on node join only|
|2 (default)||Balance on node join and every 30 minutes|
If you view the cluster Properties from within Failover Cluster Manager and inspect the Balancer tab you can also configure the AutoBalancerMode.
To view the settings for your cluster you can use the following PowerShell:
PS C:\> Get-Cluster | fl AutoBalancer* AutoBalancerMode : 2 AutoBalancerLevel : 1