Hohe Verfügbarkeit

Hochverfügbarkeit ist eine Reihe automatischer Funktionen, die für die Planung und Wiederherstellung von Problemen entwickelt wurden, die Citrix Hypervisor or-Server befallen oder sie nicht erreichbar machen. Beispielsweise bei physisch unterbrochenen Netzwerk- oder Host-Hardwarefehlern.

Übersicht

Hohe Verfügbarkeit stellt sicher, dass VMs, die auf diesem Host ausgeführt werden, heruntergefahren und auf einem anderen Host neu gestartet werden, wenn ein Host nicht erreichbar oder instabil wird. Beim Herunterfahren und Neustart von VMs auf einem anderen Host wird vermieden, dass die VMs (manuell oder automatisch) auf einem neuen Host gestartet werden. Irgendwann später wird der ursprüngliche Host wiederhergestellt. Dieses Szenario kann zu zwei Instanzen derselben VM führen, die auf verschiedenen Hosts ausgeführt werden, und zu einer entsprechenden hohen Wahrscheinlichkeit von VM-Datenträgerbeschädigung und Datenverlust.

Wenn der Poolmaster nicht erreichbar oder instabil wird, kann die hohe Verfügbarkeit auch die administrative Kontrolle eines Pools wiederherstellen. Hohe Verfügbarkeit stellt sicher, dass die administrative Kontrolle ohne manuellen Eingriff automatisch wiederhergestellt wird.

Optional kann Hochverfügbarkeit auch den Neustart von VMs auf Hosts automatisieren, die bekanntermaßen in einem guten Zustand sind, ohne manuelles Eingreifen. Diese VMs können für den Neustart in Gruppen geplant werden, um Zeit für das Starten von Diensten zu erhalten. Damit können Infrastruktur-VMs vor ihren abhängigen VMs gestartet werden (z. B. ein DHCP-Server vor dem abhängigen SQL-Server).

Warnungen:

Nutzen Sie hohe Verfügbarkeit zusammen mit Multipathed Storage und Bonded Networking. Konfigurieren Sie Multipathed Storage und Bonded Networking, bevor Sie versuchen, Hochverfügbarkeit einzurichten. Kunden, die keinen Multipathed Storage und Bonded Networking einrichten, können unerwartetes Host-Neustartverhalten (Self Fencing) sehen, wenn eine Infrastrukturinstabilität besteht.

Alle Grafiklösungen (nVidia vGPU, Intel GVT-d, Intel GVT-G, AMD MxGPU und vGPU Pass-Through) können in einer Umgebung verwendet werden, die hohe Verfügbarkeit nutzt. VMs, die diese Grafiklösungen verwenden, können jedoch nicht mit hoher Verfügbarkeit geschützt werden. Diese VMs können nach bestem Aufwand neu gestartet werden, während Hosts mit den entsprechenden freien Ressourcen vorhanden sind.

Übertreibend

Ein Pool ist zu viel festgeschrieben, wenn die VMs, die derzeit ausgeführt werden, nach einer benutzerdefinierten Anzahl von Hostfehlern an anderer Stelle nicht neu gestartet werden können.

Ein Überschreiben kann auftreten, wenn im Pool nicht genügend freier Speicher vorhanden ist, um diese VMs nach einem Fehler auszuführen. Es gibt jedoch auch subtileere Änderungen, die hohe Verfügbarkeit garantiert nicht nachhaltig machen können: Änderungen an Virtual Block Devices (VBDs) und Netzwerken können sich darauf auswirken, welche VMs auf welchen Hosts neu gestartet werden können. Citrix Hypervisor kann nicht alle potenziellen Aktionen überprüfen und feststellen, ob sie eine Verletzung der Anforderungen an hohe Verfügbarkeit verursachen. Allerdings wird eine asynchrone Benachrichtigung gesendet, wenn die hohe Verfügbarkeit nicht nachhaltig wird.

Citrix Hypervisor verwaltet dynamisch einen Failoverplan , der detailliert beschreibt, was zu tun ist, wenn ein Satz von Hosts in einem Pool zu einem bestimmten Zeitpunkt ausfällt. Ein wichtiges Konzept, das zu verstehen ist, dass Hostfehler, um Wert zu tolerieren , die als Teil der Hochverfügbarkeitskonfiguration definiert ist. Der Wert von Hostfehlern, die toleriert werden sollen, bestimmt die Anzahl der Fehler, die ohne Verlust des Dienstes zulässig ist. Betrachten Sie beispielsweise einen Ressourcenpool, der aus 64 Hosts besteht und die tolerierten Fehler auf 3 festgelegt ist. In diesem Fall berechnet der Pool einen Failoverplan, mit dem drei Hosts fehlschlagen und die VMs auf anderen Hosts neu starten können. Wenn ein Plan nicht gefunden werden kann, wird der Pool als überschrieben angesehen. Der Plan wird basierend auf VM-Lebenszyklusvorgängen und -bewegungen dynamisch neu berechnet. Wenn Änderungen, z. B. das Hinzufügen neuer VMs zum Pool, dazu führen, dass der Pool übermäßig festgeschrieben wird, werden Warnungen gesendet (entweder über XenCenter oder per E-Mail).

Warnung zu Überbindung

Wenn Versuche, eine VM zu starten oder fortzusetzen, dazu führen, dass der Pool überschrieben wird, wird eine Warnmeldung angezeigt. Diese Warnung wird in XenCenter angezeigt und ist auch als Nachrichteninstanz über die Verwaltungs-API verfügbar. Wenn Sie eine E-Mail-Adresse konfiguriert haben, wird möglicherweise auch eine Nachricht an die E-Mail-Adresse gesendet. Sie können den Vorgang dann abbrechen oder trotzdem fortfahren. Das Fortfahren bewirkt, dass der Pool überschrieben wird. Die Menge an Arbeitsspeicher, die von VMs unterschiedlicher Prioritäten verwendet werden, wird auf Pool- und Hostebene angezeigt.

Host-Fechten

Manchmal kann ein Server aufgrund des Verlusts der Netzwerkkonnektivität oder wenn ein Problem mit dem Kontrollstapel auftritt, ausfallen. In solchen Fällen stellt sich der Citrix Hypervisor or-Server selbst ein, um sicherzustellen, dass die VMs nicht gleichzeitig auf zwei Servern ausgeführt werden. Wenn eine Fencing-Aktion ausgeführt wird, startet der Server sofort und abrupt neu, sodass alle auf ihm ausgeführten VMs gestoppt werden. Die anderen Server erkennen, dass die VMs nicht mehr ausgeführt werden, und die VMs werden entsprechend den ihnen zugewiesenen Neustartprioritäten neu gestartet. Der umzäunte Server gibt eine Neustartsequenz ein, und wenn er neu gestartet wurde, versucht er erneut, dem Ressourcenpool beizutreten.

Hinweis:

Hosts in Cluster-Pools können sich auch selbst eingrenzen, wenn sie nicht mit mehr als der Hälfte der anderen Hosts im Ressourcenpool kommunizieren können. Weitere Informationen finden Sie unter Cluster-Pools.

Konfigurationsanforderungen

Um die Hochverfügbarkeitsfunktion nutzen zu können, benötigen Sie:

  • Citrix Hypervisor Pool (diese Funktion bietet hohe Verfügbarkeit auf Serverebene innerhalb eines einzelnen Ressourcenpools).

    Hinweis:

    Es wird empfohlen, Hochverfügbarkeit nur in Pools zu aktivieren, die mindestens drei Citrix Hypervisor or-Server enthalten. Weitere Informationen finden Sie unter CTX129721 - Hochverfügbarkeitsverhalten, wenn der Heartbeat in einem Pool verloren geht.

  • Gemeinsamer Speicher, einschließlich mindestens einer iSCSI-, NFS- oder Fibre-Channel-LUN mit einer Größe von 356 MB oder mehr - der Heartbeat-SR. Der Hochverfügbarkeitsmechanismus erstellt zwei Volumes auf dem Heartbeat SR:

    4 MB Heartbeat Volume: Wird für Heartbeat verwendet.

    256 MB Metadatenvolume: Speichern von Pool-Master-Metadaten, die verwendet werden sollen, wenn ein Master-Failover vorhanden ist.

    Hinweise:

    • Für maximale Zuverlässigkeit empfehlen wir, ein dediziertes NFS- oder iSCSI-Speicher-Repository als Heartbeat-Festplatte mit hoher Verfügbarkeit zu verwenden. Verwenden Sie dieses Speicher-Repository nicht für andere Zwecke.
    • Wenn es sich bei Ihrem Pool um einen gruppierten Pool handelt, muss Ihr Heartbeat SR ein GFS2 SR sein.
    • Speicher, der entweder mit SMB oder iSCSI verbunden ist, wenn sie mit CHAP authentifiziert wird, kann nicht als Heartbeat SR verwendet werden.
    • Wenn Sie eine NetApp oder EqualLogic SR verwenden, stellen Sie manuell eine NFS- oder iSCSI-LUN auf dem Array bereit, die als Heartbeat-SR verwendet werden soll.
  • Statische IP-Adressen für alle Hosts.

    Warnhinweis:

    Wenn sich die IP-Adresse eines Servers ändert, während die hohe Verfügbarkeit aktiviert ist, geht die hohe Verfügbarkeit davon aus, dass das Netzwerk des Hosts fehlgeschlagen ist. Die Änderung der IP-Adresse kann den Host umschlossen und in einem nicht startbaren Zustand belassen. Um diese Situation zu beheben, deaktivieren Sie die Hochverfügbarkeit mit demhost-emergency-ha-disable Befehl, setzen Sie den Poolmaster mitpool-emergency-reset-master zurück und aktivieren Sie dann die Hochverfügbarkeit erneut.

  • Für maximale Zuverlässigkeit empfehlen wir, eine dedizierte gebundene Schnittstelle als Hochverfügbarkeits-Management-Netzwerk zu verwenden.

Damit eine VM durch hohe Verfügbarkeit geschützt wird, muss sie agil sein. Es bedeutet, dass die VM:

  • Die virtuellen Laufwerke müssen sich auf gemeinsam genutztem Speicher befinden. Sie können jede Art von gemeinsam genutztem Speicher verwenden. iSCSI, NFS oder Fibre Channel-LUN ist nur für den Speicher-Heartbeat erforderlich und kann für die Speicherung virtueller Festplatten verwendet werden.

  • Kann Live-Migration verwenden

  • Keine Verbindung zu einem lokalen DVD-Laufwerk konfiguriert

  • Hat seine virtuellen Netzwerkschnittstellen in Pool-weiten Netzwerken

Hinweis:

Wenn die hohe Verfügbarkeit aktiviert ist, empfehlen wir dringend, eine gebundene Management-Schnittstelle auf den Servern im Pool und Multipathed Storage für den Heartbeat SR zu verwenden.

Wenn Sie VLANs und gebundene Schnittstellen von der CLI erstellen, werden sie möglicherweise nicht angeschlossen und aktiv, obwohl sie erstellt wurden. In diesem Fall kann eine VM als nicht agil erscheinen und ist nicht durch hohe Verfügbarkeit geschützt. Sie können denpif-plug CLI-Befehl verwenden, um die VLAN- und Bindungs-PIFs aufzurufen, damit die VM agil werden kann. Sie können auch genau bestimmen, warum eine VM nicht agil ist, indem Sie denxe diagnostic-vm-status CLI-Befehl verwenden. Mit diesem Befehl werden die Platzierungsbedingungen analysiert, und Sie können bei Bedarf Korrekturmaßnahmen ergreifen.

Konfigurationseinstellungen neu starten

Virtuelle Maschinen können durch hohe Verfügbarkeit als geschützt, bestmöglich oder ungeschützt angesehen werden. Der Wert vonha-restart-priority definiert, ob eine VM als geschützt, best-effort oder ungeschützt behandelt wird. Das Neustartverhalten für VMs in jeder dieser Kategorien ist unterschiedlich.

Geschützt

Hochverfügbarkeit garantiert einen Neustart einer geschützten VM, die offline geschaltet wird oder deren Host offline geht, vorausgesetzt, der Pool ist nicht überlastet und die VM agil ist.

Wenn eine geschützte VM nicht neu gestartet werden kann, wenn ein Server ausfällt, versucht die Hochverfügbarkeit, die VM zu starten, wenn in einem Pool zusätzliche Kapazität vorhanden ist. Versuche, die VM zu starten, wenn zusätzliche Kapazität vorhanden ist, können nun erfolgreich sein.

ha-restart-priority Wert:restart

Best-Aufwand

Wenn der Host einer Best-Effort-VM offline geschaltet wird, versucht Hochverfügbarkeit, die Best-Effort-VM auf einem anderen Host neu zu starten. Dieser Versuch wird erst ausgeführt, nachdem alle geschützten VMs erfolgreich neu gestartet wurden. Hochverfügbarkeit macht nur einen Versuch, eine bestmögliche VM neu zu starten. Wenn dieser Versuch fehlschlägt, unternimmt Hochverfügbarkeit keine weiteren Versuche, die VM neu zu starten.

ha-restart-priority Wert:best-effort

Ungeschützt

Wenn eine ungeschützte VM oder der Host, auf dem sie ausgeführt wird, beendet wird, versucht die Hochverfügbarkeit nicht, die VM neu zu starten.

ha-restart-priority Wert: Wert ist eine leere Zeichenfolge

Hinweis:

Hochverfügbarkeit stoppt oder migriert eine ausgeführte VM nie auf freie Ressourcen, damit eine geschützte oder bestmögliche VM neu gestartet werden kann.

Wenn der Pool Serverfehler auftritt und die Anzahl der tolerierbaren Fehler auf Null sinkt, wird der Neustart der geschützten VMs nicht garantiert. In solchen Fällen wird eine Systemwarnung generiert. Wenn ein anderer Fehler auftritt, verhalten sich alle VMs, für die eine Neustartpriorität festgelegt wurde, entsprechend dem Best-Effort-Verhalten.

Bestellung starten

Die Startreihenfolge ist die Reihenfolge, in der Citrix Hypervisor Hochverfügbarkeit versucht, geschützte VMs neu zu starten, wenn ein Fehler auftritt. Die Werte derorder Eigenschaft für jede der geschützten VMs bestimmen die Startreihenfolge.

Dieorder Eigenschaft einer VM wird von hoher Verfügbarkeit und auch von anderen Features verwendet, die VMs starten und herunterfahren. Für jede VM kann dieorder Eigenschaft festgelegt werden, nicht nur die VMs, die für hohe Verfügbarkeit als geschützt markiert sind. Bei hoher Verfügbarkeit wird dieorder Eigenschaft jedoch nur für geschützte VMs verwendet.

Der Wert derorder Eigenschaft ist eine ganze Zahl. Der Standardwert ist 0, was die höchste Priorität hat. Geschützte VMs mit demorder Wert 0 werden zuerst durch hohe Verfügbarkeit neu gestartet. Je höher der Wert derorder Eigenschaft ist, desto später wird die VM neu gestartet.

Sie können den Wert derorder Eigenschaft einer VM mithilfe der Befehlszeilenschnittstelle festlegen:

xe vm-param-set uuid=VM_UUID order=int

Oder legen Sie in XenCenter im Bedienfeld „Startoptionen“ für eine VM die Startreihenfolge auf den erforderlichen Wert fest.

Hochverfügbarkeit in Ihrem Citrix Hypervisor Pool aktivieren

Sie können Hochverfügbarkeit in einem Pool mithilfe von XenCenter oder der Befehlszeilenschnittstelle aktivieren. In beiden Fällen geben Sie eine Reihe von Prioritäten an, die bestimmen, welche VMs die höchste Neustartpriorität erhalten, wenn ein Pool überschrieben ist.

Warnungen:

  • Wenn Sie Hochverfügbarkeit aktivieren, werden einige Vorgänge, die den Plan für den Neustart von VMs beeinträchtigen, z. B. das Entfernen eines Servers aus einem Pool möglicherweise deaktiviert. Sie können die Hochverfügbarkeit vorübergehend deaktivieren, um solche Vorgänge auszuführen, oder alternativ VMs durch Hochverfügbarkeit ungeschützt machen.

  • Wenn die hohe Verfügbarkeit aktiviert ist, können Sie das Clustering in Ihrem Pool nicht aktivieren. Deaktivieren Sie vorübergehend Hochverfügbarkeit, um Clustering zu aktivieren. Sie können Hochverfügbarkeit in Ihrem Clusterpool aktivieren. Einige Hochverfügbarkeitsverhalten, z. B. Self-Fencing, unterscheiden sich bei Cluster-Pools. Weitere Informationen finden Sie unter Cluster-Pools

Hochverfügbarkeit mithilfe der CLI aktivieren

  1. Stellen Sie sicher, dass ein kompatibles Speicher-Repository (SR) an Ihren Pool angeschlossen ist. iSCSI, NFS oder Fibre Channel-SRs sind kompatibel. Informationen zum Konfigurieren eines solchen Speicher-Repository mithilfe der CLI finden Sie unterVerwalten von Speicher-Repositories.

  2. Legen Sie für jede VM, die Sie schützen möchten, eine Neustartpriorität fest und starten Sie die Reihenfolge. Sie können die Neustartpriorität wie folgt festlegen:

    xe vm-param-set uuid=vm_uuid ha-restart-priority=restart order=1
    
  3. Aktivieren Sie Hochverfügbarkeit im Pool und geben Sie optional ein Timeout an:

    xe pool-ha-enable heartbeat-sr-uuids=sr_uuid ha-config:timeout=timeout in seconds
    

    Timeout ist der Zeitraum, in dem die Hosts in Ihrem Pool nicht auf das Netzwerk oder den Speicher zugreifen können. Wenn Sie beim Aktivieren der Hochverfügbarkeit kein Timeout angeben, verwendet Citrix Hypervisor das Standard-Timeout von 30 Sekunden. Wenn ein Citrix Hypervisor or-Server innerhalb des Timeoutzeitraums nicht auf das Netzwerk oder den Speicher zugreifen kann, kann er sich selbst einschalten und neu starten.

  4. Führen Sie den Befehl auspool-ha-compute-max-host-failures-to-tolerate. Dieser Befehl gibt die maximale Anzahl von Hosts zurück, die fehlschlagen können, bevor nicht genügend Ressourcen vorhanden sind, um alle geschützten VMs im Pool auszuführen.

    xe pool-ha-compute-max-host-failures-to-tolerate
    

    Die Anzahl der zu tolerierenden Fehler bestimmt, wann eine Warnung gesendet wird. Das System berechnet einen Failoverplan neu, wenn sich der Zustand des Pools ändert. Sie verwendet diese Berechnung, um die Poolkapazität zu identifizieren und wie viele weitere Ausfälle möglich sind, ohne dass die Betriebsgarantie für geschützte VMs verloren geht. Eine Systemwarnung wird generiert, wenn dieser berechnete Wert unter den angegebenen Wert für fälltha-host-failures-to-tolerate.

  5. Geben Sie die Anzahl der Fehler an, die Parameter toleriert werden sollen. Der Wert muss kleiner oder gleich dem berechneten Wert sein:

    xe pool-param-set ha-host-failures-to-tolerate=2 uuid=pool-uuid
    

Entfernen des Hochverfügbarkeitsschutzes von einer VM mithilfe der CLI

Um Hochverfügbarkeitsfunktionen für eine VM zu deaktivieren, legen Sie denxe vm-param-set Parameter mit demha-restart-priority Befehl als leere Zeichenfolge fest. Wenn Sie denha-restart-priority Parameter festlegen, werden die Einstellungen für die Startreihenfolge nicht gelöscht. Sie können die Hochverfügbarkeit für eine VM erneut aktivieren, indem Sie denha-restart-priority Parameter aufrestart oder je nachbest-effort Bedarf festlegen.

Wiederherstellen eines nicht erreichbaren Hosts

Wenn ein Host aus irgendeinem Grund nicht auf die Hochverfügbarkeitsstatusdatei zugreifen kann, ist es möglich, dass ein Host nicht erreichbar ist. Um die Citrix Hypervisor Installation wiederherzustellen, müssen Sie die Hochverfügbarkeit möglicherweise mit folgendemhost-emergency-ha-disable Befehl deaktivieren:

xe host-emergency-ha-disable --force

Wenn der Host der Poolmaster war, startet er normal mit deaktivierter Hochverfügbarkeit. Pool-Mitglieder verbinden sich erneut und deaktivieren automatisch Hochverfügbarkeit. Wenn der Host ein Pool-Mitglied war und den Master nicht kontaktieren kann, müssen Sie möglicherweise eine der folgenden Aktionen ausführen:

  • Erzwingen Sie den Neustart des Hosts als Poolmaster (xe pool-emergency-transition-to-master)

     xe pool-emergency-transition-to-master uuid=host_uuid
    
  • Sagen Sie dem Host, wo der neue Master ist (xe pool-emergency-reset-master):

     xe pool-emergency-reset-master master-address=new_master_hostname
    

Wenn alle Hosts erfolgreich neu gestartet wurden, aktivieren Sie die hohe Verfügbarkeit erneut:

xe pool-ha-enable heartbeat-sr-uuid=sr_uuid

Herunterfahren eines Hosts, wenn Hochverfügbarkeit aktiviert ist

Achten Sie besonders darauf, wenn Sie einen Host herunterfahren oder neu starten, um zu verhindern, dass der Hochverfügbarkeitsmechanismus davon ausgeht, dass der Host fehlgeschlagen ist. Um einen Host bei aktivierter Hochverfügbarkeit sauber herunterzufahren,disable verwenden Sieevacuate den Host,shutdown den Host und schließlich den Host entweder XenCenter oder die CLI. Führen Sie die folgenden Befehle aus, um einen Host in einer Umgebung herunterzufahren, in der die hohe Verfügbarkeit aktiviert ist:

    xe host-disable host=host_name
    xe host-evacuate uuid=host_uuid
    xe host-shutdown host=host_name

Herunterfahren einer VM, die durch hohe Verfügbarkeit geschützt ist

Wenn eine VM unter einem Hochverfügbarkeitsplan geschützt und automatisch neu gestartet wird, kann sie nicht heruntergefahren werden, während dieser Schutz aktiv ist. Um eine VM herunterzufahren, deaktivieren Sie zuerst den Hochverfügbarkeitsschutz und führen dann den CLI-Befehl aus. XenCenter bietet ein Dialogfeld, in dem Sie die Deaktivierung des Schutzes automatisieren können, wenn Sie die Schaltfläche Herunterfahren einer geschützten VM auswählen.

Hinweis:

Wenn Sie eine VM innerhalb des Gastes herunterfahren und die VM geschützt ist, wird sie unter den Hochverfügbarkeitsausfallbedingungen automatisch neu gestartet. Der automatische Neustart stellt sicher, dass ein Operatorfehler nicht dazu führt, dass eine geschützte VM versehentlich heruntergefahren wird. Wenn Sie diese VM herunterfahren möchten, deaktivieren Sie zuerst den Hochverfügbarkeitsschutz.