Chapitre 16. Déterminer l'emplacement des ressources à l'aide de règles


Pour des contraintes de localisation plus complexes, vous pouvez utiliser les règles de Pacemaker pour déterminer la localisation d'une ressource.

16.1. Règles relatives aux stimulateurs cardiaques

Les règles de Pacemaker peuvent être utilisées pour rendre votre configuration plus dynamique. Elles peuvent notamment servir à affecter des machines à différents groupes de traitement (à l'aide d'un attribut de nœud) en fonction de l'heure, puis à utiliser cet attribut lors de la création de contraintes d'emplacement.

Chaque règle peut contenir un certain nombre d'expressions, d'expressions de date et même d'autres règles. Les résultats des expressions sont combinés sur la base du champ boolean-op de la règle afin de déterminer si la règle est finalement évaluée à true ou false. La suite dépend du contexte dans lequel la règle est utilisée.

Tableau 16.1. Propriétés d'une règle
FieldDescription

role

Limite l'application de la règle au seul cas où la ressource est dans ce rôle. Valeurs autorisées : Started, Unpromoted, et Promoted. REMARQUE : Une règle avec role="Promoted" ne peut pas déterminer l'emplacement initial d'une instance clone. Elle n'affecte que l'instance active qui sera promue.

score

Le score à appliquer si la règle est évaluée à true. Limité à l'utilisation dans les règles qui font partie des contraintes de localisation.

score-attribute

Attribut du nœud à rechercher et à utiliser comme score si la règle est évaluée à true. Limité à l'utilisation dans les règles qui font partie des contraintes de localisation.

boolean-op

Comment combiner le résultat de plusieurs objets d'expression. Valeurs autorisées : and et or. La valeur par défaut est and.

16.1.1. Expressions d'attributs de nœuds

Les expressions d'attributs de nœuds sont utilisées pour contrôler une ressource sur la base des attributs définis par un ou plusieurs nœuds.

Tableau 16.2. Propriétés d'une expression
FieldDescription

attribute

L'attribut du nœud à tester

type

Détermine la manière dont la ou les valeurs doivent être testées. Valeurs autorisées : string, integer, number, version. La valeur par défaut est string.

operation

La comparaison à effectuer. Valeurs autorisées :

* lt - Vrai si la valeur de l'attribut du nœud est inférieure à value

* gt - Vrai si la valeur de l'attribut du nœud est supérieure à value

* lte - Vrai si la valeur de l'attribut du nœud est inférieure ou égale à value

* gte - Vrai si la valeur de l'attribut du nœud est supérieure ou égale à value

* eq - Vrai si la valeur de l'attribut du nœud est égale à value

* ne - Vrai si la valeur de l'attribut du nœud n'est pas égale à value

* defined - Vrai si le nœud possède l'attribut nommé

* not_defined - Vrai si le nœud n'a pas l'attribut nommé

value

Valeur fournie par l'utilisateur pour la comparaison (obligatoire sauf si operation est defined ou not_defined)

Outre les attributs ajoutés par l'administrateur, le cluster définit pour chaque nœud des attributs spéciaux intégrés qui peuvent également être utilisés, comme décrit dans le tableau suivant.

Tableau 16.3. Attributs de nœuds intégrés
NomDescription

#uname

Nom du nœud

#id

ID du nœud

#kind

Type de nœud. Les valeurs possibles sont cluster, remote et container. La valeur de kind est remote pour les nœuds Pacemaker Remote créés avec la ressource ocf:pacemaker:remote, et container pour les nœuds invités et les nœuds de regroupement Pacemaker Remote.

#is_dc

true si ce nœud est un contrôleur désigné (DC), false sinon

#cluster_name

La valeur de la propriété cluster-name cluster, si elle est définie

#site_name

La valeur de l'attribut du nœud site-name, s'il est défini, sinon identique à #cluster-name

#role

Le rôle du clone promouvable concerné sur ce nœud. Valable uniquement dans le cadre d'une règle relative à une contrainte d'emplacement pour un clone promouvable.

16.1.2. Expressions basées sur l'heure ou la date

Les expressions de date sont utilisées pour contrôler une ressource ou une option de cluster en fonction de la date et de l'heure actuelles. Elles peuvent contenir une spécification de date facultative.

Tableau 16.4. Propriétés d'une expression de date
FieldDescription

start

Une date/heure conforme à la spécification ISO8601.

end

Une date/heure conforme à la spécification ISO8601.

operation

Compare la date et l'heure actuelles avec la date de début ou la date de fin ou les deux, selon le contexte. Valeurs autorisées :

* gt - Vrai si la date/heure actuelle est postérieure à start

* lt - Vrai si la date/heure actuelle est antérieure à end

* in_range - Vrai si la date/heure actuelle est postérieure à start et antérieure à end

* date-spec - effectue une comparaison avec la date et l'heure actuelles, à la manière d'un cron

16.1.3. Date des spécifications

Les spécifications de date sont utilisées pour créer des expressions de type cron relatives au temps. Chaque champ peut contenir un seul nombre ou une seule plage. Au lieu de prendre la valeur zéro par défaut, tout champ non fourni est ignoré.

Par exemple, monthdays="1" correspond au premier jour de chaque mois et hours="09-17" correspond aux heures comprises entre 9 heures et 17 heures (incluses). Cependant, vous ne pouvez pas spécifier weekdays="1,2" ou weekdays="1-2,5-6" car ils contiennent plusieurs plages.

Tableau 16.5. Propriétés d'une spécification de date
FieldDescription

id

Un nom unique pour la date

hours

Valeurs autorisées : 0-23

monthdays

Valeurs autorisées : 0-31 (en fonction du mois et de l'année)

weekdays

Valeurs autorisées : 1-7 (1=lundi, 7=dimanche)

yeardays

Valeurs autorisées : 1-366 (en fonction de l'année)

months

Valeurs autorisées : 1-12

weeks

Valeurs autorisées : 1-53 (en fonction de weekyear)

years

Année selon le calendrier grégorien

weekyears

Peut différer des années grégoriennes ; par exemple, 2005-001 Ordinal est aussi 2005-01-01 Gregorian est aussi 2004-W53-6 Weekly

moon

Valeurs autorisées : 0-7 (0 est la nouvelle lune, 4 est la pleine lune).

Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat, Inc.