Bewältigung von Maschinenausfällen

Dieser Abschnitt enthält Details zum Wiederherstellen von verschiedenen Fehlerszenarien. Für alle Fehlerwiederherstellungsszenarien ist die Verwendung eines oder mehrerer der in aufgeführten Sicherungstypen erforderlichBackup.

Mitgliederfehler

In Abwesenheit von HA erkennen Master-Knoten die Fehler von Mitgliedern durch regelmäßige Heartbeat-Nachrichten. 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. durch einen physischen Neustart). Wenn die Verbindung zum Mitglied wiederhergestellt wird, markiert der Master das Element erneut als lebendig.

  • Fahren Sie den Host herunter und weisen Sie den Master an, den Member-Knoten mithilfe desxe host-forget CLI-Befehls zu vergessen. Sobald das Mitglied vergessen wurde, werden alle VMs, die dort ausgeführt wurden, als offline markiert und können auf anderen HASH (0x2e68218) Servern neu gestartet werden. Beachten Sie, dass der HASH (0x2e68218) Server tatsächlich offline ist, da sonst eine Beschädigung der VM-Daten auftreten kann. Achten Sie darauf, Ihren Pool nicht in mehrere Pools eines einzelnen Hosts aufzuteilenxe host-forget, da dies dazu führen kann, dass alle denselben gemeinsam genutzten Speicher zuordnen und VM-Daten beschädigt werden.

Achtung:

  • Wenn Sie den vergessenen Host erneut als aktiven Host verwenden möchten, führen Sie eine Neuinstallation der HASH (0x2c1a078) Software durch.
  • Verwenden Sie keinenxe host-forget Befehl, wenn HA für den Pool aktiviert ist. Deaktivieren Sie zuerst HA, vergessen Sie den Host, und aktivieren Sie dann HA erneut.

Wenn ein Mitglied HASH (0x2e68218) Server ausfällt, sind möglicherweise noch VMs im laufenden Zustand registriert. Wenn Sie sicher sind, dass der Member HASH (0x2e68218) Server definitiv heruntergefahren ist, verwenden Sie denxe vm-reset-powerstate CLI-Befehl, um den Betriebszustand der VMs auf festzulegenhalted . Weitere Informationen finden Sie unter vm-zurücksetzen-powerstate.

Achtung:

Falsche Verwendung dieses Befehls kann zu Datenbeschädigungen führen. Verwenden Sie diesen Befehl nur bei Bedarf.

Bevor Sie VMs auf einem anderen HASH-Server (0x2e68218) starten können, müssen Sie auch die Sperren für VM-Speicher freigeben. Jeder Datenträger in einer SR kann jeweils nur von einem Host verwendet werden. Daher ist es wichtig, den Datenträger für andere HASH-Server (0x2e68218) zugänglich zu machen, sobald ein Host ausgefallen ist. Führen Sie dazu das folgende Skript auf dem Poolmaster für jede SR aus, die Datenträger 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-Master-MDASH-Pool Master oder HASH (0x2e68218) -Server war, der lokale Speicher MDASH verwendet.

Achtung:

Stellen Sie sicher, dass der Host heruntergefahren ist, bevor Sie diesen Befehl ausführen. Falsche Verwendung dieses Befehls kann zu Datenbeschädigungen führen.

Wenn Sie versuchen, eine VM auf einem anderen HASH (0x2e68218) Server zu starten, bevor Sie das obige Skript ausführen, erhalten Sie die folgende Fehlermeldung:VDI <UUID> already attached RW.

Master-Fehler

Jedes Mitglied eines Ressourcenpools enthält alle Informationen, die erforderlich sind, um die Rolle des Masters zu übernehmen, falls erforderlich. Wenn ein Master-Knoten fehlschlägt, tritt die folgende Folge von Ereignissen auf:

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

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

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

Wenn der Master wirklich tot ist, wählen Sie eines der Mitglieder und führen Sie den Befehlxe pool-emergency-transition-to-master darauf aus. Sobald es zum Master geworden ist, führen Sie den Befehl aus,xe pool-recover-slaves 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 hochrufen, die HASH-Serversoftware (0x2e68218) installieren und zum Pool hinzufügen. Da die HASH (0x2e68218) Server im Pool homogen sind, ist es nicht notwendig, den ersetzten Server zum Master zu machen.

Wenn ein Member-HASH (0x2e68218) Server auf einen Master umgestellt wird, sollten Sie auch überprüfen, ob das Standard-Poolspeicher-Repository auf einen entsprechenden Wert festgelegt ist. Dies kann mit demxe pool-param-list Befehl erfolgen und überprüft werden, ob derdefault-SR Parameter auf ein gültiges Speicher-Repository verweist.

Poolfehler

Für den unglücklichen Fall, dass Ihr gesamter Ressourcenpool fehlschlägt, müssen Sie die Pooldatenbank von Grund auf neu erstellen. Stellen Sie sicher, dass Sie Ihre Pool-Metadaten regelmäßig mit demxe pool-dump-database CLI-Befehl sichern (siehePool-Dump-Datenbank ).

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

  1. Installieren Sie einen neuen Satz von Hosts. Becken Sie sie in diesem Stadium nicht auf.

  2. Stellen Sie für den Host, der als Master nominiert wurde, die Pooldatenbank mithilfe desxe pool-restore-database Befehls aus Ihrer Sicherung wieder her (siehePool-Restore-Datenbank ).

  3. Stellen Sie mithilfe von HASH (0x2e6c8e8) eine Verbindung zum Master-Host her, und stellen Sie sicher, dass alle gemeinsam genutzten Speicher und VMs wieder verfügbar sind.

  4. Führen Sie einen Poolbeitritt auf den verbleibenden frisch installierten Mitgliedshosts durch, und starten Sie Ihre VMs auf den entsprechenden Hosts.

Beheben von Fehlern aufgrund von Konfigurationsfehlern

Wenn der physische Hostcomputer betriebsbereit ist, aber die Software- oder Hostkonfiguration beschädigt ist:

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

    xe host-restore host=host file-name=hostbackup
    
  2. Starten Sie die Host-Installations-CD neu und wählen Sie Von Sicherung wiederherstellen aus.

Physischer Maschinenausfall

Wenn der physische Hostcomputer fehlgeschlagen ist, verwenden Sie die unten aufgelistete Vorgehensweise, um die Wiederherstellung wiederherzustellen.

Warnung:

Alle VMs, die auf einem vorherigen Mitglied (oder dem vorherigen Host) ausgeführt werden, die fehlgeschlagen sind, werden weiterhin alsRunningin der Datenbank markiert. Dies dient der Sicherheit: Das gleichzeitige Starten einer VM auf zwei verschiedenen Hosts würde zu schweren Festplattenbeschädigungen führen. Wenn Sie sicher sind, dass die Maschinen (und VMs) offline sind, können Sie den Betriebszustand derHaltedVM auf

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

VMs können dann mit HASH (0x2e6c8e8) oder der CLI neu gestartet werden.

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

  1. Führen Sie die folgenden Befehle aus:

    xe pool-emergency-transition-to-master
    xe pool-recover-slaves
    
  2. Wenn die Befehle erfolgreich sind, starten Sie die VMs neu.

Fehler beim Wiederherstellen eines Pools mit allen Hosts:

  1. Führen Sie den Befehl aus:

    xe pool-restore-database file-name=backup
    

    Achtung:

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

  2. Wenn der Zielcomputer eine andere Ansicht des Speichers hat (z. B. eine Block-Spiegelung mit einer anderen IP-Adresse) als der ursprüngliche Computer, ändern Sie die Speicherkonfiguration mit dempbd-destroy Befehl und dann denpbd-create Befehl , um Speicherkonfigurationen neu zu erstellen. Dokumentationpbd-Befehlezu diesen Befehlen finden Sie unter.

  3. Wenn Sie eine neue Speicherkonfiguration erstellt haben, verwenden Siepbd-plug oder Storage > Storage Repository reparieren in HASH (0x2e6c8e8), um die neue Konfiguration zu verwenden.

  4. Starten Sie alle VMs neu.

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

  1. Führen Sie den folgenden Befehl aus:

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

    xe vm-import filename=backup metadata=true --force
    

    Dieser Befehl versucht, die VM-Metadaten auf „bestem Aufwand“ wiederherzustellen.

  3. Starten Sie alle VMs neu.