Citrix Hypervisor

Umgang mit Maschinenausfällen

Dieser Abschnitt enthält Einzelheiten zur Wiederherstellung nach verschiedenen Ausfallszenarien. Alle Szenarien zur Wiederherstellung nach einem Ausfall erfordern die Verwendung eines oder mehrerer der unter Backup aufgeführten Backuptypen.

Ausfälle von Mitgliedern

In Abwesenheit von HA erkennen Masterknoten die Ausfälle von Mitgliedern, indem sie regelmäßige Heartbeat-Nachrichten empfangen. Wenn 600 Sekunden lang kein Heartbeat empfangen wurde, geht der Master davon aus, dass das Mitglied tot ist. Es gibt zwei Möglichkeiten, dieses Problem zu beheben:

  • Reparieren Sie den toten Host (z. B. indem Sie ihn physisch neu starten). Wenn die Verbindung zum Mitglied wiederhergestellt ist, markiert der Master das Mitglied erneut als lebendig.

  • Fahren Sie den Host herunter und weisen Sie den Master mit dem CLI-Befehl xe host-forget an, den Mitgliedsnoten zu vergessen. Sobald das Mitglied vergessen wurde, werden alle dort ausgeführten VMs als offline markiert und können auf anderen Citrix Hypervisor-Servern neu gestartet werden.

    Es ist wichtig sicherzustellen, dass der Citrix Hypervisor-Server tatsächlich offline ist, da sonst eine Beschädigung der VM-Daten auftreten kann.

    Teilen Sie Ihren Pool nicht mithilfe von in mehrere Pools eines einzelnen Hosts auf xe host-forget. Diese Aktion kann dazu führen, dass alle denselben gemeinsam genutzten Speicher zuordnen und VM-Daten beschädigen.

Warnung:

  • Wenn Sie den vergessenen Host erneut als aktiven Host verwenden möchten, führen Sie eine Neuinstallation der Citrix Hypervisor-Software durch.
  • Verwenden Sie nicht den Befehl xe host-forget, wenn HA im Pool aktiviert ist. Deaktivieren Sie zuerst HA, vergessen Sie dann den Host und aktivieren Sie dann HA erneut.

Wenn ein Citrix Hypervisor-Mitgliedsserver ausfällt, sind möglicherweise noch VMs im laufenden Zustand registriert. Wenn Sie sicher sind, dass der Citrix Hypervisor-Server des Mitglieds definitiv ausfällt, verwenden Sie den CLI-Befehl xe vm-reset-powerstate, um den Energiezustand der VMs auf halted festzulegen. Weitere Informationen finden Sie unter vm-reset-powerstate .

Warnung:

Eine falsche Verwendung dieses Befehls kann zu einer Beschädigung der Daten führen. Verwenden Sie diesen Befehl nur bei Bedarf.

Bevor Sie VMs auf einem anderen Citrix Hypervisor-Server starten können, müssen Sie auch die Sperren für den VM-Speicher aufheben. Nur ein Host gleichzeitig kann jeden Datenträger in einem SR verwenden. Es ist wichtig, den Datenträger für andere Citrix Hypervisor-Server zugänglich zu machen, sobald ein Host ausgefallen ist. Führen Sie dazu für jedes SR, das Datenträger aller betroffenen VMs enthält, das folgende Skript auf dem Poolmaster aus: /opt/xensource/sm/resetvdis.py host_UUID SR_UUID master

Sie müssen die dritte Zeichenfolge (“master”) nur angeben, wenn der ausgefallene Host zum Zeitpunkt des Absturzes der SR-Master war. (Der SR-Master ist der Poolmaster oder ein Citrix Hypervisor-Server, der lokalen Speicher verwendet.)

Warnung:

Stellen Sie sicher, dass der Host ausgefallen ist, bevor Sie diesen Befehl ausführen. Eine falsche Verwendung dieses Befehls kann zu einer Beschädigung der Daten führen.

Wenn Sie versuchen, eine VM auf einem anderen Citrix Hypervisor-Server zu starten, bevor Sie das Skript resetvdis.py ausführen, wird die folgende Fehlermeldung angezeigt: VDI <UUID> already attached RW.

Master-Ausfälle

Jedes Mitglied eines Ressourcenpools enthält alle Informationen, die erforderlich sind, um bei Bedarf die Rolle des Masters zu übernehmen. Wenn ein Master-Knoten ausfällt, tritt die folgende Abfolge von Ereignissen ein:

  1. Wenn HA aktiviert ist, wird automatisch ein anderer Master ausgewählt.

  2. Wenn HA nicht aktiviert ist, wartet jedes Mitglied auf die Rückkehr des Masters.

Wenn der Master zu diesem Zeitpunkt wieder hochfährt, stellt er die Kommunikation mit seinen Mitgliedern wieder her, und der Betrieb wird wieder normal.

Wenn der Master tot ist, wählen Sie eines der Mitglieder aus und führen Sie den Befehl xe pool-emergency-transition-to-master darauf aus. Sobald es der Master geworden ist, führen Sie den Befehl xe pool-recover-slaves aus und die Mitglieder zeigen nun auf den neuen Master.

Wenn Sie den Server reparieren oder ersetzen, der der ursprüngliche Master war, können Sie ihn einfach aufrufen, die Citrix Hypervisor-Software installieren und zum Pool hinzufügen. Da die Citrix Hypervisor-Server im Pool homogen sind, ist es nicht wirklich erforderlich, den ersetzten Server zum Master zu machen.

Wenn ein Citrix Hypervisor-Mitgliedsserver zum Master umgestellt wird, überprüfen Sie, ob das Standard-Pool-Speicherrepository auf einen entsprechenden Wert festgelegt ist. Diese Prüfung kann mit dem Befehl xe pool-param-list durchgeführt werden. Überprüfen Sie, ob der Parameter default-SR auf ein gültiges Speicherrepository verweist.

Pool-Ausfälle

In dem unglücklichen Fall, dass Ihr gesamter Ressourcenpool ausfällt, müssen Sie die Pooldatenbank von Grund auf neu erstellen. Stellen Sie sicher, dass Sie mit dem CLI-Befehl xe pool-dump-database regelmäßig Backups Ihrer Pool-Metadaten erstellen (siehe pool-dump-database).

So stellen Sie einen vollständig ausgefallenen Pool wieder her:

  1. Installieren Sie einen neuen Satz von Hosts. Bündeln Sie sie zu diesem Zeitpunkt nicht.

  2. Stellen Sie für den als Master nominierten Host die Pooldatenbank mit dem Befehl xe pool-restore-database aus Ihrem Backup wieder her (siehe pool-restore-database).

  3. Stellen Sie mit XenCenter eine Verbindung zum Masterhost her und stellen Sie sicher, dass alle Ihre gemeinsam genutzten Speicher und VMs wieder verfügbar sind.

  4. Führen Sie einen Pool-Join-Vorgang auf den verbleibenden frisch installierten Mitgliedshosts durch und starten Sie Ihre VMs auf den entsprechenden Hosts.

Bewältigen Sie Fehler aufgrund von Konfigurationsfehlern

Wenn der physische Host-Computer betriebsbereit ist, aber die Software- oder Host-Konfiguration beschädigt ist:

  1. Führen Sie den folgenden Befehl aus, um die Hostsoftware und -konfiguration wiederherzustellen:

    xe host-restore host=host file-name=hostbackup
    <!--NeedCopy-->
    
  2. Starten Sie auf der Host-Installations-CD neu und wählen Sie Aus Backup wiederherstellen.

Physischer Maschinenausfall

Wenn der physische Host-Computer ausgefallen ist, verwenden Sie zur Wiederherstellung das entsprechende Verfahren aus der folgenden Liste.

Warnung:

Alle virtuellen Maschinen, die auf einem früheren Mitglied (oder dem vorherigen Host) ausgeführt wurden und ausgefallen sind, werden weiterhin als Running in der Datenbank gekennzeichnet. Dieses Verhalten dient der Sicherheit. Das gleichzeitige Starten einer VM auf zwei verschiedenen Hosts würde zu einer schweren Datenträgerbeschädigung führen. Wenn Sie sicher sind, dass die Maschinen (und VMs) offline sind, können Sie den Betriebszustand der VM auf HaltedFolgendes zurücksetzen:

xe vm-reset-powerstate vm=vm_uuid --force

VMs können dann mit XenCenter oder der CLI neu gestartet werden.

So ersetzen Sie einen ausgefallenen Master durch ein noch laufendes Mitglied:

  1. Führen Sie die folgenden Befehle aus:

    xe pool-emergency-transition-to-master
    xe pool-recover-slaves
    <!--NeedCopy-->
    
  2. Wenn die Befehle erfolgreich sind, starten Sie die virtuellen Maschinen neu.

Das Wiederherstellen eines Pools mit allen Hosts ist fehlgeschlagen:

  1. Befehl:

    xe pool-restore-database file-name=backup
    <!--NeedCopy-->
    

    Warnung:

    Dieser Befehl ist nur erfolgreich, wenn der Zielcomputer über eine entsprechende Anzahl von entsprechend benannten NICs verfügt.

  2. Wenn der Zielcomputer eine andere Ansicht des Speichers hat als die ursprüngliche Maschine, ändern Sie die Speicherkonfiguration mit dem Befehl pbd-destroy. Verwenden Sie als Nächstes den Befehl pbd-create, um Speicherkonfigurationen neu zu erstellen. Eine Dokumentation dieser Befehle finden Sie unter pbd-Befehle .

  3. Wenn Sie eine Speicherkonfiguration erstellt haben, verwenden Sie pbd-plug oder das Menüelement Speicher > Speicherrepository reparieren in XenCenter, um die neue Konfiguration zu verwenden.

  4. Starten Sie alle virtuellen Maschinen neu.

So stellen Sie eine VM wieder her, wenn VM-Speicher nicht verfügbar ist:

  1. Führen Sie den folgenden Befehl aus:

    xe vm-import filename=backup metadata=true
    <!--NeedCopy-->
    
  2. Wenn der Metadatenimport fehlschlägt, führen Sie den Befehl aus:

    xe vm-import filename=backup metadata=true --force
    <!--NeedCopy-->
    

    Mit diesem Befehl wird versucht, die VM-Metadaten nach bestem Aufwand wiederherzustellen.

  3. Starten Sie alle virtuellen Maschinen neu.

Umgang mit Maschinenausfällen