XenServer

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

Wenn keine HA vorhanden ist, erkennen Poolkoordinatorknoten die Ausfälle von Mitgliedern, indem sie regelmäßige Heartbeat-Meldungen empfangen. Wenn 600 Sekunden lang kein Heartbeat empfangen wurde, geht der Poolkoordinator 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 zu dem Mitglied wiederhergestellt ist, markiert der Poolkoordinator das Mitglied wieder als aktiv.

  • Fahren Sie den Host herunter und weisen Sie den Poolkoordinator mit dem CLI-Befehl xe host-forget an, den Mitgliedsknoten zu vergessen. Sobald das Mitglied vergessen wurde, werden alle VMs, die dort ausgeführt wurden, als offline markiert und können auf anderen XenServer-Hosts neu gestartet werden.

    Es ist wichtig sicherzustellen, dass der XenServer-Host tatsächlich offline ist, da es sonst zu einer Beschädigung der VM-Daten kommen 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 wieder als aktiven Host verwenden möchten, führen Sie eine Neuinstallation der XenServer-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 XenServer-Mitgliedshost ausfällt, sind möglicherweise noch VMs im laufenden Zustand registriert. Wenn Sie sicher sind, dass der XenServer-Mitgliedshost definitiv ausgefallen ist, verwenden Sie den xe vm-reset-powerstate CLI-Befehl, um den Betriebsstatus der VMs auf einzustellen. halted 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 XenServer-Host 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, die Festplatte für andere XenServer-Hosts zugänglich zu machen, sobald ein Host ausgefallen ist. Führen Sie dazu das folgende Skript auf dem Pool-Koordinator für jede SR aus, die Festplatten aller betroffenen VMs enthält: /opt/xensource/sm/resetvdis.py host_UUID SR_UUID master

Sie müssen nur die dritte Zeichenfolge („Master“) angeben, wenn der ausgefallene Host zum Zeitpunkt des Absturzes der SR-Pool-Koordinator war. (Der SR-Poolkoordinator ist der Poolkoordinator oder ein XenServer-Host, 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 XenServer-Host zu starten, bevor Sie das resetvdis.py Skript ausführen, erhalten Sie die folgende Fehlermeldung: VDI <UUID> already attached RW.

Ausfälle des Poolkoordinators

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

  1. Wenn HA aktiviert ist, wird automatisch ein anderer Poolkoordinator gewählt.

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

Wenn der Poolkoordinator zu diesem Zeitpunkt wieder auftaucht, stellt er die Kommunikation mit seinen Mitgliedern wieder her, und der Betrieb wird wieder normal.

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

Wenn Sie den Host, der der ursprüngliche Poolkoordinator war, reparieren oder ersetzen, können Sie ihn einfach aufrufen, die XenServer-Software installieren und ihn dem Pool hinzufügen. Da die XenServer-Hosts im Pool homogen sein müssen, besteht keine wirkliche Notwendigkeit, den ersetzten Host zum Poolkoordinator zu machen.

Wenn ein XenServer-Mitgliedshost in einen Poolkoordinator umgewandelt wird, überprüfen Sie, ob das Standard-Pool-Speicher-Repository auf einen geeigneten Wert gesetzt 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 Poolkoordinator nominierten Host die Pooldatenbank aus Ihrem Backup mit dem Befehl xe pool-restore-database wieder her (siehe pool-restore-database).

  3. Stellen Sie mithilfe von XenCenter eine Verbindung zum Poolkoordinator her und stellen Sie sicher, dass Ihr gesamter gemeinsam genutzter Speicher und Ihre 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 Poolkoordinator 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. Führen Sie den Befehl aus:

    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