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 Pool 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 dem freigegebenen Datenträgers 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 gebunden sind und dass Speicherschnittstellen dynamisches Multipathing verwenden, wo es 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. Das Fencing verhindert, dass der ausgefallene Server auf freigegebene Datenträger schreibt. Dieses Verhalten verhindert Schäden an den gespeicherten Daten während eines automatisierten Failovers, wenn geschützte virtuelle Maschinen auf andere 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. Citrix Hypervisor High Availability berechnet dynamisch einen Ausfallplan, der die Maßnahmen berechnet, die bei einem Serverausfall ergriffen werden müssen. Dieser Ausfallplan stellt sicher, dass kein einzelner Serverausfall es unmöglich macht, seine VMs auf einem anderen Server neu zu starten (z. B. aufgrund unzureichenden Speichers auf anderen Servern). 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. Um die maximale Ausfallkapazität zu berechnen, berücksichtigt Citrix Hypervisor:
- Die Neustartprioritäten der VMs im Pool
- Die Anzahl der Server im Pool
- Die Server-CPU und die Speicherkapazität
-
Serverausfallgrenze. Sie können diesen Wert als Teil der Hochverfügbarkeitskonfiguration definieren, die die Anzahl der im Pool zulässigen Serverausfälle innerhalb des Plans angibt. Wenn die Serverausfallgrenze für einen Pool beispielsweise 3 beträgt, berechnet Citrix Hypervisor einen Failoverplan, der es ermöglicht, dass 3 Server ausfallen und alle geschützten VMs weiterhin im Pool ausgeführt werden 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, wird der Pool überlastet. Beispiele für unzureichende Ressourcen sind möglicherweise nicht genügend freier Speicher oder Änderungen an virtuellen Datenträgern und Netzwerken, die sich darauf auswirken, welche VMs auf welchen Servern möglicherweise neu gestartet werden.
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 zu schützenden VMs im Dialogfeld “ HA-Konfiguration “ oder im Assistenten zum Konfigurieren von HA konfigurieren, wird die maximale Ausfallkapazität für den Pool dynamisch neu berechnet. Mit diesen Informationen können Sie je nach Ihren Geschäftsanforderungen verschiedene Kombinationen von VM-Neustartprioritäten ausprobieren. Sie können feststellen, ob die maximale Ausfallkapazität dem Schutzniveau entspricht, das 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 aus dem Ausfallplan zu entfernen und sie dann herunterzufahren. Diese Option stellt sicher, dass versehentliches Herunterfahren der VM nicht zu Ausfallzeiten führt, dass Sie jedoch eine geschützte VM anhalten können, wenn Sie dies wirklich möchten.
- Wenn Sie einen Server neu starten müssen, wenn Hochverfügbarkeit aktiviert ist, verwendet XenCenter automatisch die VM-Neustartprioritäten, um zu ermitteln, ob durch diesen Neustart der Pool-Ausfallplan ungültig wird. Wenn es keinen Einfluss auf den Plan hat, wird der Server normal heruntergefahren. Wenn der Plan verletzt wird, die maximale Ausfallkapazität jedoch größer als 1 ist, bietet XenCenter die Option, 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 Sie Softwareupdates mithilfe des Assistenten zum Installieren von Updates installieren, müssen Sie die Hochverfügbarkeit im Pool deaktivieren, indem Sie HA ausschaltenauswählen. Sie können die Hochverfügbarkeit wieder aktivieren, nachdem das Update installiert wurde. Wenn Sie die Hochverfügbarkeit nicht deaktivieren, wird das Update nicht fortgesetzt. Überwachen Sie den Pool manuell, während Updates installiert werden, um sicherzustellen, dass Serverausfälle den Betrieb des Pools nicht stören.
- Wenn die hohe Verfügbarkeit aktiviert ist, sind einige Vorgänge, die den Plan für den Neustart von VMs gefährden können, 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 VM die maximale Anzahl zulässiger Serverausfälle auf einen niedrigeren Wert als den aktuellen Wert reduziert, kann ein VM-Betreiber 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 Pool-Administrator oder Pool-Operator die Serverausfallbegrenzung auf eine Zahl festlegen, die unter der maximal zulässigen Anzahl von Ausfällen liegt. 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.