Failover- und Failback-Services
BeeGFS-Services zwischen Cluster-Nodes verschieben
Überblick
BeeGFS-Services können ein Failover zwischen den Nodes im Cluster durchführen, um sicherzustellen, dass die Clients weiterhin auf das Filesystem zugreifen können, wenn ein Node einen Fehler aufweist, oder Sie müssen eine geplante Wartung durchführen. In diesem Abschnitt werden verschiedene Möglichkeiten beschrieben, wie Administratoren das Cluster nach der Wiederherstellung nach einem Ausfall reparieren oder Services manuell zwischen Nodes verschieben können.
Schritte
Failover und Failback
Failover (Geplant)
Wenn Sie einen einzelnen Datei-Node zur Wartung offline schalten müssen, möchten Sie in der Regel alle BeeGFS-Dienste von diesem Node verschieben (oder ablassen). Dies kann erreicht werden, indem zunächst der Knoten in den Standby-Modus versetzt wird:
pcs node standby <HOSTNAME>
Nach der Überprüfung mit pcs status
Alle Ressourcen wurden auf dem alternativen Datei-Node neu gestartet. Sie können je nach Bedarf weitere Änderungen am Node vornehmen.
Failback (nach einem geplanten Failover)
Wenn Sie bereit sind, die BeeGFS-Dienste zuerst auf den bevorzugten Knoten wiederherzustellen pcs status
Und überprüfen Sie in der „Knotenliste“, ob der Status Standby lautet. Wenn der Node neu gebootet wurde, wird er offline angezeigt, bis Sie die Cluster-Services in den Online-Modus versetzen:
pcs cluster start <HOSTNAME>
Sobald der Node online ist, bringen Sie ihn aus dem Standby-Modus mit:
pcs cluster node unstandby <HOSTNAME>
Schließlich verlagern alle BeeGFS-Dienste wieder auf ihre bevorzugten Knoten mit:
pcs resource relocate run
Failback (nach einem ungeplanten Failover)
Wenn auf einem Node ein Hardware- oder ein anderer Fehler auftritt, sollte der HA-Cluster automatisch reagieren und seine Services auf einen gesunden Node verschieben. So bleibt den Administratoren Zeit für Korrekturmaßnahmen. Bevor Sie fortfahren, lesen "Fehlerbehebung"Sie den Abschnitt, um die Ursache des Failovers zu ermitteln und alle offenen Probleme zu beheben. Sobald der Knoten wieder eingeschaltet ist und sich in einem ordnungsgemäßen Zustand befindet, können Sie mit dem Failback fortfahren.
Wenn ein Node nach einem ungeplanten (oder geplanten) Neubooten gebootet wird, werden Cluster-Services nicht automatisch gestartet. Sie müssen daher den Node zuerst in den Online-Modus versetzen:
pcs cluster start <HOSTNAME>
Bei der nächsten Bereinigung werden alle Ressourcenfehler behoben, und der Fechtverlauf des Node wird zurückgesetzt:
pcs resource cleanup node=<HOSTNAME>
pcs stonith history cleanup <HOSTNAME>
Verifizieren in pcs status
Der Knoten ist online und in einem ordnungsgemäßen Zustand. Standardmäßig werden BeeGFS-Dienste nicht automatisch Failback durchführen, um zu vermeiden, dass Ressourcen versehentlich auf einen ungesunden Knoten zurückverschoben werden. Wenn Sie bereit sind, alle Ressourcen im Cluster wieder an die bevorzugten Nodes zurückzugeben, mit den folgenden Funktionen:
pcs resource relocate run
Einzelne BeeGFS-Services werden auf alternative Datei-Nodes verschoben
Verschieben Sie einen BeeGFS-Service dauerhaft auf einen neuen Datei-Node
Wenn Sie den bevorzugten Datei-Node für einen einzelnen BeeGFS-Service dauerhaft ändern möchten, passen Sie den Ansible-Bestand an, sodass der bevorzugte Node zuerst aufgelistet wird, und führen Sie das Ansible-Playbook erneut aus.
In dieser Beispieldatei ist beegfs_01 beispielsweise inventory.yml
der bevorzugte Datei-Node zum Ausführen des BeeGFS-Managementservice:
mgmt:
hosts:
beegfs_01:
beegfs_02:
Durch eine Umkehrung des Auftrags würden die Managementservices am beegfs_02 bevorzugt werden:
mgmt:
hosts:
beegfs_02:
beegfs_01:
Verschieben Sie einen BeeGFS-Service vorübergehend auf einen alternativen Datei-Node
Im Allgemeinen, wenn ein Knoten gerade gewartet wird, möchten Sie die Schritte [Failover und Failback](#Failover-and-Failback) verwenden, um alle Dienste von diesem Knoten weg zu verschieben.
Wenn Sie aus irgendeinem Grund einen einzelnen Service auf einen anderen Dateiknoten verschieben müssen, führen Sie:
pcs resource move <SERVICE>-monitor <HOSTNAME>
Geben Sie keine einzelnen Ressourcen oder die Ressourcengruppe an. Geben Sie immer den Namen des Monitors für den BeeGFS-Dienst an, den Sie verschieben möchten. Um zum Beispiel den BeeGFS-Managementdienst auf beegfs_02 zu verschieben, führen Sie: Aus pcs resource move mgmt-monitor beegfs_02 . Dieser Prozess kann wiederholt werden, um einen oder mehrere Services von den bevorzugten Nodes weg zu verschieben. Überprüfen Sie, ob pcs status die Services auf dem neuen Node verlegt/gestartet wurden.
|
Wenn Sie einen BeeGFS-Service wieder auf den bevorzugten Node verschieben möchten, löschen Sie zuerst die temporären Ressourcenbeschränkungen (diesen Schritt wird bei mehreren Services wiederholt):
pcs resource clear <SERVICE>-monitor
Wenn Sie bereit sind, den Service(s) dann wieder zurück zu den bevorzugten Knoten zu verschieben, werden die folgenden Aktionen ausgeführt:
pcs resource relocate run
Hinweis: Mit diesem Befehl werden Services verschoben, bei denen keine temporären Ressourcenbeschränkungen mehr vorhanden sind, die sich nicht auf den bevorzugten Nodes befinden.