Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
Kapitel 8. Erweiterte Ressourcentypen
Dieses Kapitel beschreibt erweiterte Ressourcentypen, die von Pacemaker unterstützt werden.
8.1. Ressourcen-Klone
Sie können eine Ressource klonen, sodass die Ressource auf mehreren Knoten aktiv sein kann. Beispielsweise können Sie geklonte Ressourcen verwenden, um mehrere Instanzen einer IP-Ressource zu konfigurieren und diese zwecks Lastverteilung im Cluster zu verteilen. Sie können jede beliebige Ressource klonen, vorausgesetzt, der Ressourcenagent unterstützt dies. Ein Klon besteht aus einer Ressource oder einer Ressourcengruppe.
Anmerkung
Nur Ressourcen, die auf mehreren Knoten gleichzeitig aktiv sein können, sind für das Klonen geeignet. Beispielsweise sollte eine
Filesystem
-Ressource, die ein nicht geclustertes Dateisystem wie ext4
auf einem gemeinsam verwendeten Speichergerät einhängt, nicht geklont werden. Da die ext4
-Partition nicht clusterfähig ist, ist das Dateisystem nicht geeignet für Lese- und Schreiboperationen, die von mehreren Knoten gleichzeitig erfolgen.
8.1.1. Erstellen und Entfernen einer geklonten Ressource
Mithilfe des folgenden Befehls können Sie gleichzeitig eine Ressource und einen Klon dieser Ressource erstellen.
pcs resource create resource_id standard:provider:type|type [resource options] \ --clone [meta clone_options]
Der Name des Klons lautet
resource_id-clone
.
Sie können jedoch nicht gleichzeitig eine Ressourcengruppe und einen Klon dieser Ressourcengruppe mit einem einzigen Befehl erstellen.
Alternativ können Sie mithilfe des folgenden Befehls einen Klon einer zuvor erstellen Ressource oder Ressourcengruppe erstellen.
pcs resource clone resource_id | group_name [clone_options]...
Der Name des Klons lautet
resource_id-clone
oder group_name-clone
.
Anmerkung
Sie brauchen Änderungen an der Ressourcenkonfiguration nur an einem Knoten vorzunehmen.
Anmerkung
Verwenden Sie bei der Konfiguration von Beschränkungen stets den Namen der Gruppe oder des Klons.
Wenn Sie einen Klon einer Ressource erstellen, trägt dieser Klon den Namen der Ressource mit nachgestelltem
-clone
. Der folgende Befehl erstellt eine Ressource vom Typ apache
namens webfarm
und ein Klon dieser Ressource namens webfarm-clone
.
# pcs resource create webfarm apache clone
Verwenden Sie den folgenden Befehl, um den Klon einer Ressource oder Ressourcengruppe zu entfernen. Die Ressource oder die Ressourcengruppe selbst wird dadurch nicht entfernt.
pcs resource unclone resource_id | group_name
Informationen über Ressourcenoptionen finden Sie in Abschnitt 5.1, »Ressourcenerstellung«.
Tabelle 8.1, »Optionen für Ressourenklone« beschreibt die Optionen, die Sie für eine geklonte Ressource festlegen können.
Tabelle 8.1. Optionen für Ressourenklone
Feld | Beschreibung |
---|---|
priority, target-role, is-managed
|
Optionen, die von der zu klonenden Ressource geerbt werden, wie in Tabelle 5.3, »Ressourcen-Metaoptionen« beschrieben.
|
clone-max
| |
clone-node-max
| |
notify
| |
globally-unique
|
Legt fest, ob jeder Klon eine andere Funktion ausübt. Zulässige Werte
false , true
Falls der Wert dieser Option
false ist, verhalten sich diese Ressourcen überall gleich, ungeachtet dessen, wo sie ausgeführt werden. Demnach kann in diesem Fall pro Rechner nur eine Instanz des Klons aktiv sein.
Falls der Wert dieser Option
true ist, dann ist ein Klon auf einem Rechner nicht identisch mit einer anderen Instanz des Klons auf einem anderen Knoten oder auf demselben Knoten. Der Standardwert lautet true , falls der Wert von clone-node-max größer als 1 ist, andernfalls lautet der Standardwert false .
|
ordered
| |
interleave
|
8.1.2. Klonbeschränkungen
In den meisten Fällen hat ein Klon eine Instanz auf jedem aktiven Cluster-Knoten. Sie können jedoch
clone-max
für den Ressourcenklon auf einen Wert festlegen, der geringer ist als die Gesamtanzahl der Knoten im Cluster. In diesem Fall können Sie mithilfe von Standortbeschränkungen für die Ressource angeben, welchen Knoten der Cluster diese Klone vorzugsweise zuweisen soll. Diese Beschränkungen werden analog zur jenen für reguläre Ressourcen angegeben, jedoch mit dem Unterschied, dass die Klon-ID verwendet werden muss.
Der folgende Befehl erstellt eine Standortbeschränkung, damit der Cluster den Ressourcenklon
webfarm-clone
vorzugsweise node1
zuweist.
# pcs constraint location webfarm-clone prefers node1
Reihenfolgebeschränkungen verhalten sich etwas anders für Klone. In dem nachfolgenden Beispiel wartet
webfarm-stats
, bis alle Instanzen von webfarm-clone
, die gestartet werden müssen, gestartet wurden, bevor er selbst startet. Nur wenn keine Instanzen von webfarm-clone
gestartet werden können, hindert dies webfarm-stats
daran, selbst gestartet zu werden. Umgekehrt wartet webfarm-clone
, bis webfarm-stats
gestoppt wurde, bevor dieser selbst stoppt.
# pcs constraint order start webfarm-clone then webfarm-stats
Eine relative Standortbeschränkung einer regulären oder Gruppenressource mit einem Klon bedeutet, dass die Ressource auf jedem Rechner mit einer aktiven Instanz des Klons laufen kann. Der Cluster wählt eine Instanz basierend darauf, wo der Klon läuft, und auf den Standortpräferenzen der Ressource selbst.
Es ist ebenfalls möglich, relative Standortbeschränkungen zwischen Klons einzurichten. In solchen Fällen wird die Liste der erlaubten Standorte für den Klon auf Knoten beschränkt, auf denen der Klon aktiv ist bzw. aktiv sein wird. Die Zuweisung erfolgt dann ganz normal.
Der folgende Befehl erstellt eine relative Standortbeschränkung, um sicherzustellen, dass die Ressource
webfarm-stats
auf demselben Knoten läuft wie eine aktive Instanz von webfarm-clone
.
# pcs constraint colocation add webfarm-stats with webfarm-clone
8.1.3. Standorttreue von Klons
Um ein stabiles Zuweisungsmuster zu erreichen, sind Klone standardmäßig leicht standorttreu. Falls für
resource-stickiness
kein Wert angegeben wird, verwendet der Klon den Wert 1. Da dies nur ein kleiner Wert ist, hat er geringe Störwirkung bei der Kalkulation der Gewichtung anderer Ressourcen; dieser Wert ist jedoch genug, um Pacemaker daran zu hindern, unnötig Klone im Cluster hin- und herzuverlegen.