Wenn bei einer A5X-, A4X Max-, A4X-, A4-, A3 Ultra-, A3 Mega- und A3 High-Instanz (8 GPUs) Hardwareprobleme auftreten, die Sie nicht selbst beheben können, z. B. eine langsamere Leistung oder konstant hohe GPU-Temperaturen, können Sie den Host als fehlerhaft melden, um die Ausfallzeit für Ihre Arbeitslast zu minimieren.
In diesem Dokument wird beschrieben, wie Sie einen fehlerhaften Host melden und den Reparaturstatus für Slurm-Cluster und andere Cluster verfolgen, die Compute Engine-Instanzen verwenden. Wenn Sie fehlerhafte Hosts in einem Google Kubernetes Engine-Cluster (GKE) melden möchten, lesen Sie stattdessen 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.
Die Compute-Instanz verwendet einen Maschinentyp vom Typ A5X, A4X Max, A4X, A4, A3 Ultra, A3 Mega oder A3 High (8 GPUs).
Die Compute-Instanz verwendet das Standard-, Flex-Start- oder reservierungsgebundene Bereitstellungsmodell.
Wenn Sie eine Compute-Instanz löschen, während der Vorgang
reportHostAsFaultyausgeführt wird, schlägt der VorgangreportHostAsFaultyfehl.Google Cloud unternimmt alle Anstrengungen, um alle Ihre Anfragen zu fehlerhaften Hosts zu erfüllen. Aufgrund von Kapazitätsbeschränkungen oder Ratenbegrenzungen kann eine Anfrage jedoch nicht immer erfüllt werden.
Informationen zum Melden fehlerhafter Hosts
Nachdem Sie einen fehlerhaften Host für eine Compute-Instanz gemeldet haben, hängt der Zeitpunkt des Neustarts der Compute-Instanz vom Betriebsmodus der Reservierung ab, der in der Reservierung angegeben ist, die die Compute-Instanz verwendet. Wenn Sie den Betriebsmodus einer Reservierung prüfen möchten, rufen Sie das FeldreservationOperationalMode in der Reservierung auf.
In der folgenden Tabelle ist der Prozess für fehlerhafte Hosts für die beiden verfügbaren Betriebsmodi für Reservierungen zusammengefasst: Modus für die gesamte 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 (8 GPUs) |
| Ratenbegrenzung für die API zum Melden fehlerhafter Hosts | Es gelten keine Ratenbegrenzungen. | API-Aufrufe können einer Ratenbegrenzung unterliegen. |
| Prozess zum Melden fehlerhafter Hosts |
Wenn Sie einen fehlerhaften Host für eine Compute-Instanz melden, die im Modus „Gesamte Kapazität“ ausgeführt wird, geschieht Folgendes:
|
Wenn Sie einen fehlerhaften Host für eine Compute-Instanz melden, die im verwalteten Modus ausgeführt wird, geschieht Folgendes:
|
Probleme beheben, bevor Sie einen fehlerhaften Host melden
Bevor Sie einen fehlerhaften Host melden, sollten Sie das Problem beheben, um zu prüfen, ob es sich um ein Hardwareproblem und nicht um ein Problem mit Ihrer Arbeitslast- oder Clusterkonfiguration handelt. So lassen sich unnötige Ausfallzeiten für Ihre Arbeitslasten vermeiden.
Auf GPU-Arbeitsspeicher- oder Xid-Fehler prüfen
Wenn Sie GPU-Speicher- oder Xid-Fehler auf einer Compute-Instanz feststellen, prüfen Sie, ob manuelle Wiederherstellungsmaßnahmen wie das Zurücksetzen der GPUs oder der Neustart der Compute-Instanz das Problem beheben können, bevor Sie den Host als fehlerhaft melden. Weitere Informationen finden Sie unter Xid-Nachrichten prüfen.
Auf GPU-Leistungsprobleme und Nachzügler prüfen
Wenn Sie eine langsame Leistung feststellen, können Sie den Straggler-Erkennungsdienst verwenden, um Compute-Instanzen zu identifizieren, die möglicherweise langsamer als andere im Cluster sind.
GPU-Temperaturen und thermische Verstöße überwachen
Wenn Sie in Ihren Logs Warnungen zu Temperaturüberschreitungen sehen oder diese von DCGM gemeldet werden, lesen Sie die folgenden Hinweise:
Warnungen im Vergleich zu kritischen Fehlern: DCGM-Diagnosen können thermische Verstöße als Warnungen mit dem Schweregrad
monitormelden. Dieser Schweregrad bedeutet, dass die GPUs weiterhin Arbeitslasten ausführen können. Wir empfehlen jedoch, sie zu überwachen.Falsch positive Ergebnisse: NVIDIA untersucht eine Zunahme der Häufigkeit von Berichten über thermische Verstöße auf GPUs, die keine Anzeichen für tatsächliche thermische Probleme aufweisen.
Empfehlung: Bevor Sie einen Host aufgrund von Temperaturwarnungen als fehlerhaft melden, sollten Sie prüfen, ob die tatsächlichen GPU-Temperaturen die sicheren Schwellenwerte überschreiten und ob die Leistung Ihrer Arbeitslast beeinträchtigt ist. Wenn die Temperaturen stabil bleiben und die Leistung normal ist, empfehlen wir, die GPU zu beobachten, anstatt sie als fehlerhaft zu melden.
Weitere Informationen zur Fehlerbehebung bei GPUs finden Sie in der Compute Engine-Dokumentation unter Fehlerbehebung bei GPU-VMs.
Hinweis
Wählen Sie den Tab für die gewünschte Verwendung der Beispiele auf dieser Seite aus:
Console
Wenn Sie über die Google Cloud Console auf Google Cloud -Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.
gcloud
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
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.
Installieren Sie die Google Cloud CLI.
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
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, um die Berechtigungen zu erhalten, die Sie zum Melden eines fehlerhaften Hosts benötigen:
- Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) für das Projekt -
Vorgänge zum Melden fehlerhafter Hosts mit Logging ansehen: 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 melden Sie einen fehlerhaften Host:
compute.instances.updatefür die Compute-Instanz oder das Projekt -
So rufen Sie eine Liste der Vorgänge mit Logging auf:
logging.logEntries.listfür das Projekt -
So rufen Sie eine Liste der Vorgänge in Compute Engine auf:
compute.zoneOperations.listim Projekt -
So rufen Sie die Details eines Vorgangs in Compute Engine auf:
compute.zoneOperations.getim Projekt
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Fehlerhaften Host melden
So melden Sie einen fehlerhaften Host:
Host prüfen, auf dem Ihre Compute-Instanz ausgeführt wird Sie müssen die ID des Hosts prüfen, auf dem Ihre Compute-Instanz ausgeführt wird.
Eine Anleitung finden Sie unter Topologie einer Compute-Instanz ansehen.
Optional: Lokale SSD-Daten sichern. Wenn die Compute-Instanz beendet wird, verwirft Compute Engine automatisch die Daten aller lokalen SSD-Laufwerke, die an die Compute-Instanz angehängt sind. Sie können lokale SSD-Daten nicht wiederherstellen, nachdem sie von Compute Engine verworfen wurden.
Eine Anleitung zum Sichern von Daten auf lokalen SSDs finden Sie unter Sicherung lokaler SSD-Daten.
Melden Sie den fehlerhaften Host. Der Hostreparaturvorgang beginnt sofort, innerhalb einer Minute nach Abschluss des Vorgangs „Fehlerhaften Host melden“. Wenn die Compute-Instanz nach dem Start des Vorgangs zum Melden eines fehlerhaften Hosts nicht mehr reagiert, sollten Sie mindestens 15 Minuten warten und dann die Compute-Instanz neu starten.
Wählen Sie eine der folgenden Optionen aus, um einen fehlerhaften Host zu melden:
gcloud
Verwenden Sie den Befehl
gcloud compute instances report-host-as-faulty, 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=ZONEErsetzen Sie Folgendes:
INSTANCE_NAME: der Name der Compute-Instanz.FAULT_REASON: eine Liste von Hostproblemen, die auf Ihrer Compute-Instanz aufgetreten sind, durch Kommas getrennt, z. B.ISSUE_1,ISSUE_2. Sie können die folgenden Werte angeben:PERFORMANCE: GPUs, die an die Compute-Instanz angehängt sind, weisen im Vergleich zu anderen GPUs im Cluster Leistungsprobleme auf. In den Logs werden keine Xid-Fehler angezeigt und Compute Engine erkennt keine anderen üblichen Fehler, z. B. unbemerkte Datenbeschädigung.SILENT_DATA_CORRUPTION: Sie sehen eine Datenbeschädigung in Ihrer Compute-Instanz, die Compute-Instanz wird jedoch weiterhin ausgeführt. Eine unbemerkte Datenbeschädigung kann durch Probleme wie vCPU-Fehler, Softwarefehler oder Kernel-Probleme verursacht werden.UNRECOVERABLE_GPU_ERROR: Sie haben einen nicht wiederherstellbaren GPU-Fehler mit einer Xid identifiziert.BEHAVIOR_UNSPECIFIED: Sie sind sich nicht sicher, was das Problem mit Ihrer Compute-Instanz ist.
DESCRIPTION: eine Beschreibung des Problems, das sich auf Ihre Compute-Instanz auswirkt, z. B. Xid-Informationen oder vermutete Leistungsprobleme.ZONE: die Zone, in der sich die Compute-Instanz befindet.
REST
Senden Sie eine
POST-Anfrage an die Methodeinstances.reportHostAsFaulty, um einen fehlerhaften Host zu melden.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_1undFAULT_REASON_2: Jedes Hostproblem, das bei Ihrer Compute-Instanz aufgetreten ist. Sie können die folgenden Werte angeben:PERFORMANCE: GPUs, die an die Compute-Instanz angehängt sind, weisen im Vergleich zu anderen GPUs im Cluster Leistungsprobleme auf. In den Logs werden keine Xid-Fehler angezeigt und Compute Engine erkennt keine anderen häufigen Fehlermuster, wie z. B. unbemerkte Datenbeschädigung.SILENT_DATA_CORRUPTION: Sie sehen eine Datenbeschädigung in Ihrer Compute-Instanz, die Compute-Instanz wird jedoch weiterhin ausgeführt. Eine unbemerkte Datenbeschädigung kann durch Probleme wie vCPU-Fehler, Softwarefehler oder Kernel-Probleme verursacht werden.UNRECOVERABLE_GPU_ERROR: Sie haben einen nicht wiederherstellbaren GPU-Fehler mit einer Xid identifiziert.BEHAVIOR_UNSPECIFIED: Sie sind sich nicht sicher, was das Problem mit Ihrer Compute-Instanz ist.
DESCRIPTION_1undDESCRIPTION_2: Eine Beschreibung für jedes von Ihnen angegebene Hostproblem, z. B. Xid-Informationen oder vermutete Leistungsprobleme.
Vorgänge zum Melden fehlerhafter Hosts 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 für die Reparatur vorzubereiten. Insbesondere läuft während eines Vorgangs zum Melden eines fehlerhaften Hosts der folgende Prozess ab:
Markieren Sie den Host als fehlerhaft. Compute Engine erstellt den Bericht „Fehlerhafter Hostvorgang“. Der Vorgang „Fehlerhaften Host melden“ erstellt dann eine Abfolge von Untervorgängen. Diese Untervorgänge kennzeichnen den zugrunde liegenden Host als fehlerhaft.
Host für Reparaturen vorbereiten Nachdem alle Untervorgänge abgeschlossen sind, wird der Vorgang „Fehlerhaften Host melden“ gestartet. Compute Engine beendet die Compute-Instanz und startet den Vorgang zur Reparatur des fehlerhaften Hosts. Je nach Betriebsmodus der Reservierung und der Hostverfügbarkeit wird die Compute-Instanz von Compute Engine entweder beendet oder es wird versucht, sie zu migrieren und neu zu starten.
Abschluss melden und Host reparieren Compute Engine schließt den Vorgang „Fehlerhaften Host melden“ ab und der Vorgang „Hostreparatur“ wird ausgeführt.
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 Host-Wartungsereignis überwachen und planen.
Wählen Sie eine der folgenden Optionen aus, um den Status der Vorgänge zum Melden fehlerhafter Hosts (compute.instances.reportHostAsFaulty) in Ihrem Projekt zu verfolgen:
Console (Instanzvorgänge)
Rufen Sie in der Google Cloud Console die Seite Vorgänge auf.
Suchen Sie in der angezeigten Tabelle nach der Compute-Instanz, die Sie gemeldet haben.
In der Zeile mit der Compute-Instanz sehen Sie in der Spalte Status den Status des Vorgangs „Fehlerhaften Host melden“. Wenn der Vorgang abgeschlossen ist, lautet der Wert Fertig.
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)
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Prüfen Sie, ob der Ein/Aus-Button Abfrage anzeigen aktiviert ist.
Geben Sie im Abfrageeditor die folgende Abfrage ein:
resource.type="gce_instance" AND protoPayload.methodName=~"compute\.instances\.reportHostAsFaulty"Klicken Sie auf Abfrage ausführen. Im Bereich Abfrageergebnisse werden die Abfrageergebnisse angezeigt.
gcloud
Verwenden Sie den Befehl
gcloud compute operations list, wobei das Flag--filteraufoperationType:reportHostAsFaultygesetzt ist, um den Status der Vorgänge zum Melden fehlerhafter Hosts in Ihrem Projekt aufzurufen:gcloud compute operations list --filter="operationType:reportHostAsFaulty"Wenn Sie die Details eines bestimmten fehlerhaften Hostvorgangs aufrufen möchten, verwenden Sie den Befehl
gcloud compute operations describe: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: die ID des Projekts, in dem die Vorgänge vorhanden sind.ZONE: die Zone, in der die Vorgänge vorhanden sind.
Nächste Schritte
- Wenn beim Melden eines fehlerhaften Hosts Probleme auftreten, lesen Sie den Abschnitt Fehlerbehebung bei der API für fehlerhafte Hosts.