Fehlerhaften Host melden

Wenn Sie Probleme auf einer reservierten H4D-VM feststellen, die Sie nicht anders beheben können, z. B. dauerhafte Fehler mit dem RDMA-Gerät, empfehlen wir, den Host als fehlerhaft zu melden. Wenn Sie einen Host als fehlerhaft melden, meldet Compute Engine den Host als fehlerhaft und repariert die VM dann automatisch durch Ausführen der Hostwartung. Bei H4D-VMs versucht Compute Engine, die VM zu einem anderen Host zu migrieren, wenn die Wartung beginnt. So kann die Ausfallzeit für Ihre Arbeitslast minimiert werden.

In diesem Dokument wird beschrieben, wie Sie fehlerhafte Hosts für VM-Instanzen melden und reparieren, die Teil von VM-basierten Clustern sind. Informationen zu Google Kubernetes Engine-Clustern (GKE) finden Sie unter Fehlerhafte Hosts über GKE melden.

Beschränkungen

Wenn Sie einen fehlerhaften Host melden, gelten die folgenden Einschränkungen:

  • Sie können einen fehlerhaften Host nur melden, wenn die VM, die auf dem Host ausgeführt wird, alle folgenden Bedingungen erfüllt:

    • Die VM wird ausgeführt.

    • Die VM verwendet einen H4D-Maschinentyp.

    • Die VM verwendet das Bereitstellungsmodell mit Reservierungsbindung.

  • Google Cloud versucht nach besten Kräften, alle Anfragen zum Melden fehlerhafter Hosts zu bearbeiten. Aufgrund von Kapazitätsbeschränkungen oder Ratenlimits wird eine Anfrage jedoch möglicherweise nicht immer erfüllt.

Hinweise

  • Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    REST

    Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

      Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, damit Sie die nötigen Berechtigungen zum Melden eines fehlerhaften Hosts haben:

  • Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) für die VM oder das Projekt
  • So rufen Sie den Status eines fehlerhaften Hostberichts mit Cloud Logging auf: Loganzeige (roles/logging.viewer) für das Projekt

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Melden eines fehlerhaften Hosts erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um einen fehlerhaften Host zu melden:

  • So erstellen Sie einen Bericht zu einem fehlerhaften Host: compute.instances.update für die VM
  • So rufen Sie eine Liste der Vorgänge mit Logging auf: logging.operations.list im Projekt
  • So rufen Sie die Details eines Vorgangs mit Logging auf: logging.operations.get im Projekt
  • So rufen Sie eine Liste der Vorgänge in Compute Engine auf: compute.zoneOperations.list im Projekt
  • So rufen Sie die Details eines Vorgangs in Compute Engine auf: compute.zoneOperations.describe im Projekt

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Informationen zum Melden fehlerhafter Hosts

Nachdem Sie einen fehlerhaften Host für eine H4D-VM gemeldet haben, variiert die Zeit, zu der die H4D-VM neu gestartet wird, je nach Betriebsmodus der Reservierung, die Sie zum Erstellen der VM verwendet haben. Um den Betriebsmodus einer Reservierung zu prüfen, rufen Sie das Feld reservationOperationalMode in der Reservierung auf.

Verwalteter Modus (HIGHLY_AVAILABLE_CAPACITY)
Unterstützte Maschinentypen H4D
Ratenbegrenzung für die Faulty Host Report API API-Aufrufe können begrenzt werden.
Prozess zum Melden fehlerhafter Hosts

Wenn Sie einen fehlerhaften Host für eine H4D-VM melden, die im verwalteten Modus ausgeführt wird, passiert Folgendes:

  1. Fehlerhaften Host melden: Die VM bleibt während des Meldevorgangs im Status RUNNING. Der Vorgang dauert in der Regel 10 bis 12 Minuten. Informationen zum Prüfen des Vorgangsstatus finden Sie in diesem Dokument unter Fehlerhafte Hostvorgänge melden.
  2. Host reparieren: Nachdem der Vorgang „Fehlerhaften Host melden“ abgeschlossen ist, beginnt der Vorgang „Host reparieren“ innerhalb einer Minute.

    Wenn der Vorgang zum Reparieren des Hosts gestartet wird, wird die VM beendet und ihr Status ändert sich je nach der für die VM angegebenen Einstellung für den automatischen Neustart (automaticRestart):

    • Wenn der automatische Neustart für die VM aktiviert ist, ändert sich der VM-Status zu REPAIRING. Die VM wird automatisch neu gestartet, wenn ihr Host fehlerfrei ist, es sei denn, Sie beenden die VM vorher.
    • Wenn der automatische Neustart für die VM deaktiviert ist, ändert sich der VM-Status in TERMINATED. Sie müssen die VM manuell neu starten, nachdem ihr Host wieder fehlerfrei ist.

    Die Reparatur des defekten Geräts kann 3 bis 14 Tage oder in manchen Fällen auch länger dauern.

  3. VM migrieren und neu starten: Nachdem der Hostreparaturvorgang gestartet wurde (in der Regel nach 10 bis 12 Minuten), versucht Compute Engine, einen weiteren Host zu reservieren, um den gemeldeten fehlerhaften Host in Ihrer reservierten Kapazität zu ersetzen. Wenn Compute Engine einen fehlerfreien Host findet – wenn der fehlerhafte Host erfolgreich ersetzt wird oder Compute Engine anderweitig einen passenden fehlerfreien Host in Ihrer reservierten Kapazität findet –, migriert Compute Engine die VM zu diesem Host. Der Neustart der VM erfolgt dann über eine der folgenden Methoden:
    • Wenn sich die VM im Status REPAIRING befindet und Ressourcen vor oder während der Reparatur verfügbar sind, startet Compute Engine die VM automatisch auf einem fehlerfreien Host neu.
    • Andernfalls, wenn sich die VM im Status TERMINATED befindet oder Ressourcen vor oder nach Abschluss der Reparatur nicht verfügbar sind, bleibt der VM-Status TERMINATED oder ändert sich in TERMINATED. Sie müssen die VM manuell neu starten, wenn sie ausgeführt werden soll. Der Neustart der VM kann jedoch fehlschlagen, wenn beim Neustart der VM keine Ressourcen verfügbar sind. Das kann beispielsweise passieren, wenn andere VMs den reparierten Host bereits verwenden.

Fehlerhaften Host melden

So melden Sie einen fehlerhaften Host:

  1. Prüfen Sie den Host, auf dem Ihre VM ausgeführt wird.

    Eine Anleitung finden Sie unter H4D-Clustertopologie ansehen.

  2. Optional: Sichern Sie lokale SSD-Daten. Wenn die VM beendet wird, verwirft Compute Engine automatisch die Daten aller lokalen SSD-Laufwerke, die an die VM angehängt sind. Sie können lokale SSD-Daten nicht wiederherstellen, nachdem Compute Engine sie verworfen hat.

    Eine Anleitung zum Sichern von Daten auf lokalen SSDs finden Sie unter Sicherung lokaler SSD-Daten.

  3. Fehlerhaften Host melden Wählen Sie eine der folgenden Optionen aus, um einen fehlerhaften Host zu melden. Der Host-Reparaturvorgang beginnt sofort, innerhalb einer Minute nach Abschluss des Vorgangs „Fehlerhaften Host melden“. Wenn die VM nicht mehr reagiert, nachdem Sie den Vorgang zum Melden eines fehlerhaften Hosts gestartet haben, empfehlen wir, die VM nach mindestens 15 Minuten neu zu starten.

    gcloud

    Verwenden Sie den folgenden gcloud compute instances report-host-as-faulty-Befehl, um einen fehlerhaften Host zu melden:

    gcloud compute instances report-host-as-faulty VM_NAME \
        --async \
        --disruption-schedule=IMMEDIATE \
        --fault-reasons=behavior=FAULT_REASON,description=DESCRIPTION \
        --zone=ZONE
    

    Ersetzen Sie Folgendes:

    • VM_NAME: der Name der VM.

    • FAULT_REASON: eine durch Kommas getrennte Liste von Hostproblemen, die auf Ihrer VM aufgetreten sind, z. B. ISSUE_1,ISSUE_2. Sie können die folgenden Werte angeben:

      • PERFORMANCE: Die CPU- oder Cloud RDMA-Netzwerkoperationen werden langsamer, IRDMA-Netzwerkschnittstellen schlagen fehl oder das IRDMA-Netzwerkgerät ist nicht vorhanden.

      • SILENT_DATA_CORRUPTION: Sie sehen Datenbeschädigungen auf Ihrer VM, aber die VM wird weiter ausgeführt. Stille Datenbeschädigung kann durch Probleme wie vCPU-Defekte, Softwarefehler oder Kernelprobleme verursacht werden.

      • BEHAVIOR_UNSPECIFIED: Sie sind sich nicht sicher, welches Problem Ihre VM betrifft, oder das Problem wird nicht durch die anderen Optionen abgedeckt.

    • DESCRIPTION: Eine Beschreibung des Problems, das Ihre VM betrifft, z. B. XID-Informationen oder vermutete Leistungsprobleme.

    • ZONE: die Zone, in der sich die VM befindet.

    REST

    Wenn Sie einen fehlerhaften Host melden möchten, senden Sie die folgende POST-Anfrage an die Methode instances.reportHostAsFaulty.

    Wenn Sie einen fehlerhaften Host melden, können Sie mehrere Fehlerursachen gleichzeitig angeben. Wenn Sie beispielsweise zwei Fehlerursachen angeben möchten, stellen Sie eine Anfrage wie die folgende:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/reportHostAsFaulty
    
    {
      "disruptionSchedule": "IMMEDIATE",
      "faultReasons": [
        {
          "behavior": "FAULT_REASON_1",
          "description": "DESCRIPTION_1"
        },
        {
          "behavior": "FAULT_REASON_2",
          "description": "DESCRIPTION_2"
        }
      ]
    }
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, in dem sich die VM befindet.

    • ZONE: die Zone, in der sich die VM befindet.

    • VM_NAME: der Name der VM.

    • FAULT_REASON_1 und FAULT_REASON_2: Jedes Hostproblem, das auf Ihrer VM aufgetreten ist. Sie können die folgenden Werte angeben:

      • PERFORMANCE: Die Leistung der CPU oder des RDMA-Netzwerkbetriebs ist beeinträchtigt, es treten RDMA-Gerätefehler auf oder das RDMA-Gerät ist nicht vorhanden.

      • SILENT_DATA_CORRUPTION: Sie sehen Datenbeschädigungen auf Ihrer VM, aber die VM wird weiter ausgeführt. Stille Datenbeschädigung kann durch Probleme wie vCPU-Defekte, Softwarefehler oder Kernel-Probleme verursacht werden.

      • BEHAVIOR_UNSPECIFIED: Sie sind sich nicht sicher, was das Problem mit Ihrer VM ist.

    • DESCRIPTION_1 und DESCRIPTION_2: Eine Beschreibung für jedes von Ihnen angegebene Hostproblem, z. B. XID-Informationen oder vermutete Leistungsprobleme.

Fehlerhafte Hostvorgänge im Bericht prüfen

Nachdem Sie einen fehlerhaften Host gemeldet haben, startet Compute Engine eine Reihe von Vorgängen, um den Host als fehlerhaft zu kennzeichnen und ihn für die Reparatur vorzubereiten. Konkret läuft bei einem Vorgang zum Melden eines fehlerhaften Hosts Folgendes ab:

  1. Markieren Sie den Host als fehlerhaft. Compute Engine erstellt den Bericht „Fehlerhafter Hostvorgang“. Beim Melden eines fehlerhaften Hostvorgangs wird eine Reihe von untergeordneten Vorgängen erstellt. Diese untergeordneten Vorgänge kennzeichnen den zugrunde liegenden Host als fehlerhaft.

  2. Bereiten Sie den Host für die Reparatur vor. Nach Abschluss aller untergeordneten Vorgänge wird der Vorgang „Fehlerhaften Host melden“ gestartet. Compute Engine beendet die VM und startet den Vorgang zur Reparatur des fehlerhaften Hosts. Abhängig vom Betriebsmodus der Reservierung, der in der Reservierung angegeben ist, die von der VM verwendet wird, und davon, ob fehlerfreie Hosts verfügbar sind, wird die VM von Compute Engine entweder beendet oder es wird versucht, die VM automatisch zu migrieren und neu zu starten.

  3. Bericht abschließen und Host reparieren Compute Engine schließt den Vorgang „Fehlerhaften Host melden“ ab und der Vorgang zur Reparatur des Hosts wird ausgeführt.

Wenn Sie den Status der Vorgänge für den Bericht „Fehlerhafter Host“ (compute.instances.reportHostAsFaulty) in Ihrem Projekt verfolgen möchten, wählen Sie eine der folgenden Optionen aus. Weitere Informationen zu anderen Vorgängen, mit denen Sie Reparaturen, Migrationen und automatische Neustarts verfolgen können, finden Sie in der Compute Engine-Dokumentation unter Wartungs- und Neustartverhalten und Wartungsereignis für Host überwachen und planen.

Konsole (VM-Vorgänge)

  1. Rufen Sie in der Google Cloud Console die Seite Vorgänge auf.

    Zur Seite "Vorgänge"

  2. Suchen Sie in der angezeigten Tabelle nach der VM, die Sie gemeldet haben.

  3. In der Zeile mit der VM können Sie in der Spalte Status den Status des Vorgangs „Fehlerhaften Host melden“ sehen. Wenn der Vorgang abgeschlossen ist, lautet der Wert Done.

  4. Optional: Sehen Sie sich die Details der VM an, um zu prüfen, ob Compute Engine die VM neu gestartet hat.

Konsole (VM-Logs)

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Prüfen Sie, ob der Schieberegler Abfrage anzeigen auf „Ein“ steht.

  3. Geben Sie im Abfrageeditor die folgende Abfrage ein:

    resource.type="gce_instance" AND protoPayload.methodName=~"compute\.instances\.reportHostAsFaulty"
    
  4. Klicken Sie auf Abfrage ausführen. Im Bereich Abfrageergebnisse werden die Abfrageergebnisse angezeigt.

gcloud

  1. Verwenden Sie den Befehl gcloud compute operations list, wobei das Flag --filter auf operationType:compute.instances.reportHostAsFaulty gesetzt ist, um den Status der Meldung fehlerhafter Hostvorgänge in Ihrem Projekt aufzurufen:

    gcloud compute operations list --filter="operationType:compute.instances.reportHostAsFaulty"
    
  2. Wenn Sie die Details eines bestimmten fehlerhaften Hostvorgangs aufrufen möchten, verwenden Sie den gcloud compute operations describe-Befehl:

    gcloud compute operations describe OPERATION_NAME \
        --zone="ZONE"
    

    Ersetzen Sie Folgendes:

    • OPERATION_NAME: Der Name des Vorgangs.

    • ZONE: die Zone, in der sich der Vorgang befindet.

REST

Wenn Sie den Status der Vorgänge zum Melden fehlerhafter Hosts in Ihrem Projekt aufrufen möchten, senden Sie eine GET-Anfrage an die Methode zoneOperations.list. Fügen Sie in der Anfrage-URL den Abfrageparameter filter ein, wobei dieser auf items.operationType:compute.instances.reportHostAsFaulty gesetzt ist.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations&filter=items.operationType:compute.instances.reportHostAsFaulty

Ersetzen Sie Folgendes:

  • PROJECT_ID: Der Name des Vorgangs.

  • ZONE: die Zone, in der sich die Vorgänge befinden.

Nächste Schritte