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.
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 Ratenlimits kann eine Anfrage jedoch möglicherweise nicht immer erfüllt werden.
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.
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 FeldreservationOperationalMode 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 „Alle Kapazitäten“ 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 Integritätsprüfungen durchzufü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, können Sie mit dem Straggler-Erkennungsdienst VMs 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: In 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 Überschreitungen 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 die sicheren Grenzwerte überschreiten und ob die Leistung Ihrer Arbeitslast beeinträchtigt wird. Wenn die Temperaturen stabil bleiben und die Leistung normal ist, empfehlen wir, die GPU zu überwachen, anstatt sie als defekt 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: 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.
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, 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 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 Kernelprobleme 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 Kernelprobleme 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.
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 von Compute Engine angehalten oder es wird versucht, sie 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 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)
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 können Sie in der Spalte Status den Status des Vorgangs „Fehlerhaften Host melden“ sehen. 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
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
- Wenn beim Melden eines fehlerhaften Hosts Probleme auftreten, lesen Sie den Abschnitt Fehlerbehebung bei der API für fehlerhafte Hosts.