all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Daniel Kral <d.kral@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH docs v2 19/19] ha-manager: crs: add load balancer section
Date: Wed, 15 Apr 2026 11:15:46 +0200	[thread overview]
Message-ID: <20260415091635.162224-20-d.kral@proxmox.com> (raw)
In-Reply-To: <20260415091635.162224-1-d.kral@proxmox.com>

For pve-ha-manager >= 5.2.0, the HA Manager features an automatic
rebalancing system, which is available for the static and dynamic-load
scheduler mode.

Signed-off-by: Daniel Kral <d.kral@proxmox.com>
Reviewed-by: Michael Köppl <m.koeppl@proxmox.com>
Reviewed-by: Dominik Rusovac <d.rusovac@proxmox.com>
---
changes v1 -> v2:
- depending *on* where
- controls the sensitivity of the load balancer

 ha-manager.adoc | 51 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 48 insertions(+), 3 deletions(-)

diff --git a/ha-manager.adoc b/ha-manager.adoc
index 0421b86..2e13c46 100644
--- a/ha-manager.adoc
+++ b/ha-manager.adoc
@@ -1435,9 +1435,6 @@ scheduling decisions. The CRS mode can be changed in the web interface
 is `basic`. The change will take effect starting with the next HA Manager
 round, which should take no longer than 10 seconds.
 
-NOTE: There are plans to add modes for (static and dynamic) load-balancing in
-the future.
-
 [[_basic_scheduler]]
 Basic Scheduler
 ^^^^^^^^^^^^^^^
@@ -1526,6 +1523,54 @@ functionality is still in technology preview. The more HA resources the more
 possible combinations there are, so it's currently not recommended to use it if
 you have thousands of HA resources.
 
+CRS Load Balancer
+~~~~~~~~~~~~~~~~~
+
+IMPORTANT: This feature is still in technology preview.
+
+The utilization of individual cluster nodes can vary greatly depending on where
+guests are currently running and how much load these exert at any moment. This
+can cause the node utilizations to become imbalanced over time, where HA
+resources on one node become bottlenecked due to resource contention, while
+another node is barely utilized.
+
+The HA Manager's automatic load balancer can lower the overall cluster
+imbalance by automatically issuing rebalancing migrations. Currently, these
+migrations are issued only for HA resources and executed sequentially.
+Furthermore, these migrations always obey the current HA affinity rules.
+
+The automatic load balancing system can be enabled and configured in the web
+interface under `Datacenter` -> `Options` -> `Cluster Resource Scheduling`.
+This allows fine-tuning the various parameters as described in the next
+paragraph for different cluster setups and requirements. The load balancer
+requires either the xref:_static_scheduler[static] or
+xref:_dynamic_scheduler[dynamic-load scheduler mode] to be in use.
+
+In every HA Manager round, where each lasts around 10 seconds, the automatic
+load balancer checks whether the cluster imbalance exceeds the _imbalance
+threshold_. If exceeding the imbalance threshold is sustained for at least as
+many consecutive HA Manager rounds as given by the _hold duration_, then the
+load balancer will select the rebalancing migration for an HA resource, which
+lowers the overall cluster imbalance the most. The method used to select the
+best rebalancing migration can be set with the _rebalancing method_ option. At
+last, if the selected migration reduces the current cluster imbalance by at
+least the percentage given by the _imbalance improvement_ option, the load
+balancer issues the selected migration.
+
+The cluster imbalance is calculated as the ratio between the standard deviation
+and mean of the individual node loads. Therefore, the _imbalance threshold_
+controls the sensitivity of the load balancer. If the _imbalance threshold_ is
+set to a value of `0.0`, it will try to select a rebalancing migration every
+time the _hold duration_ is exceeded. The _imbalance improvement_ percentage
+filters what constitutes as an acceptable rebalancing migration. If it is set
+to `0.0`, then it will always commit to a migration even though the expected
+imbalance does not change at all. However, the value can never be negative,
+therefore it will never commit to a migration with an expected imbalance worse
+than the current one.
+
+NOTE: It is planned that load balancing will also include non-HA resources in
+the future.
+
 ifdef::manvolnum[]
 include::pve-copyright.adoc[]
 endif::manvolnum[]
-- 
2.47.3





      parent reply	other threads:[~2026-04-15  9:19 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-15  9:15 [PATCH-SERIES docs/manager v2 00/19] crs docs updates + load balancer ui and docs followup Daniel Kral
2026-04-15  9:15 ` [PATCH manager v2 01/19] ui: form/CRSOptions: add missing edit modal title Daniel Kral
2026-04-15  9:15 ` [PATCH manager v2 02/19] ui: form/CRSOptions: rename HA Scheduling to Scheduling Mode Daniel Kral
2026-04-15  9:15 ` [PATCH manager v2 03/19] ui: form/CRSOptions: replace HA service term with HA resource Daniel Kral
2026-04-15  9:15 ` [PATCH manager v2 04/19] ui: form/CRSOptions: use view model for auto rebalancing option Daniel Kral
2026-04-15  9:15 ` [PATCH manager v2 05/19] ui: form/CRSOptions: allow auto rebalancing only for static and dynamic mode Daniel Kral
2026-04-15  9:15 ` [PATCH docs v2 06/19] ha-manager: crs: replace service term with HA resource Daniel Kral
2026-04-15  9:15 ` [PATCH docs v2 07/19] ha-manager: crs: remove note about manual changes to datacenter config Daniel Kral
2026-04-15  9:15 ` [PATCH docs v2 08/19] ha-manager: crs: improve introduction Daniel Kral
2026-04-15  9:15 ` [PATCH docs v2 09/19] ha-manager: crs: introduce crs scheduling mode section Daniel Kral
2026-04-15  9:15 ` [PATCH docs v2 10/19] ha-manager: crs: generalize the description for basic and static load modes Daniel Kral
2026-04-15  9:15 ` [PATCH docs v2 11/19] ha-manager: crs: remove HA group config from scheduling points list Daniel Kral
2026-04-15  9:15 ` [PATCH docs v2 12/19] ha-manager: crs: use impose instead of empose for rules description Daniel Kral
2026-04-15  9:15 ` [PATCH docs v2 13/19] ha-manager: crs: use headings for the scheduling points Daniel Kral
2026-04-15  9:15 ` [PATCH docs v2 14/19] ha-manager: crs: reword the rebalance on start scheduling point Daniel Kral
2026-04-15  9:15 ` [PATCH docs v2 15/19] ha-manager: crs: add more information about rebalance on start in its section Daniel Kral
2026-04-15  9:15 ` [PATCH docs v2 16/19] ha-manager: crs: change crs modes to include all active guests Daniel Kral
2026-04-15  9:15 ` [PATCH docs v2 17/19] ha-manager: crs: add dynamic load scheduler section Daniel Kral
2026-04-15  9:15 ` [PATCH docs v2 18/19] screenshots: update crs datacenter options screenshot Daniel Kral
2026-04-15  9:15 ` Daniel Kral [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260415091635.162224-20-d.kral@proxmox.com \
    --to=d.kral@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal