Hochverfügbarkeit konfigurieren
Hochverfügbarkeit versucht, Ihre VM-Workload im Falle eines Host- oder Hardwarefehlers zu schützen.
Dieser Artikel beschreibt die Aufgaben, die zur Konfiguration der Hochverfügbarkeit auszuführen sind. Informationen zu Konzepten, Anforderungen und erwartetem Verhalten der Hochverfügbarkeit finden Sie unter Hochverfügbarkeit.
1. Konfigurieren Sie Ihren Pool für Hochverfügbarkeit
Damit ein Pool mit Hochverfügbarkeit kompatibel ist, muss er bestimmte Anforderungen erfüllen:
-
Stellen Sie sicher, dass Ihr Pool homogen ist, drei oder mehr Hosts enthält und alle Hosts online sind. Weitere Informationen finden Sie unter Einen Pool erstellen.
-
Richten Sie eine dedizierte, gebündelte Schnittstelle für das Pool-Management-Netzwerk ein und stellen Sie sicher, dass dieses Netzwerk UDP-Verkehr über Port 694 zulässt. Weitere Informationen finden Sie unter NIC-Bonds in Ressourcenpools erstellen.
-
Konfigurieren Sie statische IP-Adressen für alle Hosts im Pool.
-
Richten Sie einen gemeinsamen Speicher für alle Hosts im Pool ein. Weitere Informationen finden Sie unter Einen SR erstellen.
-
Stellen Sie sicher, dass ein gemeinsames Speicher-Repository im Pool auf einer iSCSI-, NFS- oder Fibre Channel-LUN liegt, die die folgenden Anforderungen erfüllt:
- 4 GB oder mehr Größe.
- Verfügt über eine robuste Speicherkonnektivität: Konfigurieren Sie für iSCSI- und Fibre Channel-SRs Multipathing. Verwenden Sie für NFS-SRs ein robustes gebündeltes Netzwerk als Speichernetzwerk.
Dieser SR wird als Heartbeat-SR verwendet.
2. Bereiten Sie Ihre VMs für Hochverfügbarkeit vor
Führen Sie diese Schritte für alle VMs in Ihrem Pool aus, die Sie mit Hochverfügbarkeit schützen möchten:
-
Stellen Sie sicher, dass die VM agil ist:
-
Stellen Sie sicher, dass sich die virtuellen Festplatten auf einem freigegebenen Speicher befinden.
Wenn sich die Festplatten nicht auf einem freigegebenen Speicher befinden, verwenden Sie den folgenden Befehl, um sie zu verschieben:
xe vm-copy uuid=<vm_uuid> new-name-label=<name_for_copy> sr-uuid=<uuid_of_sr>Setzen Sie
sr-uuidauf die UUID des freigegebenen Pool-Speichers. -
Stellen Sie sicher, dass die VM nicht mit einem lokalen DVD-Laufwerk verbunden ist.
-
Ermitteln Sie, ob die VM keine leeren CD/DVD-Laufwerke hat, indem Sie Folgendes eingeben:
xe vbd-list type=CD empty=false vm-uuid=<vm_uuid> <!--NeedCopy-->Wenn ein Laufwerk angeschlossen ist, werden dessen Informationen zurückgegeben. Beachten Sie
uuid, das erste Element in der Liste. -
Um die CD/DVD-Laufwerke der VM zu leeren, geben Sie Folgendes ein:
xe vbd-eject uuid=<uuid> <!--NeedCopy-->
-
-
Stellen Sie sicher, dass sich die virtuellen Netzwerkschnittstellen auf poolweiten Netzwerken befinden.
-
Stellen Sie sicher, dass die VM die Anforderungen für die Live-Migration erfüllt. Weitere Informationen finden Sie unter Migrationsanforderungen.
-
-
Geben Sie eine Reihe von Prioritäten an, die bestimmen, welche VMs die höchste Neustartpriorität erhalten, wenn ein Pool überlastet ist.
Setzen Sie den Wert von
ha-restart-priorityauf eine der folgenden Optionen:-
restart, um die VM auf einem anderen Host im Pool neu zu starten, vorausgesetzt, der Pool ist nicht überlastet. XenServer versucht diesen Neustart so lange, bis er erfolgreich ist. -
best-effort, um einen einzelnen Versuch zu unternehmen, die VM auf einem anderen Host im Pool neu zu starten. XenServer unternimmt diesen Versuch erst, nachdem alle geschützten VMs erfolgreich neu gestartet wurden.
Beim Festlegen des Werts für
orderder VMs weisen Sie den VMs mit der höchsten Priorität die niedrigste Startreihenfolge zu. Der Standardwert für diese Einstellung ist 0, und VMs mit dieser Startreihenfolge werden zuerst gestartet.xe vm-param-set uuid=<vm_uuid> ha-restart-priority=<priority> order=<start_order> <!--NeedCopy-->Sie können stattdessen XenCenter verwenden, um diese Einstellungen auf Ihren VMs zu konfigurieren. Weitere Informationen finden Sie unter Startoptionen.
-
3. Hochverfügbarkeit auf Ihrem XenServer®-Pool aktivieren
Sie können die Hochverfügbarkeit auf einem Pool entweder mit XenCenter oder der Befehlszeilenschnittstelle (CLI) aktivieren. Informationen zur Verwendung von XenCenter zum Aktivieren der Hochverfügbarkeit finden Sie unter Hochverfügbarkeit aktivieren.
So aktivieren Sie die Hochverfügbarkeit mithilfe der xe CLI:
-
Um die Hochverfügbarkeit auf dem Pool zu aktivieren und optional ein Timeout anzugeben, führen Sie den folgenden Befehl aus:
xe pool-ha-enable heartbeat-sr-uuids=<sr uuid> ha-config:timeout=<timeout_in_seconds> <!--NeedCopy-->Das mit diesem Befehl konfigurierte Timeout gilt nur für diese Aktivierung der Hochverfügbarkeit. Wenn Sie kein Timeout angeben, beträgt der Standardwert 60 Sekunden. Um dieses Standard-Timeout für Ihren Pool zu ändern, siehe Timeout für Hochverfügbarkeit konfigurieren.
-
Berechnen Sie die maximale Anzahl von Hosts, die ausfallen können, bevor nicht genügend Ressourcen vorhanden sind, um alle geschützten VMs im Pool auszuführen, indem Sie den folgenden Befehl ausführen:
xe pool-ha-compute-max-host-failures-to-tolerate <!--NeedCopy-->Die zurückgegebene Zahl gibt an, wie viele Hostausfälle derzeit im Pool möglich sind, ohne die Liveness-Garantie für geschützte VMs zu verlieren. Dieser Wert kann sich ändern, wenn sich die Bedingungen im Pool ändern.
-
Geben Sie die Anzahl der zu tolerierenden Hostausfälle an, die kleiner oder gleich dem im vorherigen Schritt angegebenen Wert ist.
xe pool-param-set ha-host-failures-to-tolerate=<failure_value> uuid=<pool uuid> <!--NeedCopy-->Die Anzahl der zu tolerierenden Ausfälle bestimmt, wann eine Warnung gesendet wird. Das System berechnet einen Failover-Plan neu, wenn sich der Zustand des Pools ändert. Es verwendet diese Berechnung, um die Poolkapazität zu ermitteln und wie viele weitere Ausfälle möglich sind, ohne die Liveness-Garantie für geschützte VMs zu verlieren. Eine Systemwarnung wird generiert, wenn dieser berechnete Wert unter den angegebenen Wert fällt.
Timeout für Hochverfügbarkeit konfigurieren
Das Timeout ist der Zeitraum, in dem das Netzwerk oder der Speicher für die Hosts in Ihrem Pool nicht zugänglich ist. Wenn ein XenServer-Host innerhalb des Timeout-Zeitraums nicht auf das Netzwerk oder den Speicher zugreifen kann, kann er sich selbst isolieren (self-fence) und neu starten. Das Standard-Timeout beträgt 60 Sekunden. Sie können diesen Wert jedoch ändern, indem Sie ein Standard-Timeout für die Hochverfügbarkeit für Ihren Pool festlegen:
xe pool-param-set uuid=<pool uuid> other-config:default_ha_timeout=<timeout in seconds>
<!--NeedCopy-->
Wenn Sie die Hochverfügbarkeit mit XenCenter® anstelle der xe CLI aktivieren, gilt dieser Standardwert weiterhin.
Hochverfügbarkeitsschutz von einer VM entfernen
Um Hochverfügbarkeitsfunktionen für eine VM zu deaktivieren, verwenden Sie den folgenden Befehl:
xe vm-param-set uuid=<vm_uuid> ha-restart-priority=
Dieser Befehl behält die Einstellungen für die Startreihenfolge bei. Sie können die Hochverfügbarkeit für diese VM erneut aktivieren, indem Sie den Parameter ha-restart-priority entsprechend auf restart oder best-effort setzen.
Neustartverhalten für intern heruntergefahrene VMs konfigurieren
Wenn eine VM durch HA geschützt ist, wird sie standardmäßig bei jedem Herunterfahren neu gestartet. Dieses Verhalten umfasst interne Herunterfahren aufgrund eines VM-Absturzes oder eines sauberen Herunterfahrens innerhalb des Gastbetriebssystems.
Sie können dieses Verhalten ändern, um sicherzustellen, dass VMs im HA-fähigen Pool nur dann neu gestartet werden, wenn der Host, auf dem sie ausgeführt werden, ausfällt oder isoliert wird, und dass in Fällen eines internen Herunterfahrens eine VM heruntergefahren bleibt.
Um HA-geschützte VMs so zu konfigurieren, dass sie nach einem internen Herunterfahren nicht automatisch neu gestartet werden, setzen Sie den Wert ha-reboot-vm-on-internal-shutdown auf false:
xe pool-param-set uuid=<pool_uuid> ha-reboot-vm-on-internal-shutdown=false
Um HA-geschützte VMs so zu konfigurieren, dass sie nach einem internen Herunterfahren automatisch neu gestartet werden, setzen Sie den Wert ha-reboot-vm-on-internal-shutdown auf true:
xe pool-param-set uuid=<pool_uuid> ha-reboot-vm-on-internal-shutdown=true
Nicht erreichbaren Host wiederherstellen
Wenn ein Host aus irgendeinem Grund nicht auf die Hochverfügbarkeitsstatusdatei zugreifen kann, ist es möglich, dass ein Host unerreichbar wird. Um Ihre XenServer-Installation wiederherzustellen, müssen Sie möglicherweise die Hochverfügbarkeit mit dem Befehl host-emergency-ha-disable auf dem Host deaktivieren:
xe host-emergency-ha-disable --force
<!--NeedCopy-->
War der Host der Poolkoordinator, startet er normal mit deaktivierter Hochverfügbarkeit. Poolmitglieder verbinden sich erneut und deaktivieren die Hochverfügbarkeit automatisch. War der Host ein Poolmitglied und kann den Poolkoordinator nicht kontaktieren, müssen Sie möglicherweise eine der folgenden Aktionen ausführen:
-
Den Host zwingen, als Poolkoordinator neu zu starten (
xe pool-emergency-transition-to-master)xe pool-emergency-transition-to-master uuid=<host uuid> <!--NeedCopy--> -
Dem Host mitteilen, wo sich der neue Poolkoordinator befindet (
xe pool-emergency-reset-master):xe pool-emergency-reset-master master-address=<new pool coordinator hostname> <!--NeedCopy-->
Wenn alle Hosts erfolgreich neu gestartet wurden, aktivieren Sie die Hochverfügbarkeit erneut:
xe pool-ha-enable heartbeat-sr-uuid=<sr uuid>
<!--NeedCopy-->
Host herunterfahren, wenn Hochverfügbarkeit aktiviert ist
Seien Sie besonders vorsichtig beim Herunterfahren oder Neustarten eines Hosts, um zu verhindern, dass der Hochverfügbarkeitsmechanismus davon ausgeht, dass der Host ausgefallen ist. Um einen Host sauber herunterzufahren, wenn Hochverfügbarkeit aktiviert ist, deaktivieren Sie den Host, evakuieren Sie den Host und fahren Sie den Host schließlich entweder mit XenCenter oder der CLI herunter. Um einen Host in einer Umgebung herunterzufahren, in der Hochverfügbarkeit aktiviert ist, führen Sie diese Befehle aus:
xe host-disable host=<host name>
xe host-evacuate uuid=<host uuid>
xe host-shutdown host=<host name>
<!--NeedCopy-->
Eine durch Hochverfügbarkeit geschützte VM herunterfahren
Wenn eine VM unter einem Hochverfügbarkeitsplan geschützt ist und so eingestellt ist, dass sie automatisch neu startet, kann sie nicht heruntergefahren werden, solange dieser Schutz aktiv ist. Um eine VM herunterzufahren, deaktivieren Sie zuerst ihren Hochverfügbarkeitsschutz und führen Sie dann den CLI-Befehl aus.
xe vm-param-set uuid=<vm_uuid> ha-restart-priority=
xe vm-shutdown uuid=<vm_uuid>
<!--NeedCopy-->
XenCenter bietet Ihnen ein Dialogfeld, um die Deaktivierung des Schutzes zu automatisieren, wenn Sie die Schaltfläche Herunterfahren einer geschützten VM auswählen.
Hinweis:
Wenn Sie eine VM innerhalb des Gastsystems herunterfahren und die VM geschützt ist, wird sie unter den Hochverfügbarkeits-Fehlerbedingungen automatisch neu gestartet. Der automatische Neustart stellt sicher, dass ein Bedienerfehler nicht dazu führt, dass eine geschützte VM versehentlich heruntergefahren bleibt. Wenn Sie diese VM herunterfahren möchten, deaktivieren Sie zuerst ihren Hochverfügbarkeitsschutz.
In diesem Artikel
- 1. Konfigurieren Sie Ihren Pool für Hochverfügbarkeit
- 2. Bereiten Sie Ihre VMs für Hochverfügbarkeit vor
- 3. Hochverfügbarkeit auf Ihrem XenServer®-Pool aktivieren
- Timeout für Hochverfügbarkeit konfigurieren
- Hochverfügbarkeitsschutz von einer VM entfernen
- Neustartverhalten für intern heruntergefahrene VMs konfigurieren
- Nicht erreichbaren Host wiederherstellen
- Host herunterfahren, wenn Hochverfügbarkeit aktiviert ist
- Eine durch Hochverfügbarkeit geschützte VM herunterfahren