public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Michael Köppl" <m.koeppl@proxmox.com>
To: "Daniel Kral" <d.kral@proxmox.com>, <pve-devel@lists.proxmox.com>
Subject: Re: [PATCH docs 18/18] ha-manager: crs: add load balancer section
Date: Mon, 13 Apr 2026 18:11:33 +0200	[thread overview]
Message-ID: <DHS5QCWY3X7B.3NXVZ9G20RJDB@proxmox.com> (raw)
In-Reply-To: <20260409114224.323102-19-d.kral@proxmox.com>

2 nits inline

On Thu Apr 9, 2026 at 1:41 PM CEST, Daniel Kral wrote:
> 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

nit: 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 how sensitive the load balancer should be triggered. If the

nit: s/sensitive/sensitively

or "controls the sensitivity of the load balancer"

> +_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[]





  reply	other threads:[~2026-04-13 16:11 UTC|newest]

Thread overview: 33+ 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-13 16:01   ` Michael Köppl
2026-04-14  7:18     ` Daniel Kral
2026-04-14  7:32       ` Michael Köppl
2026-04-14  7:39         ` 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-13 15:52   ` Michael Köppl
2026-04-09 11:41 ` [PATCH docs 13/18] ha-manager: crs: reword the rebalance on start scheduling point Daniel Kral
2026-04-13 15:53   ` Michael Köppl
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 ` [PATCH docs 18/18] ha-manager: crs: add load balancer section Daniel Kral
2026-04-13 16:11   ` Michael Köppl [this message]
2026-04-14 12:03   ` Dominik Rusovac
2026-04-13 16:11 ` [PATCH-SERIES manager/docs 00/18] crs docs updates + load balancer ui and docs followup Michael Köppl
2026-04-14  7:24   ` Daniel Kral
2026-04-15  9:19 ` superseded: " Daniel Kral

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=DHS5QCWY3X7B.3NXVZ9G20RJDB@proxmox.com \
    --to=m.koeppl@proxmox.com \
    --cc=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal