Fehlerhaften Host melden

Wenn Sie auf einer A4X Max-, A4X-, A4-, A3 Ultra-, A3 Mega- und A3 High-Instanz (8 GPUs) ein Problem feststellen, das Sie nicht selbst beheben können, können Sie den Host als fehlerhaft melden. Ein Beispiel für ein solches Problem ist eine langsamere Leistung in einem Cluster oder konstant hohe GPU-Temperaturen.

Wenn Sie einen Host als fehlerhaft melden, repariert Compute Engine die Compute-Instanz automatisch durch Ausführen der Hostwartung.

  • Bei A4- und A3-Ultra-Instanzen versucht Compute Engine, die Instanz bei Wartungsbeginn auf einen anderen Host zu migrieren, wenn Sie ungenutzte reservierte Kapazität haben oder Kapazität in der Zone der Instanz verfügbar ist. Wenn Sie einen Host als fehlerhaft melden, können Sie die Ausfallzeiten für Ihre Arbeitslast minimieren.
  • Bei A3 Mega- und A3 High-Instanzen beendet Compute Engine die Instanz, führt die erforderlichen Host-Reparaturen durch und startet die Instanz dann auf demselben Host neu.

In diesem Dokument wird beschrieben, wie Sie fehlerhafte Hostinstanzen melden und reparieren, die Teil eines Slurm-Clusters oder anderer auf Compute-Instanzen basierender Cluster sind. Informationen zum Melden fehlerhafter Hosts in einem Google Kubernetes Engine-Cluster (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 Compute-Instanz, die auf dem Host ausgeführt wird, alle folgenden Bedingungen erfüllt:

    • Die Compute-Instanz wird ausgeführt.

    • Für die Compute-Instanz wird ein Maschinentyp vom Typ A4X Max, A4X, A4, A3 Ultra, A3 Mega und A3 High (8 GPUs) verwendet.

    • Die Compute-Instanz verwendet das reservierungsgebundene Bereitstellungsmodell.

  • Wenn Sie eine Compute-Instanz löschen, während der Vorgang reportHostAsFaulty ausgeführt wird, schlägt der Vorgang reportHostAsFaulty fehl.

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

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:

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 auf der Compute-Instanz
  • 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 Compute-Instanz gemeldet haben, variiert der Zeitpunkt, zu dem die Compute-Instanz neu gestartet wird, je nach -Reservierungsbetriebsmodus, der in der Reservierung angegeben ist, die von der Compute-Instanz verwendet wird. Rufen Sie das Feld reservationOperationalMode in der Reservierung auf, um den Betriebsmodus einer Reservierung zu prüfen. In der folgenden Tabelle ist der fehlerhafte Hostprozess für die beiden verfügbaren Betriebsmodi für Reservierungen zusammengefasst: Modus mit voller Kapazität und verwalteter Modus.
Modus „Gesamte Kapazität“ (ALL_CAPACITY) Verwalteter Modus (HIGHLY_AVAILABLE_CAPACITY)
Unterstützte Maschinentypen A4X Max und A4X A4, A3 Ultra, A3 Mega und A3 High
Ratenbegrenzung für die API für fehlerhafte Hostberichte Es gelten keine Ratenbegrenzungen. API-Aufrufe können begrenzt werden.
Prozess zum Melden fehlerhafter Hosts

Wenn Sie einen fehlerhaften Host für eine Compute-Instanz melden, die im Modus „Alle Kapazitäten“ ausgeführt wird, passiert Folgendes:

  1. Fehlerhaften Host melden: Die Instanz bleibt während des Vorgangs „Fehlerhaften Host melden“ im Status RUNNING. Dieser Vorgang dauert in der Regel 10 bis 12 Minuten. Informationen zum Prüfen des Vorgangsstatus finden Sie in diesem Dokument unter Fehlerhafte Hostvorgänge im Bericht prüfen.
  2. Host reparieren: Nach Abschluss des Vorgangs „Fehlerhaften Host melden“ wird der Vorgang zur Reparatur des Hosts innerhalb einer Minute gestartet.

    Wenn der Reparaturvorgang für den Host gestartet wird, wird die Instanz beendet und ihr Status ändert sich je nach der für die Instanz angegebenen Einstellung für den automatischen Neustart (automaticRestart):

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

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

  3. Instanz neu starten: Nachdem der Hostreparaturvorgang abgeschlossen wurde (in der Regel 3–14 Tage), tritt einer der folgenden Fälle ein:

    • Wenn sich die Instanz im Status REPAIRING befindet und die Ressourcen verfügbar sind, wenn die Reparatur abgeschlossen ist, startet Compute Engine die Instanz automatisch auf dem reparierten Host neu.
    • Wenn die Instanz den Status TERMINATED hat oder Ressourcen nicht verfügbar sind, wenn die Reparatur abgeschlossen ist, bleibt der Instanzstatus bei TERMINATED oder ändert sich in TERMINATED. Sie müssen die Instanz manuell neu starten, wenn sie ausgeführt werden soll. Der Neustart der Instanz kann jedoch fehlschlagen, wenn beim Neustart der Instanz keine Ressourcen verfügbar sind. Das kann beispielsweise passieren, wenn andere Instanzen den reparierten Host bereits verwenden.

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

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

    Wenn der Reparaturvorgang für den Host gestartet wird, wird die Instanz beendet und ihr Status ändert sich je nach der für die Instanz angegebenen Einstellung für den automatischen Neustart (automaticRestart):

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

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

  3. Instanz 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 auf andere Weise einen passenden fehlerfreien Host in Ihrer reservierten Kapazität findet –, migriert Compute Engine die Instanz zu diesem Host. Das Neustarten der Instanz erfolgt dann auf eine der folgenden Arten:

    • Wenn sich die Instanz im Status REPAIRING befindet und Ressourcen vor oder während der Reparatur verfügbar sind, startet Compute Engine die Instanz automatisch auf einem fehlerfreien Host neu.
    • Andernfalls, wenn sich die Instanz im Status TERMINATED befindet oder Ressourcen vor oder nach Abschluss der Reparatur nicht verfügbar sind, bleibt der Instanzstatus TERMINATED oder ändert sich in TERMINATED. Sie müssen die Instanz manuell neu starten, wenn sie ausgeführt werden soll. Der Neustart der Instanz kann jedoch fehlschlagen, wenn beim Neustart der Instanz keine Ressourcen verfügbar sind. Das kann beispielsweise passieren, wenn andere Instanzen den reparierten Host bereits verwenden.

Fehlerhaften Host melden

So melden Sie einen fehlerhaften Host:

  1. Prüfen Sie den Host, auf dem Ihre Compute-Instanz ausgeführt wird.

    Eine Anleitung finden Sie unter Topologie einer Compute-Instanz ansehen.

  2. Optional: Sichern Sie lokale SSD-Daten. Wenn die Instanz beendet wird, verwirft Compute Engine automatisch die Daten aller lokalen SSD-Laufwerke, die an die Instanz 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 Instanz nicht mehr reagiert, nachdem Sie den Vorgang zum Melden eines fehlerhaften Hosts gestartet haben, empfehlen wir, die Compute-Instanz 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 INSTANCE_NAME \
        --async \
        --disruption-schedule=IMMEDIATE \
        --fault-reasons=behavior=FAULT_REASON,description=DESCRIPTION \
        --zone=ZONE
    

    Ersetzen Sie Folgendes:

    • INSTANCE_NAME: der Name der Compute-Instanz.

    • FAULT_REASON: Eine durch Kommas getrennte Liste von Hostproblemen, die bei Ihrer Compute-Instanz aufgetreten sind, z. B. ISSUE_1,ISSUE_2. Sie können die folgenden Werte angeben:

      • PERFORMANCE: Die GPUs, die an die Compute-Instanz angehängt sind, haben Leistungsprobleme im Vergleich zu anderen GPUs im Cluster. In den Logs sind keine XID-Fehler zu sehen und Compute Engine erkennt keine anderen üblichen Fehlermuster, z. B. stille Datenbeschädigung.

      • SILENT_DATA_CORRUPTION: Sie sehen Datenbeschädigungen in Ihrer Compute-Instanz, aber die Compute-Instanz wird weiter ausgeführt. Eine stille Datenbeschädigung kann durch Probleme wie defekte vCPUs, Softwarefehler oder Kernel-Probleme verursacht werden.

      • UNRECOVERABLE_GPU_ERROR: Sie haben einen nicht behebaren GPU-Fehler mit einer XID erkannt.

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

    • DESCRIPTION: eine Beschreibung des Problems, das Ihre Compute-Instanz betrifft, z. B. XID-Informationen oder vermutete Leistungsprobleme.

    • ZONE: die Zone, in der sich die Compute-Instanz 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/INSTANCE_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 die Compute-Instanz vorhanden ist.

    • ZONE: die Zone, in der sich die Compute-Instanz befindet.

    • INSTANCE_NAME: der Name der Compute-Instanz.

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

      • PERFORMANCE: Die GPUs, die an die Compute-Instanz angehängt sind, haben Leistungsprobleme im Vergleich zu anderen GPUs im Cluster. In den Logs sind keine XID-Fehler zu sehen und Compute Engine erkennt keine anderen üblichen Fehlermuster, z. B. stille Datenbeschädigung.

      • SILENT_DATA_CORRUPTION: Sie sehen Datenbeschädigungen in Ihrer Compute-Instanz, aber die Compute-Instanz wird weiter ausgeführt. Eine stille Datenbeschädigung kann durch Probleme wie defekte vCPUs, Softwarefehler oder Kernel-Probleme verursacht werden.

      • UNRECOVERABLE_GPU_ERROR: Sie haben einen nicht behebaren GPU-Fehler mit einer XID erkannt.

      • BEHAVIOR_UNSPECIFIED: Sie sind sich nicht sicher, was das Problem mit Ihrer Compute-Instanz 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 Vorgang „Fehlerhaften Host melden“ wird dann 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 Compute-Instanz und startet den Vorgang zur Reparatur des fehlerhaften Hosts. Abhängig vom Betriebsmodus der Reservierung, der in der Reservierung angegeben ist, die von der Compute-Instanz verwendet wird, und davon, ob fehlerfreie Hosts verfügbar sind, wird die Compute-Instanz entweder angehalten oder es wird versucht, sie automatisch zu migrieren und neu zu starten.

  3. Bericht fertigstellen 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 (Instanzvorgä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 Compute-Instanz, die Sie gemeldet haben.

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

  4. Optional: Wenn Sie prüfen möchten, ob Compute Engine die Compute-Instanz neu gestartet hat, rufen Sie die Details der Instanz auf.

Console (Compute-Instanzlogs)

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

    Zum Log-Explorer

  2. Prüfen Sie, ob der Ein/Aus-Button Abfrage anzeigen aktiviert ist.

  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:reportHostAsFaulty gesetzt ist, um den Status der Meldung fehlerhafter Hostvorgänge in Ihrem Projekt aufzurufen:

    gcloud compute operations list --filter="operationType: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:reportHostAsFaulty gesetzt ist.

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: Der Name des Vorgangs.

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

Nächste Schritte