Wenn Sie auf einer Instanz vom Typ A4X Max, A4X, A4, A3 Ultra, A3 Mega oder A3 High (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 eine konstant hohe GPU-Temperatur.
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 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 Engine-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 oder A3 High (8 GPUs) verwendet.
Für die Compute-Instanz wird das reservierungsgebundene Bereitstellungsmodell verwendet.
Wenn Sie eine Compute-Instanz löschen, während der Vorgang
reportHostAsFaultyausgeführt wird, schlägt der VorgangreportHostAsFaultyfehl.Google Cloud versucht nach besten Kräften, alle Anfragen zum Melden fehlerhafter Hosts zu bearbeiten. Aufgrund von Kapazitätsbeschränkungen oder Ratenbegrenzungen wird eine Anfrage jedoch möglicherweise nicht immer erfüllt.
Hinweis
Wählen Sie den Tab aus, der Ihrer geplanten Verwendung der Beispiele auf dieser Seite entspricht:
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, damit Sie die nötigen Berechtigungen zum Melden eines fehlerhaften Hosts haben:
- Compute-Instanzadministrator (Version 1) (
roles/compute.instanceAdmin.v1) für die Compute-Instanz oder das Projekt -
So rufen Sie den Status eines fehlerhaften Hostberichtsvorgangs 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.updateauf der Compute-Instanz -
So rufen Sie eine Liste der Vorgänge mit Logging auf:
logging.operations.listim Projekt -
So rufen Sie die Details eines Vorgangs mit Logging auf:
logging.operations.getim 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.describeim Projekt
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Prozess zum Melden eines fehlerhaften 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. Um den Betriebsmodus einer Reservierung zu prüfen, sehen Sie sich das FeldreservationOperationalMode in der Reservierung an.
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:
|
Wenn Sie einen fehlerhaften Host für eine Compute-Instanz melden, die im verwalteten Modus ausgeführt wird, passiert Folgendes:
|
Probleme beheben, bevor Sie einen fehlerhaften Host melden
Bevor Sie einen fehlerhaften Host melden, empfehlen wir Ihnen, das Problem zu beheben, um festzustellen, 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.
Cluster-Systemdiagnosescannertests ausführen
Verwenden Sie das Tool Cluster Health Scanner (CHS), um proaktive Systemdiagnosen auszuführen und Probleme in Ihrem GPU-Cluster zu diagnostizieren. Führen Sie insbesondere die folgenden Tests aus:
- GPU-Prüfung: Prüft den Zustand einzelner GPUs mit dem Data Center GPU Manager (DCGM) von NVIDIA.
- NCCL-Prüfung: Validiert die Netzwerkkommunikation zwischen GPUs.
Auf GPU-Leistungsprobleme und langsame Vorgänge prüfen
Wenn Sie eine langsame Leistung feststellen, verwenden Sie den Straggler Detection Service, um VMs zu identifizieren, die möglicherweise langsamer als andere im Cluster ausgeführt werden.
GPU-Temperaturen und thermische Verstöße überwachen
Wenn in Ihren Logs oder von DCGM Warnungen zu thermischen Überschreitungen angezeigt werden, lesen Sie die folgenden Hinweise:
- Warnungen im Vergleich zu kritischen Fehlern: Bei der aktuellen DCGM-Diagnose werden thermische Verstöße möglicherweise als Warnungen mit dem Schweregrad
monitorgemeldet. Das bedeutet, dass die GPUs weiterhin bereit sind, Arbeitslasten auszuführen, aber überwacht werden sollten. - Falsch positive Ergebnisse: NVIDIA untersucht eine Zunahme der Häufigkeit von Berichten über thermische Verstöße bei GPUs, die keine Anzeichen für tatsächliche thermische Probleme aufweisen.
- Empfehlung: Bevor Sie einen Host aufgrund von thermischen Warnungen als fehlerhaft melden, prüfen Sie, ob die tatsächlichen GPU-Temperaturen sichere Grenzwerte ü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 überwachen, anstatt sie als fehlerhaft zu melden.
Weitere Informationen zur Fehlerbehebung bei GPUs finden Sie in der Compute Engine-Dokumentation unter Fehlerbehebung bei GPU-VMs.
Fehlerhaften Host melden
So melden Sie einen fehlerhaften Host:
Prüfen Sie den Host, 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 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.
Fehlerhaften Host melden Wählen Sie eine der folgenden Optionen aus, um einen fehlerhaften Host zu melden. Der Hostreparaturvorgang 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, mindestens 15 Minuten zu warten und dann die Compute-Instanz 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=ZONEErsetzen Sie Folgendes:
INSTANCE_NAME: der Name der Compute-Instanz.FAULT_REASON: Eine durch Kommas getrennte Liste von Hostproblemen, die auf 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 Methodeinstances.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_1undFAULT_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_1undDESCRIPTION_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:
Host als fehlerhaft markieren 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.
Host für Reparaturen vorbereiten: Nachdem alle untergeordneten Vorgänge abgeschlossen sind, wird der Vorgang „Fehlerhaften Host melden“ gestartet. Compute Engine beendet die Compute-Instanz und startet den Vorgang „Fehlerhaften Host reparieren“. Je nach Reservierungsbetriebsmodus, der in der Reservierung angegeben ist, die von der Compute-Instanz verwendet wird, und wenn fehlerfreie Hosts verfügbar sind, behält Compute Engine die Compute-Instanz entweder angehalten oder versucht, die Compute-Instanz automatisch zu migrieren und neu zu starten.
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 vom Typ „Fehlerhaften Host melden“ (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 Host-Wartungsereignis überwachen und planen.
Konsole (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 Meldung fehlerhafter Hostvorgänge 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: Der Name des Vorgangs.ZONE: die Zone, in der sich die Vorgänge befinden.
Nächste Schritte
- Wenn beim Melden eines fehlerhaften Hosts Probleme auftreten, lesen Sie den Abschnitt Fehlerbehebung bei der API für fehlerhafte Hosts.