XenCenter

Hohe Verfügbarkeit

Mit der hohen Verfügbarkeit von Citrix Hypervisor können VMs automatisch neu starten, wenn ein Hardwarefehler oder ein Serververlust auftritt. Bei hoher Verfügbarkeit geht es darum, sicherzustellen, dass wichtige VMs immer in einem Ressourcenpool ausgeführt werden. Bei aktivierter Hochverfügbarkeit werden die VMs auf anderen Servern im selben Pool neu gestartet, wenn einer der Server ausfällt. Diese Funktion ermöglicht die Wiederherstellung wesentlicher Dienste mit minimaler Wartungsunterbrechung im Falle eines System- oder Komponentenausfalls.

Wenn der Poolmasterserver ausfällt, wählt Citrix Hypervisor High Availability einen neuen Server aus, der als Master übernommen werden soll. Jeder Server in einem Pool kann ein Masterserver sein. Citrix Hypervisor repliziert die Pooldatenbank ständig über alle Knoten hinweg. Es sichert auch die Datenbank auf Shared Storage auf der Heartbeat SR für zusätzliche Sicherheit.

Bei der Hochverfügbarkeit von Citrix Hypervisor gibt es zwei wichtige Aspekte:

  • Zuverlässige Erkennung von Serverausfällen
  • Berechnen eines Ausfallplans zur schnellen Wiederherstellung

Heartbeats für Verfügbarkeit

Die zuverlässige Erkennung von Serverausfällen ist schwierig, da Sie remote zwischen einem Server, der für eine Weile verschwindet, und einem katastrophalen Ausfall unterscheiden müssen. Wenn die hohe Verfügbarkeit fälschlicherweise entscheidet, dass ein Masterserver defekt ist und einen neuen Master auswählt, können unvorhersehbare Ergebnisse auftreten, wenn der ursprüngliche Server zurückkehrt. Wenn ein Netzwerkproblem dazu führt, dass der Ressourcenpool in zwei gleiche Hälften aufgeteilt wird, müssen wir sicherstellen, dass nur die Hälfte auf den gemeinsam genutzten Speicher zugreift und nicht beide gleichzeitig. Citrix Hypervisor löst all diese Probleme durch zwei Mechanismen: einen Speicher-Heartbeat und einen Netzwerk-Heartbeat.

Wenn Sie Hochverfügbarkeit in einem Pool aktivieren, nominieren Sie ein iSCSI-, Fibre-Channel- oder NFS-Speicherrepository als Heartbeat SR. Citrix Hypervisor erstellt automatisch einige kleine virtuelle Laufwerke in dieser SR. Der erste Datenträger wird von jedem Server im Ressourcenpool als freigegebener Quorumdatenträger verwendet. Jeder Server weist sich einen eindeutigen Block auf der freigegebenen Festplatte zu und schreibt regelmäßig in den Block, um anzuzeigen, dass er am Leben ist. Wenn die hohe Verfügbarkeit gestartet wird, tauschen alle Server Daten über Netzwerk- und Speicherkanäle aus. Diese Aktion zeigt an, welche Server sie über beide Kanäle sehen können, und zeigt, welche E/A-Pfade funktionieren und welche nicht. Diese Informationen werden ausgetauscht, bis ein fester Punkt erreicht ist und alle Server im Pool übereinstimmen, was sie sehen können. Wenn diese Vereinbarung eintritt, ist die hohe Verfügbarkeit aktiviert und der Pool ist geschützt. Dieser Hochverfügbarkeitsarmierungsprozess kann einige Minuten dauern, bis er bei größeren Pools abläuft, ist jedoch nur erforderlich, wenn Sie zum ersten Mal die Hochverfügbarkeit aktivieren.

Nachdem die hohe Verfügbarkeit aktiv ist, schreibt jeder Server regelmäßig Speicheraktualisierungen auf das virtuelle Heartbeat-Laufwerk und Netzwerkpakete über die Verwaltungsschnittstelle. Stellen Sie sicher, dass Netzwerkadapter für Ausfallsicherheit verbunden sind und dass Speicherschnittstellen dynamisches Multipathing verwenden, sofern dies unterstützt wird. Diese Konfiguration stellt sicher, dass einzelne Adapter oder Verkabelungsfehler keine Verfügbarkeitsprobleme verursachen.

Weitere Informationen:

Server Fencing

Das schlimmste Szenario für hohe Verfügbarkeit ist ein Server, in dem angenommen wird, dass ein Server offline ist, aber immer noch in den gemeinsam genutzten Speicher schreibt. Dieses Szenario kann zu einer Beschädigung persistenter Daten führen. Citrix Hypervisor verwendet Server-Fencing, um diese Situation zu verhindern. Der Server wird automatisch ausgeschaltet und vom Zugriff auf freigegebene Ressourcen im Pool isoliert. Fencing verhindert, dass der ausfallende Server auf freigegebene Datenträger schreibt und die Konsistenz der gespeicherten Daten während des automatisierten Failovers beschädigt, wenn geschützte virtuelle Maschinen auf andere, fehlerfreie Server im Pool verschoben werden.

Server selbst Fencing (d. h. Ausschalten und Neustart) im Falle eines Herzschlagfehlers, es sei denn, eine der folgenden Punkte gilt:

  • Der Speicher-Heartbeat ist für alle Server vorhanden, aber das Netzwerk hat partitioniert (so dass es jetzt zwei Gruppen von Servern gibt). In diesem Fall bleiben alle Server, die Mitglieder der größten Netzwerkpartition sind, und die Server in der kleineren Netzwerkpartition Selbst-Fencing ausgeführt. Hier wird davon ausgegangen, dass der Netzwerkausfall die VMs isoliert hat und sie auf einem Server mit funktionierendem Netzwerk neu gestartet werden müssen. Wenn die Netzwerkpartitionen die gleiche Größe haben, dann ist nur einer von ihnen selbst Zäune nach einer stabilen Auswahlfunktion.
  • Wenn der Speicher-Heartbeat verschwindet, aber der Netzwerk-Heartbeat bleibt, überprüfen die Server, ob alle anderen Server über das Netzwerk angezeigt werden können. Wenn diese Bedingung erfüllt ist, werden die Server weiterhin unter der Annahme ausgeführt, dass der Speicher-Heartbeat-Server verschwunden ist. Diese Aktion beeinträchtigt keine VM-Sicherheit, aber alle Netzwerkstörungen führen zu Fencing, da dies bedeuten würde, dass beide Herzschläge verschwunden sind.

Kapazitätsplanung für Ausfälle

Das Heartbeat-System gibt uns zuverlässige Benachrichtigung über Serverausfälle, und so gehen wir auf den zweiten Schritt der Hochverfügbarkeit: Kapazitätsplanung für Ausfälle.

Ein Ressourcenpool besteht aus mehreren Servern (z. B. 32), die jeweils mit potenziell unterschiedlichen Speichermengen und einer unterschiedlichen Anzahl ausgeführter VMs ausgestattet sind. Um sicherzustellen, dass kein einzelner Serverausfall den Neustart seiner VMs auf einem anderen Server unmöglich macht (z. B. wegen unzureichendem Arbeitsspeicher auf einem anderen Server), berechnet Citrix Hypervisor Hochverfügbarkeit dynamisch einen Ausfallplan, der die Aktionen berechnet, die bei einem Serverausfall ausgeführt werden würden. Zusätzlich zum Ausfall eines einzelnen Servers kann die hohe Verfügbarkeit von Citrix Hypervisor den Verlust mehrerer Server in einem Pool bewältigen. Hochverfügbarkeit kann beispielsweise bewältigen, wenn ein Ausfall einer Netzwerkpartition eine ganze Gruppe von Servern ausfällt.

Zusätzlich zur Berechnung der ergriffenen Aktionen berücksichtigt der Ausfallplan die Anzahl der Serverfehler, die im Pool toleriert werden können. Es gibt zwei wichtige Überlegungen bei der Berechnung des Hochverfügbarkeitsplans für einen Pool:

  • Maximale Ausfallkapazität. Dieser Wert ist die maximale Anzahl von Servern, die ausfallen können, bevor nicht genügend Ressourcen vorhanden sind, um alle geschützten VMs im Pool auszuführen. Citrix Hypervisor berechnet die maximale Ausfallkapazität unter Berücksichtigung der Neustartprioritäten der VMs im Pool und der Poolkonfiguration (Anzahl der Server und deren CPU- und Speicherkapazität).
  • Serverausfallgrenze. Sie können diesen Wert als Teil der Hochverfügbarkeitskonfiguration definieren, die die Anzahl der Serverausfälle angibt, die Sie im Pool im Hochverfügbarkeitsplan zulassen möchten. Wenn Sie beispielsweise die Serverausfallgrenze für einen Ressourcenpool auf 3 festlegen, berechnet Citrix Hypervisor einen Failoverplan, der es ermöglicht, dass 3 Server ausfallen und weiterhin alle geschützten VMs im Pool ausführen können. Sie können die Serverausfallgrenze auf einen Wert konfigurieren, der niedriger ist als die maximale Ausfallkapazität, wodurch es weniger wahrscheinlich ist, dass der Pool zu viel festgeschrieben wird. Diese Konfiguration kann in einer Umgebung mit aktiviertem RBAC nützlich sein. Mit dieser Einstellung können RBAC-Benutzer mit niedrigeren Berechtigungen als Pool Operator mehr VMs online schalten, ohne den Hochverfügbarkeitsplan zu unterbrechen. Weitere Informationen finden Sie im Abschnitt Hohe Verfügbarkeit und rollenbasierte Zugriffssteuerung (RBAC) .

Eine Systemwarnung wird generiert, wenn der Wert für die maximale Ausfallkapazität unter den für die Serverausfallgrenze angegebenen Wert liegt.

Über-Commit-Schutz

Wenn die hohe Verfügbarkeit zuerst in einem Pool aktiviert ist, wird ein Ausfallplan basierend auf den dann verfügbaren Ressourcen berechnet. Citrix Hypervisor Hochverfügbarkeit berechnet dynamisch einen neuen Ausfallplan als Reaktion auf Ereignisse, die sich auf den Pool auswirken würden, z. B. beim Starten einer neuen VM. Wenn ein neuer Plan aufgrund unzureichender Ressourcen im Pool nicht berechnet werden kann (z. B. nicht genügend freier Arbeitsspeicher oder Änderungen an virtuellen Laufwerken und Netzwerken, die sich darauf auswirken, welche VMs möglicherweise auf welchen Servern neu gestartet werden), wird der Pool zu viel festgeschrieben.

Hochverfügbarkeits-Neustartpriorität wird verwendet, um zu bestimmen, welche VMs gestartet werden sollen, wenn ein Pool überschrieben ist. Wenn Sie die Neustartpriorität für die VMs konfigurieren, die Sie schützen möchten, im Dialogfeld HA-Konfiguration oder im Assistenten zum Konfigurieren von HA-Einstellungen wird die maximale Ausfallkapazität für den Pool angezeigt, der dynamisch neu berechnet wird. Mit diesen Informationen können Sie verschiedene Kombinationen von VM-Neustartprioritäten je nach Ihren geschäftlichen Anforderungen ausprobieren und prüfen, ob die maximale Ausfallkapazität dem Schutzniveau entspricht, den Sie für die kritischen VMs im Pool benötigen.

Wenn Sie versuchen, eine VM zu starten oder fortzusetzen und diese Aktion dazu führen würde, dass der Pool überschrieben wird, wird in XenCenter eine Warnung angezeigt. Die Nachricht kann auch an eine E-Mail-Adresse gesendet werden, wenn sie konfiguriert ist. Sie haben die Möglichkeit, den Vorgang abzubrechen oder trotzdem fortzufahren, wodurch der Pool zu überlastet wird.

Arbeiten mit einem HA-fähigen Pool

Die beste Vorgehensweise für Hochverfügbarkeit besteht darin, Konfigurationsänderungen am Pool vorzunehmen, während die hohe Verfügbarkeit aktiviert ist. Stattdessen soll es die “2am Safeguard” sein, die Server im Falle eines Problems neu startet, wenn kein menschlicher Administrator in der Nähe ist. Wenn Sie aktiv Konfigurationsänderungen im Pool vornehmen, z. B. Softwareupdates anwenden, deaktivieren Sie die hohe Verfügbarkeit während dieser Änderungen.

  • Wenn Sie versuchen, eine geschützte VM von XenCenter aus herunterzufahren, bietet XenCenter die Möglichkeit, die VM zuerst aus dem Pool-Ausfallplan zu entfernen und dann herunterzufahren. Dadurch wird sichergestellt, dass versehentliches Herunterfahren von virtuellen Maschinen nicht zu Ausfallzeiten führen, sondern dass Sie eine geschützte VM weiterhin stoppen können, wenn Sie dies wirklich möchten.
  • Wenn Sie einen Server neu starten müssen, wenn die hohe Verfügbarkeit aktiviert ist, verwendet XenCenter automatisch die Prioritäten für den Neustart der VM, um zu ermitteln, ob dadurch der Poolfehlerplan ungültig wird. Wenn es keinen Einfluss auf den Plan hat, wird der Server normal heruntergefahren. Wenn der Plan verletzt würde, aber die maximale Ausfallkapazität größer als 1 ist, bietet XenCenter die Möglichkeit, die Serverausfallgrenze des Pools um 1 zu senken. Diese Aktion reduziert die allgemeine Ausfallsicherheit des Pools, stellt jedoch immer sicher, dass mindestens ein Serverausfall toleriert wird. Wenn der Server wieder hochgeladen wird, wird der Plan automatisch neu berechnet, und gegebenenfalls wird das ursprüngliche Serverausfalllimit wiederhergestellt.
  • Wenn SieSoftwareupdatesmit dem Update-Assistenten installieren installieren, müssen Sie die hohe Verfügbarkeit im Pool deaktivieren, indem Sie auf die Option HA deaktivierenklicken, bis das Update installiert. Wenn Sie die hohe Verfügbarkeit nicht deaktivieren, wird das Update nicht fortgesetzt. Sie müssen den Pool manuell überwachen, während Updates installiert werden, um sicherzustellen, dass Serverfehler den Betrieb des Pools nicht stören.
  • Wenn die hohe Verfügbarkeit aktiviert ist, werden einige Vorgänge, die den Plan für den Neustart von VMs beeinträchtigen würden, möglicherweise deaktiviert, z. B. das Entfernen eines Servers aus einem Pool. Deaktivieren Sie vorübergehend die Hochverfügbarkeit, oder Sie können die geschützten VMs herunterfahren, bevor Sie fortfahren.

Hochverfügbarkeit und rollenbasierte Zugriffssteuerung (RBAC)

In Citrix Hypervisor Umgebungen, in denen rollenbasierte Zugriffssteuerung (RBAC) implementiert ist, dürfen nicht alle Benutzer die Hochverfügbarkeitskonfigurationseinstellungen eines Pools ändern. VM-Operatoren verfügen beispielsweise nicht über ausreichende Berechtigungen, um die Failoverkapazität für einen HA-aktivierten Pool anzupassen. Wenn das Starten einer virtuellen Maschine die maximale Anzahl von Serverfehlern auf einen Wert reduziert, der niedriger ist als die aktuelle maximale Ausfallkapazität, kann der VM-Operator die VM nicht starten. Nur Benutzer auf Pooladministrator- oder Pooloperatorebene können die Anzahl der zulässigen Serverausfälle konfigurieren.

In diesem Fall kann der Pooladministrator oder Pool-Operator, der die hohe Verfügbarkeit aktiviert, die Serverausfallgrenze auf eine Zahl festlegen, die niedriger ist als die maximal zulässige Anzahl von Fehlern. Diese Einstellung erstellt Pufferkapazität und stellt so sicher, dass weniger privilegierte Benutzer neue VMs starten können. Dadurch wird die Failover-Kapazität des Pools reduziert, ohne den Ausfallplan zu gefährden.

Hohe Verfügbarkeit