layout: doc description: Create, manage, or destroy a clustered pool of XenServer hosts. Understand the constraints and requirements associated with setting up a clustered pool.—

Clusterpools

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

Ein Cluster ist ein Pool von bis zu 16 XenServer-Hosts, die enger miteinander verbunden und koordiniert sind als Hosts in nicht geclusterten Pools. Die Hosts im Cluster kommunizieren ständig miteinander 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 den Inhalt des GFS2-SRs zu steuern.

Hinweis:

Die Clustering-Funktion kommt nur Pools zugute, die eine GFS2-SR enthalten. Wenn Ihr Pool keine GFS2-SR enthält, aktivieren Sie das Clustering in Ihrem Pool nicht.

Quorum

Jeder Host in einem Cluster muss immer mit der Mehrheit der Hosts im Cluster kommunizieren (einschließlich sich selbst). Dieser Zustand ist als Host mit Quorum bekannt. Wenn ein Host kein Quorum hat, grenzt dieser Host sich selbst ein.

Die Anzahl der Hosts, die miteinander kommunizieren müssen, um das Quorum zu erreichen, kann sich von der Anzahl der Hosts unterscheiden, die ein Cluster benötigt, um das Quorum aufrechtzuerhalten.

Die folgende Tabelle fasst dieses Verhalten zusammen. Der Wert von n ist die Gesamtzahl der Hosts im Clusterpool.

  Anzahl der Hosts, die zum Erreichen des Quorums erforderlich sind Anzahl der Hosts, die erforderlich sind, um quoriert zu bleiben
Ungerade Anzahl von Hosts im Pool (n+1)/2 (n+1)/2
Gerade Anzahl der Hosts im Pool (n/2)+1 n/2

Pools mit ungerader Nummerierung

Um den Quorumwert für einen Pool mit ungerader Nummer zu erreichen, benötigen Sie die Hälfte von eins mehr als die Gesamtzahl der Hosts im Cluster: (n+1) /2. Dies ist auch die Mindestanzahl von Hosts, die erreichbar bleiben müssen, damit der Pool quorat bleibt.

In einem Clusterpool mit 5 Hosts müssen beispielsweise 3 Hosts erreichbar sein, damit der Cluster sowohl aktiv wird als auch quorat bleibt [(5+1) /2 = 3].

Wenn möglich, wird empfohlen, eine ungerade Anzahl von Hosts in einem Clusterpool zu verwenden, da dies sicherstellt, dass Hosts immer feststellen können, ob sie über einen Quoratssatz verfügen.

Pools mit geraden Nummern

Wenn ein Pool mit gerader Anzahl von einem Kaltstart hochgefahren wird, müssen (n/2) +1 Hosts verfügbar sein, bevor die Hosts über ein Quorum verfügen. Nachdem die Hosts das Quorum haben, wird der Cluster aktiv.

Ein aktiver Pool mit gerader Nummer kann jedoch quorat bleiben, wenn die Anzahl der kontaktierbaren Hosts mindestens n/2 beträgt. Daher ist es möglich, dass ein laufender Cluster mit einer geraden Anzahl von Hosts exakt in zwei Hälften aufgeteilt wird. Der laufende Cluster entscheidet, welche Hälfte der Cluster-Selbstzäune und welche Hälfte des Clusters über ein Quorum verfügt. Die Hälfte des Clusters, die den Knoten mit der niedrigsten ID enthält, der vor der Clusteraufteilung als aktiv angesehen wurde, bleibt aktiv, und die andere Hälfte des Clusters grenzt sich selbst ab.

In einem Clusterpool mit 4 Hosts müssen beispielsweise 3 Hosts erreichbar sein, damit der Cluster aktiv wird [4/2 + 1 = 3]. Nachdem der Cluster aktiv ist, müssen nur 2 Hosts kontaktiert werden können, um quorat zu bleiben [4/2 = 2], und diese Gruppe von Hosts muss den Host mit der niedrigsten Knoten-ID enthalten, von der bekannt ist, dass sie aktiv ist.

Fechten

Wenn ein Host feststellt, dass er kein Quorum hat, zäunt er sich innerhalb weniger Sekunden selbst ein. Wenn ein Host sich selbst zäunt, wird er sofort neu gestartet. Alle virtuellen Maschinen, die auf dem Host ausgeführt werden, werden sofort angehalten, da der Host einen Hard-Shutdown durchführt. In einem Clusterpool, der Hochverfügbarkeit verwendet, startet XenServer die VMs entsprechend ihrer Neustartkonfiguration auf anderen Poolmitgliedern neu. Der Host, der sich selbst eingezäunt hat, wird neu gestartet und versucht, dem Cluster erneut beizutreten.

Wenn die Anzahl der Live-Hosts im Cluster unter dem Quorumwert liegt, verlieren alle verbleibenden Hosts das Quorum.

Im Idealfall hat Ihr Clusterpool immer mehr Live-Hosts, als für das Quorum erforderlich sind, und XenServer grenzt nie ab. Um dieses Szenario wahrscheinlicher zu machen, sollten Sie beim Einrichten Ihres Clusterpools die folgenden Empfehlungen berücksichtigen:

Erstellen eines Clusterpools

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

Wenn Sie möchten, können Sie mit XenCenter Clustering in Ihrem Pool einrichten. Weitere Informationen finden Sie in der XenCenter-Produktdokumentation.

So verwenden Sie die xe CLI zum Erstellen eines Clusterpool:

  1. Erstellen Sie ein gebundenes Netzwerk, das als Clusternetzwerk verwendet werden kann.

    Hinweis:

    Wir empfehlen dringend, ein dediziertes gebundenes Netzwerk für Ihren Clusterpool zu verwenden. Verwenden Sie dieses Netzwerk nicht für anderen Datenverkehr.

    Führen Sie auf dem XenServer-Host, den Sie als Poolkoordinator verwenden möchten, die folgenden Schritte aus:

    1. Öffnen Sie eine Konsole auf dem XenServer-Host.

    2. Erstellen Sie ein Netzwerk zur Verwendung mit der gebundenen NIC, indem Sie den folgenden Befehl verwenden:

      xe network-create name-label=bond0
      <!--NeedCopy-->
      

      Die UUID des neuen Netzwerks wird zurückgegeben.

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

      xe pif-list
      <!--NeedCopy-->
      
    4. Erstellen Sie Ihr gebundenes Netzwerk entweder im aktiv-aktiven Modus, im aktiv-passiven Modus oder im LACP-Bond-Modus. Führen Sie je nach dem Bond-Modus, den Sie verwenden möchten, eine der folgenden Aktionen aus:

      • Um die Bindung im Aktiv-Aktiv-Modus (Standard) zu konfigurieren, verwenden Sie den Befehl bond-create, um die Bindung zu erstellen. Trennen Sie die Parameter durch Kommas und geben Sie die neu erstellte Netzwerk-UUID und die UUIDs der zu verbindenden PIFs an:

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

        Geben Sie zwei UUIDs ein, wenn Sie zwei NICs und vier UUIDs verbinden, wenn Sie vier Netzwerkkarten verbinden. Die UUID für die Bindung wird nach Ausführung des Befehls zurückgegeben.

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

         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
         <!--NeedCopy-->
        

    Nachdem Sie Ihr gebundenes Netzwerk auf dem Poolkoordinator erstellt haben und andere XenServer-Hosts mit dem Pool verbinden, werden die Netzwerk- und Bindungsinformationen automatisch auf den beitretenden Server repliziert.

    Weitere Informationen finden Sie unter Netzwerk.

  2. Erstellen Sie einen Ressourcenpool mit mindestens drei XenServer-Hosts.

    Wiederholen Sie die folgenden Schritte auf jedem XenServer-Host, der ein Poolmitglied (kein Master) ist:

    1. Öffnen Sie eine Konsole auf dem XenServer-Host.
    2. Verbinden Sie den XenServer-Host mit dem Pool auf dem Poolkoordinator, indem Sie den folgenden Befehl verwenden:

      xe pool-join master-address=master_address master-username=administrators_username master-password=password
      <!--NeedCopy-->
      

      Der Wert des master-address Parameters muss auf den vollqualifizierten Domänennamen des XenServer-Hosts gesetzt werden, der der Poolkoordinator ist. Das password muss das Administratorkennwort sein, das bei der Installation des Poolkoordinators festgelegt wurde.

    Weitere Informationen finden Sie unter Hosts und Ressourcenpools.

  3. Stellen Sie für jedes PIF, das zu diesem Netzwerk gehört, ein disallow-unplug=true.

    1. Suchen Sie die UUIDs der PIFs, die zum Netzwerk gehören, indem Sie den folgenden Befehl verwenden:

      xe pif-list
      <!--NeedCopy-->
      
    2. Führen Sie den folgenden Befehl auf einem XenServer-Host in Ihrem Ressourcenpool aus:

      xe pif-param-set disallow-unplug=true uuid=<pif_uuid>
      <!--NeedCopy-->
      
  4. Aktivieren Sie das Clustering in Ihrem Pool. Führen Sie den folgenden Befehl auf einem XenServer-Host in Ihrem Ressourcenpool aus:

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

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

Zerstören eines Clusterpool

Sie können einen Clusterpool löschen. Nachdem Sie einen Clusterpool gelöscht haben, besteht der Pool weiterhin, ist jedoch nicht mehr geclustert und kann keine GFS2-SRs mehr verwenden.

Um einen Clusterpool zu löschen, führen Sie den folgenden Befehl aus:

xe cluster-pool-destroy cluster-uuid=<uuid>

Verwalten Sie Ihren Clusterpool

Bei der Verwaltung Ihres geclusterten Pools können die folgenden Vorgehensweisen das Risiko verringern, dass der Pool das Quorum verliert.

Einen Host in einem Clusterpool hinzufügen oder entfernen

Stellen Sie beim Hinzufügen oder Entfernen eines Hosts in einem Clusterpool sicher, dass alle Hosts im Cluster online sind.

Sie können einen Host in einem Clusterpool mit XenCenter hinzufügen oder entfernen. Weitere Informationen finden Sie unter Server zu einem Pool hinzufügen und Server aus einem Pool entfernen.

Sie können einen Host in einem Clusterpool auch mit der xe-CLI hinzufügen oder entfernen. Weitere Informationen finden Sie unter Host zu einem Pool mit der XE-CLI hinzufgen und XenServer-Hosts aus einem Ressourcenpool entfernen.

Stellen Sie sicher, dass Hosts sauber heruntergefahren werden

Wenn ein Host sauber heruntergefahren wird, wird er vorübergehend aus dem Cluster entfernt, bis er neu gestartet wird. Während der Host heruntergefahren wird, wird er nicht auf den Quorumwert des Clusters angerechnet. 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 geht. Dieser Host wird auf den Quorumwert des Clusters angerechnet. Sein Herunterfahren kann dazu führen, dass andere Hosts das Quorum verlieren.

Wenn ein Host zwangsweise heruntergefahren werden muss, überprüfen Sie zunächst, wie viele Live-Hosts sich im Cluster befinden. Sie können dies mit dem Befehl tun corosync-quorumtool. In der Befehlsausgabe ist die Anzahl der Live-Hosts der Wert Total votes: und die Anzahl der Live-Hosts, die zur Aufrechterhaltung des Quorums erforderlich sind, ist der Wert Quorum:.

Versuchen Sie immer, den heruntergefahrenen Host so schnell wie möglich neu zu starten, um die Resilienz Ihres Clusters zu erhöhen.

Wartungsmodus verwenden

Bevor Sie etwas auf einem Host tun, das dazu führen könnte, dass dieser Host das Quorum verliert, versetzen Sie den Host in den Wartungsmodus. Wenn sich ein Host im Wartungsmodus befindet, werden laufende VMs von ihm auf einen anderen Host im Pool migriert. Wenn dieser Host der Poolkoordinator war, wird diese Rolle auch an einen anderen Host im Pool übergeben. Wenn Ihre Aktionen dazu führen, dass sich ein Host im Wartungsmodus selbst abgrenzt, verlieren Sie keine VMs und verlieren keine XenCenter-Verbindung zum Pool.

Hosts im Wartungsmodus werden immer noch auf den Quorumwert für den Cluster angerechnet.

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

Stellen Sie Hosts wieder her, die selbst eingezäunt sind oder offline sind

Es ist wichtig, Hosts wiederherzustellen, die sich selbst eingezäunt haben. Während diese Cluster-Mitglieder offline sind, werden sie auf die Quorumnummer für den Cluster angerechnet und verringern die Anzahl der Cluster-Mitglieder, die kontaktiert werden können. Diese Situation erhöht das Risiko eines nachfolgenden Hostausfalls, der dazu führt, dass der Cluster das 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 Clusterpool muss jedes Mitglied des Pools jeder Änderung der Poolmitgliedschaft zustimmen, bevor die Änderung erfolgreich sein kann. Wenn ein Clustermitglied nicht erreichbar ist, verhindert XenServer Operationen, die die Clustermitgliedschaft ändern (z. B. Host hinzufügen oder Host entfernen).

Hosts als nicht wiederherstellbar markieren

Wenn ein oder mehrere Offline-Hosts nicht wiederhergestellt werden können, können Sie den Clusterpool anweisen, sie zu vergessen. Diese Hosts werden dauerhaft aus dem Pool entfernt. Nachdem Hosts aus dem Clusterpool entfernt wurden, werden sie nicht mehr auf den Quorumwert angerechnet.

Verwenden Sie den folgenden Befehl, um einen Host als nicht wiederherstellbar zu markieren:

xe host-forget uuid=<host_uuid>

Stellen Sie einen vergessenen Host wieder her

Nachdem ein Clusterpool angewiesen wurde, einen Host zu vergessen, kann der Host nicht wieder zum Pool hinzugefügt werden.

Um dem Clusterpool wieder beizutreten, müssen Sie XenServer auf dem Host neu installieren, damit er als neuer Host im Pool angezeigt wird. Sie können den Host dann wie gewohnt mit dem Clusterpool verbinden.

Problembehandlung bei Ihrem Clusterpool

Wenn Probleme mit Ihrem Clusterpool auftreten, finden Sie weitere Informationen unter Problembehandlung bei Clusterpools.

Einschränkungen