6.3. Relative Standortbeschränkung für Ressourcen

Eine relative Standortbeschränkung legt fest, dass der Standort einer Ressource vom Standort einer anderen Ressource abhängt.
Die Erstellung von relativen Standortbeschränkungen zwischen zwei Ressourcen hat einen wichtigen Nebeneffekt: Sie hat Auswirkungen auf die Reihenfolge, in der Ressourcen einem Knoten zugewiesen werden. Dies liegt daran, dass Ressource A nicht relativ zu Ressource B platziert werden kann, bevor nicht der Standort von Ressource B bekannt ist. Bei der Konfiguration von relativen Standortbeschränkungen sollten Sie infolgedessen darauf achten, ob Sie Ressource A relativ zu Ressource B oder Ressource B relativ zu Ressource A platzieren.
Ein anderer Effekt, den es bei der Konfiguration von relativen Standortbeschränkungen zu bedenken gilt, ist der Umstand, dass der Cluster bei der Auswahl eines Knotens für Ressource B auch die Ressourcenpräferenzen von Ressource A berücksichtigt, wenn Ressource A relativ zu Ressource B platziert werden soll.
Der folgende Befehl erstellt eine relative Standortbeschränkung.
pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]
Informationen über Master- und Slave-Ressourcen finden Sie in Abschnitt 8.2, »Multi-Status-Ressourcen: Ressourcen mit mehreren Modi«.
Tabelle 6.3, »Eigenschaften einer relativen Standortbeschränkung« zeigt eine Übersicht der Eigenschaften und Optionen zur Konfiguration von relativen Standortbeschränkungen.

Tabelle 6.3. Eigenschaften einer relativen Standortbeschränkung

FeldBeschreibung
source_resource
Die Quelle für die relative Standortbeschränkung. Falls die Bedingungen der Beschränkung nicht erfüllt werden können, kann der Cluster entscheiden, die Ressource nicht auszuführen.
target_resource
Das Ziel für die relative Standortbeschränkung. Der Cluster entscheidet zunächst über den Standort dieser Ressource, bevor er den Standort der Quellressource festlegt.
score
Positive Werte zeigen an, dass die Ressourcen auf demselben Knoten laufen sollen. Negative Werte zeigen an, dass die Ressourcen nicht auf demselben Knoten laufen sollen. Der Wert +INFINITY, der Standardwert, zeigt an, dass die source_resource auf demselben Knoten wie die target_resource laufen muss. Der Wert -INFINITY zeigt an, dass die source_resource nicht auf demselben Knoten wie die target_resource laufen darf.

6.3.1. Zwingende Platzierung

Eine zwingende Platzierung erfolgt immer dann, wenn die Gewichtung der Beschränkung +INFINITY oder -INFINITY lautet. Falls die Bedingung der Beschränkung nicht erfüllt werden kann, darf source_resource nicht laufen. Im Falle von score=INFINITY gehören dazu Situationen, in denen die target_resource nicht aktiv ist.
Angenommen, myresource1 muss stets auf demselben Rechner wie myresource2 laufen, dann fügen Sie die folgende Beschränkung hinzu:
# pcs constraint colocation add myresource1 with myresource2 score=INFINITY
Da INFINITY verwendet wurde, wird myresource1 nicht laufen dürfen, falls myresource2 aus irgendeinem Grund auf keinem der Cluster-Knoten laufen kann.
Alternativ können Sie das Gegenteil konfigurieren – einen Cluster, in dem myresource1 nicht auf demselben Rechner laufen darf wie myresource2. Verwenden Sie in diesem Fall score=-INFINITY.
# pcs constraint colocation add myresource1 myresource2 with score=-INFINITY
Durch Angabe von -INFINITY ist auch hier die Beschränkung zwingend. Falls der einzige verbleibende Ort zur Ausführung bereits von myresource2 belegt ist, dann darf myresource1 nirgends laufen.