Kapitel 9. Pacemaker-Regeln

Mithilfe von Regeln können Sie Ihre Konfiguration dynamischer gestalten. Ein häufiges Anwendungsbeispiel ist das Festlegen eines Werts für resource-stickiness während der Geschäftszeiten, um Ressourcen daran zu hindern, auf Ihre bevorzugten Standorte zurückzuwechseln, und einen anderen Wert für Wochenenden, wenn niemand etwaige Serviceausfälle bemerkt.
Ein anderer Anwendungsfall für Regeln ist das Zuweisen von Rechnern zu verschiedenen Rechengruppen (mithilfe eines Knotenattributs) basierend auf Zeit, um dann dieses Attribut bei der Erstellung von Standortbeschränkungen zu verwenden.
Jede Regel kann eine Reihe von Ausdrücken, Datumsausdrücken sowie andere Regeln enthalten. Die Ergebnisse der Ausdrücke werden kombiniert basierend auf dem booleschen Operator boolean-op, um zu bestimmen, ob die Regel letztlich true oder false ergibt. Was danach geschieht, hängt vom Zusammenhang ab, in dem die Regel verwendet wird.

Tabelle 9.1. Eigenschaften einer Regel

FeldBeschreibung
role
Legt fest, dass die Regel nur dann angewendet wird, falls die Ressource diese Rolle einnimmt. Zulässige Werte: Started, Slave und Master. HINWEIS: Eine Regel mit role="Master" kann nicht den ursprünglichen Standort einer Kloninstanz bestimmen. Sie wirkt sich nur darauf aus, welche der aktiven Instanzen hochgestuft werden.
score
Die anzuwendende Gewichtung, wenn die Regel true ergibt. Kann nur in Regeln verwendet werden, die Teil von Standortbeschränkungen sind.
score-attribute
Das abzurufende und als Gewichtung zu verwendende Knotenattribut, falls die Regel true ergibt. Kann nur in Regeln verwendet werden, die Teil von Standortbeschränkungen sind.
boolean-op
Wie die Ergebnisse mehrerer Ausdrucksobjekte kombiniert werden sollen. Zulässige Werte: and und or. Der Standardwert ist and.

9.1. Knotenattribut-Ausdrücke

Knotenattribut-Ausdrücke werden verwendet, um eine Ressource basierend auf den Attributen zu steuern, die von den Knoten definiert sind.

Tabelle 9.2. Eigenschaften eines Ausdrucks

FeldBeschreibung
value
Ein benutzerdefinierter Wert zum Vergleich
attribute
Ein Knotenattribut zum Testen
type
Bestimmt, wie die Werte getestet werden sollen. Zulässige Werte: string, integer, version
operation
Der auszuführende Vergleich. Zulässige Werte:
* lt – Ergibt true, falls der Wert des Knotenattributs weniger als value beträgt
* gt – Ergibt true, falls der Wert des Knotenattributs größer als value ist
* lte – Ergibt true, falls der Wert des Knotenattributs weniger als oder gleich value ist
* gte – Ergibt true, falls der Wert des Knotenattributs größer als oder gleich value ist
* eq – Ergibt true, falls der Wert des Knotenattributs gleich value ist
* ne – Ergibt true, falls der Wert des Knotenattributs nicht gleich value ist
* defined – Ergibt true, falls der Knoten das genannte Attribut hat
* defined – Ergibt true, falls der Knoten nicht das genannte Attribut hat