Schrittmacher: Migrieren Sie die Ressource, ohne eine "Vorzugs" -Zeile in der Konfiguration hinzuzufügen

7

Schrittmacher in einer Master / Slave-Konfiguration mit 2 Knoten verwenden.
Um einige Tests durchzuführen, möchten wir die Hauptrolle von Knoten1 zu Knoten2 und umgekehrt wechseln . Zum Beispiel, wenn der aktuelle Master Knoten1 ist

# crm resource migrate r0 node2

verschiebt die Ressource tatsächlich auf Knoten2 . Dann im Idealfall

# crm resource migrate r0 node1

würde zurück zu Knoten1 migrieren . Das Problem ist, dass bei der Migration eine Zeile in der Konfiguration hinzugefügt wurde, um den Wechsel durchzuführen

location cli-prefer-r0 r0 role=Started inf: node2

und um zurück zu migrieren, muss ich zuerst diese Zeile entfernen ...

Gibt es eine bessere Möglichkeit, den Master von einem Knoten zum anderen zu wechseln?

e2-e4
quelle
Haben Sie versucht, die Ressource zu verschieben, anstatt zu migrieren?
YoMismo
Haben Sie ein aktives / aktives oder aktives / passives Setup? Wenn es aktiv / aktiv ist, können Sie einfach einen Knoten in den Standby-Modus versetzen und prüfen, ob die Ressourcen auf den anderen Knoten verschoben wurden.
YoMismo
@YoMismo Aktiv / Passiv. Was ist der Unterschied zwischen migrieren und verschieben ?
e2-e4
Es ist lange her, dass mein Cluster ausgeführt wurde. Ich habe die Manpage von crm überprüft und migrate / move scheint gleichwertig zu sein, aber clusterlabs.org/doc/en-US/Pacemaker/1.1-plugin/html/… verwendet Verschieben statt migrieren, für die Dokumentation würde ich Clusterlabs verwenden, da dies die Hauptseite des Projekts ist (oder war, als ich mein Cluster einrichtete). Wenn Sie aktiv / passiv sind, ist es für Sie einfach, den zweiten Knoten zu aktivieren und den ersten in den Standby-Modus zu versetzen. Die Ressourcen müssen sich automatisch bewegen. Haben Sie die Dokumentation überprüft? clusterlabs.org/doc
YoMismo

Antworten:

5

Ich kenne das etwas alt; aber es scheint, als hätte niemand dies zufriedenstellend beantwortet, und der Antragsteller hat nie gepostet, ob sein Problem gelöst wurde oder nicht. Hier ist eine Erklärung.

Wenn Sie durchführen:

# crm resource migrate r0 node2

Eine cli-prefer-*Regel wird erstellt.

Wenn Sie nun den r0 zurück zu Knoten1 verschieben möchten, tun Sie Folgendes nicht:

# crm resource migrate r0 node1

aber Sie führen vor:

# crm resource unmigrate r0

Automatische Verwendung umigrateoder unmoveBeseitigung der cli-prefer-*Regel.

Wenn Sie versuchen, diese Regel manuell in der Cluster-Konfiguration zu löschen, passieren im Cluster wirklich schlimme Dinge, oder zumindest schlechte Dinge in meinem Fall.

Kiefer abbasi
quelle
Ich weiß, dass dies ziemlich alt ist, aber welche "schlechten Dinge" sind passiert, als Sie die Regel gelöscht haben? Verschiebt die Verwendung von "Aufheben der Migration" die Ressource auf einen anderen Knoten oder entfernt sie einfach die bevorzugten Regeln?
Michael Firth
Durch das Aufheben der Migration wird die Standortbeschränkung aufgehoben, die verhindert, dass eine bestimmte Ressource auf dem Knoten "migriert von" ausgeführt wird. Es werden keine eigenen Verschiebungsvorgänge ausgeführt, sondern nur ermöglicht. Wenn eine Ressource eine Präferenz für diesen Knoten hat, versucht sie, zurückzuschieben, wenn die Ressource dies aufgrund von Ordnungs- / Kollokationsbeschränkungen zulässt.
Spooler
1

Oh die Freuden.

Dies alles lief darauf hinaus, ob migrateBefehle mit oder ohne Zielknoten verwendet wurden. Aus der aktuellen CLI-Dokumentation über crm resource help migrate:

Wenn der Zielknoten weggelassen wird, wird die Ressource migriert, indem eine Einschränkung erstellt wird, die verhindert, dass sie auf dem aktuellen Knoten ausgeführt wird. Damit diese Art von Einschränkung erstellt werden kann, ist das Argument force erforderlich.

In der Vergangenheit war dies auch ohne möglich force. Wenn Sie einen Cluster mit zwei Knoten ausgeführt haben (zwei Knoten bilden nie einen richtigen Cluster, lassen sich aber hier nicht abschweifen), haben Sie in Schrittmachern, in denen config ausgeführt wird, eine Anweisung erhalten, die ausdrücklich darauf hinweist, dass dies nicht der Fall ist Führen Sie den Knoten aus, auf dem er migrateausgeführt wurde, als der Befehl ausgelöst wurde, damit der Schrittmacher ihn zwingen würde, sich auf einen anderen Knoten zu bewegen.

Wenn Sie a ausgeführt haben, haben crm resource migrateSie eine location cli-...Anweisung in Ihrer Schrittmacherkonfiguration erhalten. Es gibt zwei Arten solcher Aussagen, die ziemlich einfach überprüft werden können:

crm configure show | grep -e cli-prefer -e cli-ban

Für ernsthafte Geschäfte sollte der obige Befehl auch Teil von nagios / icinga / unabhängig von der Überwachungsprüfung sein, da diese manuellen Einschränkungen in der laufenden Konfiguration auf lange Sicht sowieso nie vorhanden sein sollten.

Wenn Sie erneut auf einen anderen Knoten migriert haben, haben Sie eine weitere solche Anweisung erhalten, die den letzten Knoten AUCH als "nicht ausführbaren" Speicherort für die Ressource markiert. Wenn Sie schließlich alle Ihre Knoten auf diese Weise "ausgewandert" hätten ... würde Ihre betreffende Ressource nirgendwo starten und Sie hätten kein Glück gehabt, was wahrscheinlich der Grund ist, warum diese Frage überhaupt gestellt wurde.

Die Lösung bestand darin, IMMER einen crm resource migrateBefehl zu haben, dem ein Befehl folgt, crm resource unmigratewenn Zielknoten weggelassen werden, um sich später nicht in den Fuß zu schießen.


Wenn Sie jedoch immer einen Zielknoten angeben, spielt dies keine Rolle:

Beim erneuten Ausführen einer crm resource migrate RESOURCE NODE/ wird pcs resource move RESOURCE NODEdie cli-prefer...Anweisung in der Schrittmacherkonfiguration angepasst, sodass Sie sich keine Sorgen machen müssen.

So führen Sie können crm resource migrate/ pcs resource moveso oft wie Sie ohne Ressourcen Probleme läuft in nicht mehr gestartet werden kann.

Führen Sie eine der folgenden Aktionen aus, um diese manuellen Einschränkungen für eine bestimmte Ressource zu beseitigen:

crm resource unmigrate RESOURCE
crm resource clear RESOURCE

pcs resource clear RESOURCE

Dies wird Ihre Ressourcen jedoch nicht auf magische Weise zu ihren ursprünglichen Hosts machen, wenn Sie überhaupt keine Standortbeschränkungen erstellt haben - im Gegensatz zu der anderen Antwort, die hier vorgeschlagen wird.

sjas
quelle
1
In letzter Zeit crm configure show cli-\*funktioniert crm auch (keine Notwendigkeit für grep -e cli-prefer -e cli-ban).
U. Windl
1

Eine Lösung besteht darin, diese cli-preferEinschränkungen manuell zu entfernen, bevor Sie versuchen, zurück zu migrieren, oder (wenn Sie sich nicht für inaktive Einschränkungen interessieren) einen Zeitraum wie 5 Minuten hinzuzufügen:

crm resource migrate r0 node2 PT5M

Nach 5 Minuten ist die Regel nicht mehr wirksam (und wird r0möglicherweise zurück migriert), sie ist jedoch weiterhin sichtbar.

Beachten Sie außerdem, dass Sie in einem Cluster mit zwei Knoten nicht den anderen Knoten angeben müssen.

U. Windl
quelle