Failover und Failback

Failover

Wenn bei einer einzelnen Anwendung in einem Servercluster ein Fehler auftritt, nicht jedoch beim Knoten selbst, versucht der Clusterdienst normalerweise, die Anwendung auf demselben Knoten erneut zu starten. Falls dies nicht möglich ist, werden die Ressourcen der Anwendung zu einem anderen Knoten im Servercluster verschoben und dort neu gestartet. Dieser Vorgang wird als Failover bezeichnet. Mit der grafischen Konsole der Clusterverwaltung können Sie verschiedene Wiederherstellungsrichtlinien festlegen. Geben Sie beispielsweise die Abhängigkeiten zwischen Anwendungen an, und legen Sie fest, ob eine Anwendung auf demselben Server neu gestartet werden soll und ob die Arbeitslast automatisch neu ausgeglichen werden soll ("Failback"), wenn ein ausgefallener Server wieder online geschaltet wird.

In den folgenden Fällen versucht der Clusterdienst, ein Failover für eine Gruppe auszuführen:

  • Der Knoten, der derzeit als Host der Gruppe dient, wird inaktiv.
  • Bei einer der Ressourcen in der Gruppe tritt ein Fehler auf, und gemäß der Konfiguration dieser Ressource wirkt sich der Fehler auf die Gruppe aus.
  • Sie erzwingen ein Failover

Bei einem Failoverversuch werden folgende Schritte ausgeführt:

  1. Der Clusterdienst schaltet alle Ressourcen in der Gruppe offline. Die Reihenfolge ergibt sich aus der Hierarchie der Abhängigkeiten in der Gruppe: zuerst die abhängigen Ressourcen, dann die Ressourcen, von denen sie abhängig sind. Wenn eine Anwendung beispielsweise von einer Ressource vom Typ Physikalischer Datenträger abhängig ist, schaltet der Clusterdienst zunächst die Anwendung offline, so dass die dort vorgenommenen Änderungen auf dem Datenträger gespeichert werden können, und dann erst den Datenträger selbst.

Beim Offlineschalten einer Ressource ruft der Clusterdienst über einen Ressourcenmonitor die Ressourcen-DLL auf, mit der die betreffende Ressource verwaltet wird. Wenn die Ressource innerhalb eines festgelegten Zeitlimits nicht heruntergefahren werden kann, wird ihre Beendigung durch den Clusterdienst erzwungen

Sobald alle Ressourcen offline sind, versucht der Clusterdienst, die Gruppe zu dem Knoten zu verschieben, der als nächster in der Liste der bevorzugten Hostknoten für die Gruppe aufgeführt ist.

  1. Falls der Clusterdienst die Gruppe erfolgreich zu einem anderen Knoten verschieben konnte, versucht der Dienst, die Ressourcen der Gruppe wieder online zu schalten. Das Failover ist abgeschlossen, sobald alle Ressourcen der Gruppe auf dem neuen Knoten online sind.

Der Clusterdienst versucht so lange, ein Failover für eine Gruppe auszuführen, bis der Vorgang erfolgreich abgeschlossen werden konnte oder bis die Höchstanzahl an Versuchen innerhalb des angegebenen Zeitraums vorgenommen wurde. Die Höchstanzahl der Failoverversuche in einem bestimmten Zeitraum ist in der Failoverrichtlinie der Gruppe festgelegt. Wenn der Clusterdienst dieses Limit überschreitet, wird davon ausgegangen, dass die Gruppe auf keinem Knoten im Cluster wieder online geschaltet werden kann. Für die Gruppe wird dann kein Failover mehr versucht

Verfahren zum Steuern der Failoverrichtlinie

  • Definieren Sie, auf welche Weise der Clusterdienst einen Fehler bei einzelnen Ressourcen in der Gruppe erkennen und wie er darauf reagieren soll
  • Steuern Sie die Reihenfolge, in der die Ressourcen durch den Clusterdienst offline geschaltet werden. Legen Sie hierzu Abhängigkeitsbeziehungen zwischen den Ressourcen fest.
  • Legen Sie das Zeitlimit, den Failoverschwellenwert und den Failoverzeitraum für Ressourcen fest. Mit dem Zeitlimit steuern Sie, wie lange der Clusterdienst auf das Herunterfahren der Ressource warten soll. Mit dem Failoverschwellenwert und -zeitraum wird gesteuert, wie oft der Clusterdienst in einem bestimmten Zeitraum versucht, ein Failover für eine Ressource auszuführen.
  • Legen Sie eine Liste mit möglichen Besitzern für die Ressourcen an. Mit der Liste der möglichen Besitzer für eine Ressource wird gesteuert, welche Clusterknoten als Host für die Ressource dienen können

Failback

Wenn ein Knoten inaktiv wird, führt der Clusterdienst ein Failover für alle Gruppen aus, für die dieser Knoten als Host dient. Sobald der Knoten wieder aktiv ist, kann der Clusterdienst ein Failback für die Gruppen ausführen, deren Host ursprünglich dieser Knoten war.

Wenn der Clusterdienst ein Failback für eine Gruppe ausführt, verwendet er dieselben Verfahren wie für ein Failover. Mit anderen Worten, der Clusterdienst schaltet alle Ressourcen in der Gruppe offline, verschiebt die Gruppe und schaltet dann alle Ressourcen in der Gruppe wieder online.

Sie können festlegen, dass das Failback in einem bestimmten Zeitraum erfolgen muss. Das Festlegen der Failbackzeit ist wichtig, da ein Failback möglicherweise nicht während der Spitzenlastzeiten auftreten soll.