Virtual Machine Load Balancing overview

Applies to Windows Server 2016

A key consideration for private cloud deployments is the capital expenditure (CapEx) required to go into production. It is very common to add redundancy to private cloud deployments to avoid under-capacity during peak traffic in production, but this increases CapEx. The need for redundancy is driven by unbalanced private clouds where some nodes are hosting more Virtual Machines (VMs) and others are underutilized (such as a freshly rebooted server).

What is Virtual Machine Load Balancing?

VM Load Balancing is a new in-box feature in Windows Server 2016 that allows you to optimize the utilization of nodes in a Failover Cluster. It identifies over-committed nodes and re-distributes VMs from those nodes to under-committed nodes. Some of the salient aspects of this feature are as follows:

  • It is a zero-downtime solution: VMs are live-migrated to idle nodes.
  • Seamless integration with your existing cluster environment: Failure policies such as anti-affinity, fault domains and possible owners are honored.
  • Heuristics for balancing: VM memory pressure and CPU utilization of the node.
  • Granular control: Enabled by default. Can be activated on-demand or at a periodic interval.
  • Aggressiveness thresholds: Three thresholds available based on the characteristics of your deployment.

The feature in action

A new node is added to your Failover Cluster

Graphic of a new node being added to your Failover Cluster

When you add new capacity to your Failover Cluster, the VM Load Balancing feature automatically balances capacity from the existing nodes, to the newly added node in the following order:

  1. The pressure is evaluated on the existing nodes in the Failover Cluster.
  2. All nodes exceeding threshold are identified.
  3. The nodes with the highest pressure are identified to determine priority of balancing.
  4. VMs are Live Migrated (with no down time) from a node exceeding threshold to a newly added node in the Failover Cluster.

Recurring load balancing

Graphic of a recurring VM load balancing

When configured for periodic balancing, the pressure on the cluster nodes is evaluated for balancing every 30 minutes. Alternately, the pressure can be evaluated on-demand. Here is the flow of the steps:

  1. The pressure is evaluated on all nodes in the private cloud.
  2. All nodes exceeding threshold and those below threshold are identified.
  3. The nodes with the highest pressure are identified to determine priority of balancing.
  4. VMs are Live Migrated (with no down time) from a node exceeding the threshold to node under minimum threshold.

See Also