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 18/18] ha-manager: crs: add load balancer section
Date: Thu,  9 Apr 2026 13:41:44 +0200	[thread overview]
Message-ID: <20260409114224.323102-19-d.kral@proxmox.com> (raw)
In-Reply-To: <20260409114224.323102-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>
---
 ha-manager.adoc | 51 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 48 insertions(+), 3 deletions(-)

diff --git a/ha-manager.adoc b/ha-manager.adoc
index 4162071..0ba00cd 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 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 how sensitive the load balancer should be triggered. 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-09 11:43 UTC|newest]

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