Fehlerbehebung bei geclusterten Pools
XenServer®-Pools, die GFS2 zur Thin Provisionierung ihres gemeinsam genutzten Blockspeichers verwenden, sind geclustert. Diese Pools verhalten sich anders als Pools, die gemeinsam genutzten dateibasierten Speicher oder LVM mit gemeinsam genutztem Blockspeicher verwenden. Daher können in geclusterten XenServer-Pools und GFS2-Umgebungen einige spezifische Probleme auftreten.
Verwenden Sie die folgenden Informationen, um kleinere Probleme zu beheben, die bei der Verwendung dieser Funktion auftreten können.
Alle meine Hosts können sich gegenseitig anpingen, aber ich kann keinen Cluster erstellen. Warum?
Der Clustering-Mechanismus verwendet bestimmte Ports. Wenn Ihre Hosts über diese Ports nicht kommunizieren können (selbst wenn sie über andere Ports kommunizieren können), können Sie das Clustering für den Pool nicht aktivieren.
Stellen Sie sicher, dass die Hosts im Pool über die folgenden Ports kommunizieren können:
- TCP: 8892, 8896, 21064
- UDP: 5404, 5405 (kein Multicast)
Wenn sich Firewalls oder Ähnliches zwischen den Hosts im Pool befinden, stellen Sie sicher, dass diese Ports geöffnet sind.
Wenn Sie zuvor HA im Pool konfiguriert haben, deaktivieren Sie HA, bevor Sie das Clustering aktivieren.
Warum erhalte ich einen Fehler, wenn ich versuche, einen neuen Host einem vorhandenen geclusterten Pool hinzuzufügen?
Wenn Clustering in einem Pool aktiviert ist, muss jede Änderung der Poolmitgliedschaft von jedem Mitglied des Clusters genehmigt werden, bevor sie erfolgreich sein kann. Wenn ein Cluster-Mitglied nicht erreichbar ist, schlagen Vorgänge, die die Cluster-Mitgliedschaft ändern (wie das Hinzufügen oder Entfernen eines Hosts), fehl.
Um Ihren neuen Host dem geclusterten Pool hinzuzufügen:
-
Stellen Sie sicher, dass alle Ihre Hosts online und erreichbar sind.
-
Stellen Sie sicher, dass die Hosts im Pool über die folgenden Ports kommunizieren können:
- TCP: 8892, 8896, 21064
- UDP: 5404, 5405 (kein Multicast)
-
Stellen Sie sicher, dass dem beitretenden Host eine IP-Adresse auf der NIC zugewiesen ist, die dem Cluster-Netzwerk des Pools beitritt.
-
Stellen Sie sicher, dass das Clustering kein Nicht-Management-VLAN-Netzwerk im Pool verwendet.
-
Stellen Sie sicher, dass kein Host im Pool offline ist, wenn ein neuer Host versucht, dem geclusterten Pool beizutreten.
-
Wenn ein Offline-Host nicht wiederhergestellt werden kann, markieren Sie ihn als tot, um ihn aus dem Cluster zu entfernen. Weitere Informationen finden Sie unter Ein Host in meinem geclusterten Pool ist offline und ich kann ihn nicht wiederherstellen. Wie entferne ich den Host aus meinem Cluster?
Was tue ich, wenn einige Mitglieder des geclusterten Pools dem Cluster nicht automatisch beitreten?
Dieses Problem könnte dadurch verursacht werden, dass Mitglieder des geclusterten Pools die Synchronisierung verlieren.
Um die Mitglieder des geclusterten Pools erneut zu synchronisieren, verwenden Sie den folgenden Befehl:
xe cluster-pool-resync cluster-uuid=<cluster_uuid>
Wenn das Problem weiterhin besteht, können Sie versuchen, den GFS2 SR erneut anzuhängen. Sie können diese Aufgabe über die xe-CLI oder über XenCenter ausführen.
GFS2 SR mit der xe-CLI erneut anhängen:
-
Trennen Sie den GFS2 SR vom Pool. Führen Sie auf jedem Host den xe-CLI-Befehl
xe pbd-unplug uuid=<uuid_of_pbd>aus. -
Deaktivieren Sie den geclusterten Pool mit dem Befehl
xe cluster-pool-destroy cluster-uuid=<cluster_uuid>Wenn der vorhergehende Befehl nicht erfolgreich ist, können Sie einen geclusterten Pool zwangsweise deaktivieren, indem Sie
xe cluster-host-force-destroy uuid=<cluster_host>auf jedem Host im Pool ausführen. -
Aktivieren Sie den geclusterten Pool erneut mit dem Befehl
xe cluster-pool-create network-uuid=<network_uuid> [cluster-stack=cluster_stack] [token-timeout=token_timeout] [token-timeout-coefficient=token_timeout_coefficient] -
Binden Sie den GFS2 SR erneut an, indem Sie den Befehl
xe pbd-plug uuid=<uuid_of_pbd>auf jedem Host ausführen.
Alternativ können Sie XenCenter verwenden, um den GFS2 SR erneut anzubinden:
- Klicken Sie auf der Registerkarte Speicher des Pools mit der rechten Maustaste auf den GFS2 SR und wählen Sie Trennen….
- Wählen Sie in der Symbolleiste Pool > Eigenschaften.
- Deaktivieren Sie auf der Registerkarte Clustering die Option Clustering aktivieren.
- Klicken Sie auf OK, um Ihre Änderung zu übernehmen.
- Wählen Sie in der Symbolleiste Pool > Eigenschaften.
- Wählen Sie auf der Registerkarte Clustering die Option Clustering aktivieren und wählen Sie das Netzwerk aus, das für das Clustering verwendet werden soll.
- Klicken Sie auf OK, um Ihre Änderung zu übernehmen.
- Klicken Sie auf der Registerkarte Speicher des Pools mit der rechten Maustaste auf den GFS2 SR und wählen Sie Reparieren.
Woher weiß ich, ob mein Host ein Self-Fencing durchgeführt hat?
Wenn Ihr Host ein Self-Fencing durchgeführt hat, hat er sich möglicherweise beim Neustart wieder dem Cluster angeschlossen. Um zu sehen, ob ein Host ein Self-Fencing durchgeführt und sich erholt hat, können Sie die Datei /var/opt/xapi-clusterd/boot-times überprüfen, um die Startzeiten des Hosts zu sehen. Wenn in der Datei Startzeiten vorhanden sind, die Sie nicht erwartet haben, hat der Host ein Self-Fencing durchgeführt.
Warum ist mein Host offline? Wie kann ich ihn wiederherstellen?
Es gibt viele mögliche Gründe, warum ein Host offline gehen kann. Je nach Grund kann der Host entweder wiederhergestellt werden oder nicht.
Die folgenden Gründe für einen Offline-Host sind häufiger und können durch die Wiederherstellung des Hosts behoben werden:
- Sauberes Herunterfahren
- Erzwungenes Herunterfahren
- Temporärer Stromausfall
- Neustart
Die folgenden Gründe für einen Offline-Host sind seltener:
- Permanenter Hardwarefehler des Hosts
- Permanenter Stromversorgungsfehler des Hosts
- Netzwerkpartition
- Netzwerk-Switch-Fehler
Diese Probleme können durch den Austausch von Hardware oder durch das Markieren ausgefallener Hosts als tot behoben werden.
Ein Host in meinem geclusterten Pool ist offline und ich kann ihn nicht wiederherstellen. Wie entferne ich den Host aus meinem Cluster?
Sie können dem Cluster mitteilen, den Host zu vergessen. Diese Aktion entfernt den Host dauerhaft aus dem Cluster und verringert die Anzahl der aktiven Hosts, die für ein Quorum erforderlich sind.
Um einen nicht wiederherstellbaren Host zu entfernen, verwenden Sie den folgenden Befehl:
xe host-forget uuid=<host_uuid>
Dieser Befehl entfernt den Host dauerhaft aus dem Cluster und verringert die Anzahl der aktiven Hosts, die für ein Quorum erforderlich sind.
Hinweis:
Wenn der Host nicht offline ist, kann dieser Befehl zu Datenverlust führen. Sie werden aufgefordert, die Ausführung des Befehls zu bestätigen.
Nachdem ein Host vergessen wurde, kann er nicht wieder zum Cluster hinzugefügt werden. Um diesen Host wieder zum Cluster hinzuzufügen, müssen Sie eine Neuinstallation von XenServer auf dem Host durchführen.
Ich habe einen Host repariert, der als tot markiert war. Wie füge ich ihn wieder meinem Cluster hinzu?
Ein XenServer-Host, der als tot markiert wurde, kann nicht wieder zum Cluster hinzugefügt werden. Um dieses System wieder zum Cluster hinzuzufügen, müssen Sie eine Neuinstallation von XenServer durchführen. Diese Neuinstallation erscheint dem Cluster als neuer Host.
Was mache ich, wenn mein Cluster ständig den Quorum verliert und seine Hosts ständig gefenced werden?
Wenn einer oder mehrere der XenServer-Hosts im Cluster aufgrund eines kontinuierlichen Quorumverlusts in eine Fencing-Schleife geraten, können Sie den Host mit dem nocluster dom0-Befehlszeilenargument booten. Stellen Sie eine Verbindung zur physischen oder seriellen Konsole des Hosts her und führen Sie an der dom0-Befehlszeile den folgenden Befehl aus: /opt/xensource/libexec/xen-cmdline --set-dom0 nocluster. Beim nächsten Neustart versucht der Host nicht, dem Cluster beizutreten.
Nachdem Sie das Problem mit dem Host diagnostiziert und behoben haben, können Sie das Clustering aktivieren, indem Sie das Argument nocluster entfernen. Führen Sie dazu den folgenden Befehl aus: /opt/xensource/libexec/xen-cmdline --remove-dom0 nocluster. Starten Sie Ihren Host neu, damit die Änderung wirksam wird.
Weitere Informationen zum Zugriff auf Hosts über die serielle Konsole und zum Bearbeiten der Xen-Befehlszeile finden Sie unter Erweiterte Fehlerbehebung.
Was passiert, wenn der Pool-Koordinator in einem geclusterten Pool neu gestartet wird?
In den meisten Fällen ist das Verhalten beim Herunterfahren oder Neustarten des Pool-Koordinators in einem geclusterten Pool dasselbe wie beim Herunterfahren oder Neustarten eines anderen Pool-Mitglieds.
Wie der Host heruntergefahren oder neu gestartet wird, kann das Quorum des geclusterten Pools beeinflussen. Weitere Informationen zum Quorum finden Sie unter Quorum.
Der einzige Verhaltensunterschied hängt davon ab, ob HA in Ihrem Pool aktiviert ist:
- Wenn HA aktiviert ist, wird ein neuer Koordinator ausgewählt und der allgemeine Dienst aufrechterhalten.
- Wenn HA nicht aktiviert ist, gibt es keinen Koordinator für den Pool. Laufende VMs auf den verbleibenden Hosts laufen weiter. Die meisten administrativen Vorgänge sind erst verfügbar, wenn der Koordinator neu gestartet wird.
Warum ist mein Pool verschwunden, nachdem ein Host im geclusterten Pool zwangsweise heruntergefahren wurde?
Wenn Sie einen Host normal (nicht erzwungen) herunterfahren, wird er vorübergehend aus den Quorum-Berechnungen entfernt, bis er wieder eingeschaltet wird. Wenn Sie jedoch einen Host zwangsweise herunterfahren oder er die Stromversorgung verliert, zählt dieser Host weiterhin zu den Quorum-Berechnungen. Wenn Sie beispielsweise einen Pool von 3 Hosts hatten und 2 davon zwangsweise heruntergefahren haben, wird der verbleibende Host abgeschottet, da er kein Quorum mehr hat.
Versuchen Sie, Hosts in einem geclusterten Pool immer sauber herunterzufahren. Weitere Informationen finden Sie unter Verwalten Ihres geclusterten Pools.
Warum wurden alle Hosts im geclusterten Pool gleichzeitig neu gestartet?
Alle Hosts in einem aktiven Cluster gelten als Quorum verloren, wenn die Anzahl der kontaktierbaren Hosts im Pool unter diesen Werten liegt:
- Für einen Pool mit einer geraden Anzahl von Hosts: n/2
- Für einen Pool mit einer ungeraden Anzahl von Hosts: (n+1)/2
Der Buchstabe n gibt die Gesamtzahl der Hosts im geclusterten Pool an. Weitere Informationen zum Quorum finden Sie unter Quorum.
In dieser Situation schotten sich alle Hosts selbst ab, und Sie sehen, wie alle Hosts neu gestartet werden.
Um zu diagnostizieren, warum der Pool das Quorum verloren hat, können die folgenden Informationen nützlich sein:
- Überprüfen Sie in XenCenter den Abschnitt Benachrichtigungen für den Zeitpunkt des Problems, um festzustellen, ob eine Selbstabschottung stattgefunden hat.
- Überprüfen Sie auf den Cluster-Hosts
/var/opt/xapi-clusterd/boot-times, um festzustellen, ob ein Neustart zu einem unerwarteten Zeitpunkt erfolgte. - Überprüfen Sie in
Crit.log, ob Meldungen zur Selbstabschottung ausgegeben werden. -
Überprüfen Sie die
dlm_tool status-Befehlsausgabe auf Abschottungsinformationen.Beispiel
dlm_tool status-Ausgabe:dlm_tool status cluster nodeid 1 quorate 1 ring seq 8 8 daemon now 4281 fence_pid 0 node 1 M add 3063 rem 0 fail 0 fence 0 at 0 0 node 2 M add 3066 rem 0 fail 0 fence 0 at 0 0 <!--NeedCopy-->
Beim Sammeln von Protokollen zur Fehlerbehebung sollten Sie Diagnoseinformationen von allen Hosts im Cluster sammeln. In dem Fall, dass sich ein einzelner Host selbst abgeschottet hat, enthalten die anderen Hosts im Cluster wahrscheinlich nützlichere Informationen.
Erfassen Sie vollständige Server-Statusberichte für die Hosts in Ihrem geclusterten Pool. Weitere Informationen finden Sie unter XenServer-Server-Statusberichte.
Warum kann ich meinen geclusterten Pool nicht wiederherstellen, wenn ich Quorum habe?
Wenn Sie einen geclusterten Pool mit einer geraden Anzahl von Hosts haben, ist die Anzahl der Hosts, die zum Erreichen des Quorums erforderlich sind, eins höher als die Anzahl der Hosts, die zum Beibehalten des Quorums erforderlich sind. Weitere Informationen zum Quorum finden Sie unter Quorum.
Wenn Sie sich in einem Pool mit gerader Anzahl befinden und die Hälfte der Hosts wiederhergestellt haben, müssen Sie einen weiteren Host wiederherstellen, bevor Sie den Cluster wiederherstellen können.
Sie können überprüfen, ob Ihr Cluster Quorum hat, indem Sie den folgenden Befehl ausführen:
xe cluster-list params=is-quorate uuid=<cluster_id>
Warum wird mir ein Invalid token Fehler angezeigt, wenn ich die Clustereinstellungen ändere?
Beim Aktualisieren der Konfiguration Ihres Clusters erhalten Sie möglicherweise die folgende Fehlermeldung bezüglich eines ungültigen Tokens ("[[\"InternalError\",\"Invalid token\"]]").
Sie können dieses Problem beheben, indem Sie die folgenden Schritte ausführen:
-
(Optional) Sichern Sie die aktuelle Clusterkonfiguration, indem Sie einen Server-Statusbericht erfassen, der die xapi-clusterd- und Systemprotokolle enthält.
-
Verwenden Sie XenCenter, um den GFS2 SR vom geclusterten Pool zu trennen.
Klicken Sie auf der Registerkarte Speicher des Pools mit der rechten Maustaste auf den GFS2 SR und wählen Sie Trennen….
-
Führen Sie auf einem beliebigen Host im Cluster diesen Befehl aus, um den Cluster zwangsweise zu zerstören:
xe cluster-pool-force-destroy cluster-uuid=<uuid> -
Verwenden Sie XenCenter, um die Clusterbildung in Ihrem Pool erneut zu aktivieren.
- Wählen Sie in der Symbolleiste Pool > Eigenschaften.
- Wählen Sie auf der Registerkarte Clustering die Option Clustering aktivieren und wählen Sie das Netzwerk aus, das für das Clustering verwendet werden soll.
- Klicken Sie auf OK, um Ihre Änderung zu übernehmen.
-
Verwenden Sie XenCenter, um den GFS2 SR erneut an den Pool anzuhängen.
Klicken Sie auf der Registerkarte Speicher des Pools mit der rechten Maustaste auf den GFS2 SR und wählen Sie Reparieren.
In diesem Artikel
- Alle meine Hosts können sich gegenseitig anpingen, aber ich kann keinen Cluster erstellen. Warum?
- Warum erhalte ich einen Fehler, wenn ich versuche, einen neuen Host einem vorhandenen geclusterten Pool hinzuzufügen?
- Was tue ich, wenn einige Mitglieder des geclusterten Pools dem Cluster nicht automatisch beitreten?
- Woher weiß ich, ob mein Host ein Self-Fencing durchgeführt hat?
- Warum ist mein Host offline? Wie kann ich ihn wiederherstellen?
- Ein Host in meinem geclusterten Pool ist offline und ich kann ihn nicht wiederherstellen. Wie entferne ich den Host aus meinem Cluster?
- Ich habe einen Host repariert, der als tot markiert war. Wie füge ich ihn wieder meinem Cluster hinzu?
- Was mache ich, wenn mein Cluster ständig den Quorum verliert und seine Hosts ständig gefenced werden?
- Was passiert, wenn der Pool-Koordinator in einem geclusterten Pool neu gestartet wird?
- Warum ist mein Pool verschwunden, nachdem ein Host im geclusterten Pool zwangsweise heruntergefahren wurde?
- Warum wurden alle Hosts im geclusterten Pool gleichzeitig neu gestartet?
- Warum kann ich meinen geclusterten Pool nicht wiederherstellen, wenn ich Quorum habe?
- Warum wird mir ein Invalid token Fehler angezeigt, wenn ich die Clustereinstellungen ändere?