Cluster-Pools

Clustering bietet zusätzliche Funktionen, die für Ressourcenpools erforderlich sind, die GFS2-SRs verwenden. Weitere Informationen zu GFS2 finden Sie unterKonfigurieren des Speichers.

Ein Cluster ist ein Pool von Citrix Hypervisor Hosts, die enger miteinander verbunden und koordiniert sind als nicht gruppierte Pools. Die Hosts im Cluster unterhalten eine konstante Kommunikation untereinander in einem ausgewählten Netzwerk. Alle Hosts im Cluster kennen den Status jedes Hosts im Cluster. Diese Host-Koordination ermöglicht es dem Cluster, den Zugriff auf die Inhalte der GFS2 SR zu steuern.

Quorum

Jeder Host in einem Cluster muss immer mit mindestens der Hälfte der Hosts im Cluster kommunizieren (einschließlich selbst). Dieser Zustand wird als Host mit Quorum bezeichnet.

Der Quorumwert für einen Pool mit ungeraden Zahlen ist die Hälfte von eins plus die Gesamtzahl der Hosts im Cluster: (n+1) /2. Der Quorumwert für einen Pool mit geraden Zahlen entspricht der Hälfte der Gesamtzahl der Hosts im Cluster: n/2.

Bei einem Pool mit geraden Zahlen ist es möglich, dass der laufende Cluster genau in zwei Hälften aufgeteilt wird. Der laufende Cluster entscheidet, welche Hälfte der Cluster-Selbstzäune und welche Hälfte des Clusters Quorum hat. Wenn ein geclusterter Pool mit geraden Nummern von einem Kaltstart aktiviert wird, müssen (n/2) +1 Hosts verfügbar sein, bevor die Hosts Quorum haben. Nachdem die Hosts Quorum haben, wird der Cluster aktiv.

Wenn ein Host kein Quorum hat, setzt sich dieser Host selbst ein.

Selbstzäunung

Wenn ein Host erkennt, dass er kein Quorum hat, setzt er sich innerhalb weniger Sekunden selbst ein. Wenn ein Host sich selbst einzäunt, wird er sofort neu gestartet. Alle VMs, die auf dem Host ausgeführt werden, werden beendet, weil der Host ein hartes Herunterfahren durchführt. In einem Clusterpool mit hoher Verfügbarkeit startet Citrix Hypervisor die VMs entsprechend ihrer Neustartkonfiguration auf anderen Pool-Mitgliedern neu. Der Host, der selbst eingegrenzt wurde, wird neu gestartet und versucht, dem Cluster erneut beizutreten.

Wenn die Anzahl der Live-Hosts im Cluster kleiner als der Quorumwert wird, verlieren alle verbleibenden Hosts das Quorum.

In einem idealen Szenario verfügt Ihr Clusterpool immer über mehr Live-Hosts, als für Quorum erforderlich sind, und Citrix Hypervisor setzt sich nie ein. Um dieses Szenario wahrscheinlicher zu machen, sollten Sie beim Einrichten des Clusterpools die folgenden Empfehlungen beachten:

  • Stellen Sie sicher, dass Sie über eine gute Hardware-Redundanz verfügen.

  • Verwenden Sie ein dediziertes gebundenes Netzwerk für das Clusternetzwerk. Stellen Sie sicher, dass sich die gebundenen NICs auf demselben L2-Segment befinden. Weitere Informationen finden Sie unter Vernetzung.

  • Konfigurieren Sie das Speicher-Multipathing zwischen dem Pool und dem GFS2 SR. Weitere Informationen finden Sie unter Massenspeicher-Multipathing.

  • Konfigurieren Sie die hohe Verfügbarkeit im Clusterpool. In gruppierten Pools muss der Heartbeat SR ein GFS2 SR sein. Weitere Informationen finden Sie unter Hohe Verfügbarkeit.

Erstellen eines Cluster-Pools

Bevor Sie beginnen, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:

  • Alle Citrix Hypervisor or-Server im Clusterpool müssen über mindestens 2 GiB Steuerdomänenspeicher verfügen.

  • Alle Hosts im Cluster müssen statische IP-Adressen für das Clusternetzwerk verwenden.

  • Es wird empfohlen, Clustering nur in Pools zu verwenden, die mindestens drei Hosts enthalten, da Pools von zwei Hosts empfindlich darauf reagieren, den gesamten Pool selbst zu fechten.

  • Wenn Sie über eine Firewall zwischen den Hosts in Ihrem Pool verfügen, stellen Sie sicher, dass Hosts über die folgenden Ports im Clusternetzwerk kommunizieren können:
    • TCP: 8892, 21064
    • UDP: 5404, 5405

    Weitere Informationen finden Sie unter Von Citrix Technologies verwendete Kommunikationsports.

  • Wenn Sie einen vorhandenen Pool gruppieren, stellen Sie sicher, dass die hohe Verfügbarkeit deaktiviert ist. Sie können die Hochverfügbarkeit wieder aktivieren, nachdem das Clustering aktiviert ist.

Wenn Sie möchten, können Sie Clustering in Ihrem Pool mithilfe von XenCenter einrichten. Weitere Informationen finden Sie unter XenCenter Produktdokumentation.

So erstellen Sie einen gruppierten Pool mithilfe der xe-CLI:

  1. Erstellen Sie ein gebundenes Netzwerk, das als Clusternetzwerk verwendet werden soll. Führen Sie auf dem Citrix Hypervisor or-Server, der der Poolmaster sein soll, die folgenden Schritte aus:

    1. Öffnen Sie eine Konsole auf dem Citrix Hypervisor or-Server.

    2. Benennen Sie Ihren Ressourcenpool mithilfe des folgenden Befehls:

      xe pool-param-set name-label="New Pool" uuid=<pool_uuid>
      
    3. Erstellen Sie mit dem folgenden Befehl ein Netzwerk zur Verwendung mit der gebundenen NIC:

      xe network-create name-label=bond0
      

      Die UUID des neuen Netzwerks wird zurückgegeben.

    4. Suchen Sie die UUIDs der PIF, die in der Bindung verwendet werden sollen, indem Sie den folgenden Befehl verwenden:

      xe pif-list
      
    5. Erstellen Sie Ihr gebundene Netzwerk entweder im Aktiv-Aktiv-Modus, im Aktiv-Passiv-Modus oder im LACP-Bond-Modus. Je nach Anleihemodus, den Sie verwenden möchten, führen Sie eine der folgenden Aktionen aus:

      • Um die Bindung im Aktiv-Aktiv-Modus (Standard) zu konfigurieren, verwenden Sie den bond-create Befehl, um die Bindung zu erstellen. Geben Sie mithilfe von Kommas die neu erstellte Netzwerk-UUID und die UUIDs der zu gebundenen PIFs an:

         xe bond-create network-uuid=<network_uuid> /
              pif-uuids=<pif_uuid_1>,<pif_uuid_2>,<pif_uuid_3>,<pif_uuid_4>
        

        Geben Sie zwei UUIDs ein, wenn Sie zwei Netzwerkkarten und vier UUIDs verkleben, wenn Sie vier Netzwerkkarten miteinander vereinen. Die UUID für die Bindung wird nach dem Ausführen des Befehls zurückgegeben.

      • Um die Bindung im Aktiv-Passiv- oder LACP-Bond-Modus zu konfigurieren, verwenden Sie die gleiche Syntax, fügen Sie den optionalen mode Parameter hinzu und geben Sie Folgendes lacp an active-backup:

         xe bond-create network-uuid=<network_uuid> pif-uuids=<pif_uuid_1>, /
              <pif_uuid_2>,<pif_uuid_3>,<pif_uuid_4> /
              mode=balance-slb | active-backup | lacp
        

    Nachdem Sie das gebundene Netzwerk auf dem Poolmaster erstellt haben und andere Citrix Hypervisor or-Server mit dem Pool verbinden, werden die Netzwerk- und Bondinformationen automatisch auf den beitrittenden Server repliziert.

    Weitere Informationen finden Sie unter Vernetzung.

  2. Erstellen Sie einen Ressourcenpool mit mindestens drei Citrix Hypervisor or-Servern.

    Wiederholen Sie die folgenden Schritte auf jedem Citrix Hypervisor or-Server, der ein (nicht Master-) Pool-Mitglied ist:

    1. Öffnen Sie eine Konsole auf dem Citrix Hypervisor or-Server.
    2. Verbinden Sie den Citrix Hypervisor or-Server mit dem Pool auf dem Poolmaster mithilfe des folgenden Befehls:

      xe pool-join master-address=master_address master-username=administrators_username master-password=password
      

      Der Wert desmaster-address Parameters muss auf den vollqualifizierten Domänennamen des Citrix Hypervisor or-Servers festgelegt werden, der der Poolmaster ist. Daspassword muss das Administratorkennwort sein, das bei der Installation des Poolmasters festgelegt wurde.

    Weitere Informationen finden Sie unter Hosts und Ressourcenpools.

  3. Legen Sie für jedes PIF fest, das zu diesem Netzwerk gehörtdisallow-unplug=true.

    1. Suchen Sie die UUIDs der PIFs, die zum Netzwerk gehören, mithilfe des folgenden Befehls:

      xe pif-list
      
    2. Führen Sie den folgenden Befehl auf einem Citrix Hypervisor or-Server im Ressourcenpool aus:

      xe pif-param-set disallow-unplug=true uuid=<pif_uuid>
      
  4. Aktivieren Sie Clustering in Ihrem Pool. Führen Sie den folgenden Befehl auf einem Citrix Hypervisor or-Server im Ressourcenpool aus:

    xe cluster-pool-create network-uuid=<network_uuid>
    

    Geben Sie die UUID des gebundenen Netzwerks an, das Sie in einem früheren Schritt erstellt haben.

Verwalten Ihres Cluster-Pools

Bei der Verwaltung Ihres Cluster-Pools können die folgenden Praktiken das Risiko verringern, dass der Pool Quorum verliert.

Stellen Sie sicher, dass Hosts sauber heruntergefahren werden

Wenn ein Host sauber heruntergefahren wird, wird er vorübergehend aus dem Cluster entfernt, bis er erneut gestartet wird. Während der Host heruntergefahren wird, zählt er nicht zum Quorumwert des Clusters. Die Abwesenheit des Hosts führt nicht dazu, dass andere Hosts Quorum verlieren.

Wenn ein Host jedoch zwangsweise oder unerwartet heruntergefahren wird, wird er nicht aus dem Cluster entfernt, bevor er offline geschaltet wird. Dieser Host zählt auf den Quorumwert des Clusters. Das Herunterfahren kann dazu führen, dass andere Hosts Quorum verlieren.

Wartungsmodus verwenden

Bevor Sie auf einem Host etwas ausführen, das dazu führen könnte, dass dieser Host Quorum verliert, versetzen Sie den Host in den Wartungsmodus. Wenn sich ein Host im Wartungsmodus befindet, werden ausgeführte VMs auf einen anderen Host im Pool migriert. Wenn dieser Host der Poolmaster war, wird diese Rolle an einen anderen Host im Pool übergeben. Wenn Ihre Aktionen dazu führen, dass sich ein Host im Wartungsmodus selbst einstellt, verlieren Sie keine VMs oder verlieren die XenCenter Verbindung mit dem Pool.

Hosts im Wartungsmodus zählen weiterhin auf den Quorumwert für den Cluster.

Sie können die IP-Adresse eines Hosts, der Teil eines Clusterpools ist, nur ändern, wenn sich dieser Host im Wartungsmodus befindet. Wenn Sie die IP-Adresse eines Hosts ändern, verlässt der Host den Cluster. Wenn die IP-Adresse erfolgreich geändert wurde, tritt der Host erneut in den Cluster ein. Nachdem der Host wieder dem Cluster beitritt, können Sie ihn aus dem Wartungsmodus entfernen.

Wiederherstellen von Hosts, die selbst eingezäunt sind oder offline sind

Es ist wichtig, Hosts wiederherzustellen, die selbst eingezäunt sind. Während diese Clustermitglieder offline sind, zählen sie zur Quorumnummer für den Cluster und verringern die Anzahl der Clustermitglieder, die kontaktiert werden können. Diese Situation erhöht das Risiko eines nachfolgenden Hostfehlers, der dazu führt, dass der Cluster Quorum verliert und vollständig heruntergefahren wird.

Wenn Sie Offline-Hosts in Ihrem Cluster haben, können Sie auch bestimmte Aktionen nicht ausführen. In einem Clusterpool muss jedes Mitglied des Pools jeder Änderung der Poolmitgliedschaft zustimmen, bevor die Änderung erfolgreich sein kann. Wenn ein Clustermitglied nicht kontaktierbar ist, verhindert Citrix Hypervisor Vorgänge, die die Clustermitgliedschaft ändern (z. B.

Hosts als tot markieren

Wenn ein oder mehrere Offline-Hosts nicht wiederhergestellt werden können, können Sie sie als tot im Cluster markieren. Wenn Hosts als tot markiert werden, werden sie dauerhaft aus dem Cluster entfernt. Nachdem Hosts als tot markiert wurden, zählen sie nicht mehr auf den Quorumwert.

Einschränkungen

  • Cluster-Pools unterstützen nur bis zu 16 Hosts pro Pool.
  • Wenn ein Netzwerk sowohl für die Verwaltung als auch für die Clustererstellung verwendet wurde, können Sie das Verwaltungsnetzwerk nicht trennen, ohne den Cluster neu zu erstellen.
  • Wenn Sie die IP-Adresse des Clusternetzwerks mithilfe von XenCenter ändern, müssen Clustering und GFS2 vorübergehend deaktiviert werden.
  • Ändern Sie die Bindung Ihres Clusternetzwerks nicht, solange der Cluster live ist und VMs ausgeführt hat. Diese Aktion kann dazu führen, dass der Cluster einen Zaun aufweist.
  • Wenn Sie einen IP-Adresskonflikt (mehrere Hosts mit derselben IP-Adresse) in Ihrem Clusternetzwerk haben, an dem mindestens ein Host mit aktiviertem Clustering beteiligt ist, werden die Hosts nicht gegrenzt. Um dieses Problem zu beheben, beheben Sie den IP-Adresskonflikt.