From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 0F4189406 for ; Thu, 17 Nov 2022 15:01:24 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 5BD702D66C for ; Thu, 17 Nov 2022 15:00:29 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Thu, 17 Nov 2022 15:00:26 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 4A00344945 for ; Thu, 17 Nov 2022 15:00:24 +0100 (CET) From: Fiona Ebner To: pve-devel@lists.proxmox.com Date: Thu, 17 Nov 2022 15:00:17 +0100 Message-Id: <20221117140018.105004-17-f.ebner@proxmox.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20221117140018.105004-1-f.ebner@proxmox.com> References: <20221117140018.105004-1-f.ebner@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: =?UTF-8?Q?0=0A=09?=AWL 0.027 Adjusted score from AWL reputation of From: =?UTF-8?Q?address=0A=09?=BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict =?UTF-8?Q?Alignment=0A=09?=SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF =?UTF-8?Q?Record=0A=09?=SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH v2 docs 1/2] ha: add section about scheduler modes X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Nov 2022 14:01:24 -0000 briefly describing the 'basic' and 'static' modes and with a note mentioning plans for balancers. Signed-off-by: Fiona Ebner --- Changes from v1: * Mention that it also affects shutdown policy migrations. * Describe static mode in more detail. ha-manager.adoc | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/ha-manager.adoc b/ha-manager.adoc index 54db2a5..038193f 100644 --- a/ha-manager.adoc +++ b/ha-manager.adoc @@ -933,6 +933,51 @@ NOTE: Please do not 'kill' services like `pve-ha-crm`, `pve-ha-lrm` or immediate node reboot or even reset. +Scheduler Mode +-------------- + +The scheduler mode controls how HA selects nodes for the recovery of a service +as well as for migrations that are triggered by a shutdown policy. The default +mode is `basic`, you can change it in `datacenter.cfg`: + +---- +crs: ha=static +---- + +The change will be in effect when a new master takes over. This can be triggered +by executing the following on the current master's node: + +---- +systemctl reload-or-restart pve-ha-crm.service +---- + +For each service that needs to be recovered or migrated, the scheduler +iteratively chooses the best node among the nodes with the highest priority in +the service's group. + +NOTE: There are plans to add modes for (static and dynamic) load-balancing in +the future. + +Basic +^^^^^ + +The number of active HA serivces on each node is used to choose a recovery node. + +Static +^^^^^^ + +Static usage information from HA serivces on each node is used to choose a +recovery node. + +For this selection, each node in turn is considered as if the service was +already running on it, using CPU and memory usage from the associated guest +configuration. Then for each such alternative, CPU and memory usage of all nodes +are considered, with memory being weighted much more, because it's a truly +limited resource. For both, CPU and memory, highest usage among nodes (weighted +more, as ideally no node should be overcommitted) and average usage of all nodes +(to still be able to distinguish in case there already is a more highly +committed node) are considered. + ifdef::manvolnum[] include::pve-copyright.adoc[] endif::manvolnum[] -- 2.30.2