Clustered Pools

Clustering bietet zusätzliche Funktionen, die für Ressourcenpools erforderlich sind, die GFS2-SRs verwenden. Weitere Hinweise zu GFS2 finden Sie unterSpeicher konfigurieren.

Ein Cluster ist ein Pool von HASH-Hosts (0x2c1a078), die enger verbunden und koordiniert sind als nicht gruppierte Pools. Die Hosts im Cluster pflegen 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 des 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 bekannt.

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

Bei einem geraden Pool ist es möglich, dass sich der laufende Cluster genau in zwei Hälften aufteilt. Der ausgeführte Cluster entscheidet, welche Hälfte der Cluster-Selbstfences und welche Hälfte des Clusters über Quorum verfügt. Wenn ein gruppierter Pool mit gerader Anzahl von einem Kaltstart aktiviert wird, müssen (n/2) + 1 Hosts verfügbar sein, bevor die Hosts über Quorum verfügen. Nachdem die Hosts über Quorum verfügen, wird der Cluster aktiv.

Wenn ein Host kein Quorum hat, schließt sich dieser Host selbst an.

Selbstzäunung

Wenn ein Host erkennt, dass er kein Quorum hat, schließt er sich innerhalb weniger Sekunden selbst ein. Wenn sich ein Host selbst einstellt, wird er sofort neu gestartet. Alle VMs, die auf dem Host ausgeführt werden, werden abgebrochen, da der Host ein hartes Herunterfahren durchführt. In einem Cluster-Pool, der hohe Verfügbarkeit verwendet, startet HASH (0x2c1a078) die VMs entsprechend ihrer Neustartkonfiguration für andere Poolmitglieder neu. Der Host, der selbst eingezäunt wurde, 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 Cluster-Pool immer über mehr Live-Hosts, als für Quorum erforderlich sind und HASH (0x2c1a078) niemals umschließt. Um dieses Szenario wahrscheinlicher zu gestalten, sollten Sie beim Einrichten des Clusterpools folgende Empfehlungen beachten:

  • Stellen Sie sicher, dass Sie über eine gute Hardwareredundanz verfügen.

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

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

  • Konfigurieren Sie Hochverfügbarkeit für den Cluster-Pool. In Clusterpools muss der Heartbeat-SR eine GFS2-SR sein. Weitere Informationen finden Sie unter Hohe Verfügbarkeit.

Erstellen eines gruppierten Pools

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

  • Alle Citrix Hypervisor-Server im Cluster-Pool müssen über mindestens 2 GiB Kontrolldomä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 gegenüber dem Selbst-Fencing des gesamten Pools sensibel sind.

  • Wenn Sie eine Firewall zwischen den Hosts in Ihrem Pool haben, 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 hohe Verfügbarkeit erneut 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 unterXenCenter-Produktdokumentation.

So verwenden Sie die xe-CLI zum Erstellen eines gruppierten Pools:

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

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

    2. Benennen Sie Ihren Ressourcenpool mithilfe des folgenden Befehls:

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

      xe network-create name-label=bond0
      

      Die UUID des neuen Netzwerks wird zurückgegeben.

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

      xe pif-list
      
    5. Erstellen Sie Ihr verbundenes Netzwerk entweder im Aktiv-Aktiv-Modus, im Aktiv-Passivmodus oder im LACP-Bond-Modus. Führen Sie je nach verwenddem Bondmodus eine der folgenden Aktionen aus:

      • Um die Bindung im aktiv-aktiven Modus zu konfigurieren (Standard), verwenden Sie denbond-create Befehl, um die Bindung zu erzeugen. 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 anschließen, und vier UUIDs, wenn Sie vier Netzwerkkarten anschließen. Die UUID für die Bindung wird nach dem Ausführen des Befehls zurückgegeben.

      • Verwenden Sie die gleiche Syntax, fügen Sie den optionalenmode Parameter hinzu und geben Sie Folgendes an, um die Bindung im Aktiv-Passiv-lacp oder LACP-Bondmodus zu konfigurierenactive-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 Ihr verbundenes Netzwerk auf dem Poolmaster erstellt haben, werden die Netzwerk- und Bindungsinformationen automatisch auf den beitretenden Server repliziert, wenn Sie andere Citrix Hypervisor-Server mit dem Pool verbinden.

    Weitere Informationen finden Sie unter Networking.

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

    Wiederholen Sie die folgenden Schritte auf jedem Citrix Hypervisor-Server, der ein (Nicht-Master-) Poolmitglied ist:

    1. Öffnen Sie eine Konsole auf dem Citrix Hypervisor-Server.
    2. Verbinden Sie den Citrix Hypervisor-Server mit dem Pool auf dem Poolmaster, indem Sie den folgenden Befehl verwenden:

      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-Servers festgelegt werden, der der Poolmaster ist. Derpassword 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 jeden PIF, der zu diesem Netzwerk gehört, festdisallow-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-Server in Ihrem Ressourcenpool aus:

      xe pif-param-set disallow-unplug=true uuid=<pif_uuid>
      
  4. Aktivieren Sie das Clustering in Ihrem Pool. Führen Sie den folgenden Befehl auf einem Citrix Hypervisor-Server in Ihrem 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 Sie Ihren Cluster-Pool

Wenn Sie Ihren Cluster-Pool verwalten, können die folgenden Methoden 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 auf den Quorumwert des Clusters. Die Abwesenheit des Hosts führt nicht dazu, dass andere Hosts das 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 zum Quorumwert des Clusters. Das Herunterfahren kann dazu führen, dass andere Hosts das Quorum verlieren.

Wartungsmodus verwenden

Bevor Sie auf einem Host etwas tun, das dazu führen könnte, dass dieser Host das Quorum verliert, setzen Sie den Host in den Wartungsmodus. Wenn sich ein Host im Wartungsmodus befindet, werden ausgeführte VMs von ihm auf einen anderen Host im Pool migriert. Wenn dieser Host der Poolmaster war, wird diese Rolle auch an einen anderen Host im Pool übergeben. Wenn Ihre Aktionen dazu führen, dass sich ein Host im Wartungsmodus selbstfacht, verlieren Sie keine VMs oder verlieren Ihre HASH-Verbindung (0x2e6c8e8) 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 dem Cluster bei. Nachdem der Host den Cluster erneut beitritt, können Sie ihn aus dem Wartungsmodus entfernen.

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

Es ist wichtig, Hosts wiederherzustellen, die sich selbst eingezäunt haben. Während diese Clustermitglieder offline sind, zählen sie auf die Quorumnummer für den Cluster und verringern die Anzahl der Clustermitglieder, die kontaktierbar sind. Diese Situation erhöht das Risiko eines späteren Hostausfalls, der den Cluster Quorum verliert und vollständig heruntergefahren wird.

Wenn Sie Offline-Hosts in Ihrem Cluster haben, können Sie auch bestimmte Aktionen ausführen. In einem Cluster-Pool muss jedes Mitglied des Pools jeder Änderung der Poolmitgliedschaft zustimmen, bevor die Änderung erfolgreich sein kann. Wenn ein Clustermitglied nicht kontaktierbar ist, verhindert HASH (0x2c1a078) 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 diese als tot für den Cluster markieren. Wenn Hosts als tot markiert werden, werden sie dauerhaft aus dem Cluster entfernt. Nachdem Hosts als tot markiert wurden, werden sie nicht mehr auf den Quorumwert angerechnet.

Einschränkungen

  • Clustered Pools unterstützen nur bis zu 16 Hosts pro Pool.
  • Wenn ein Netzwerk sowohl für die Verwaltung als auch für das Clustering 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 virtuelle Rechner ausgeführt hat. Diese Aktion kann dazu führen, dass der Cluster sich umzäunt.
  • Wenn in Ihrem Clusternetzwerk ein IP-Adresskonflikt (mehrere Hosts mit derselben IP-Adresse) besteht, an dem mindestens ein Host mit aktiviertem Clustering beteiligt ist, werden die Hosts nicht eingegrenzt. Um dieses Problem zu beheben, lösen Sie den IP-Adresskonflikt.