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 reservierungsgebundene Bereitstellungsmodell.
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 Instance Admin (v1) (
roles/compute.instanceAdmin.v1) für die VM 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.updatefür die VM -
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 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 API für fehlerhafte Hostberichte | 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:
|
Fehlerhaften Host melden
So melden Sie einen fehlerhaften Host:
Prüfen Sie den Host, auf dem Ihre VM ausgeführt wird.
Eine Anleitung finden Sie unter H4D-Clustertopologie ansehen.
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.
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=ZONEErsetzen 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 Leistung der CPU oder des Cloud RDMA-Netzwerkbetriebs lässt nach, es treten Fehler bei der IRDMA-Netzwerkschnittstelle auf 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 von den 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 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/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_1undFAULT_REASON_2: Jedes Hostproblem, das auf Ihrer VM aufgetreten ist. Sie können die folgenden Werte angeben:PERFORMANCE: Sie sehen eine Leistungsminderung des CPU- oder RDMA-Netzwerkbetriebs, RDMA-Gerätefehler 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 defekte vCPUs, Softwarefehler oder Kernelprobleme verursacht werden.BEHAVIOR_UNSPECIFIED: Sie sind sich nicht sicher, was das Problem mit Ihrer VM 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 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.
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)
Rufen Sie in der Google Cloud Console die Seite Vorgänge auf.
Suchen Sie in der angezeigten Tabelle nach der VM, die Sie gemeldet haben.
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.
Optional: Wenn Sie prüfen möchten, ob Compute Engine die VM neu gestartet hat, rufen Sie die Details der VM auf.
Konsole (VM-Logs)
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:compute.instances.reportHostAsFaultygesetzt ist, um den Status der Meldung fehlerhafter Hostvorgänge in Ihrem Projekt aufzurufen:gcloud compute operations list --filter="operationType:compute.instances.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: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
- Wenn beim Melden eines fehlerhaften Hosts Probleme auftreten, lesen Sie den Abschnitt Fehlerbehebung bei der API für fehlerhafte Hosts.