Google Cloud ist nicht immun gegen Hardwareausfälle. Es gibt zwar mehrere Redundanzebenen, aber es können Hardwarefehler auftreten, die zur Beendigung Ihrer Compute Engine-Instanzen führen.
Hosthardwarefehler können mehrere Ursachen haben, da die Serverhardware und die zugehörigen Komponenten viele Teile haben, die ausfallen können. Insbesondere speicheroptimierte Maschinentypen haben eine große Anzahl von Arbeitsspeichermodulen, was die Wahrscheinlichkeit von speicherbezogenen Hardwarefehlern erhöhen kann. Es gibt zwei Arten von speicherbezogenen Fehlern:
Korrigierbare Speicherfehler: Diese Fehler können durch integrierte Hardware- und Softwaremechanismen korrigiert werden, z. B. durch ECC-Speicher (Error Correction Code). Solche Fehler haben keine Auswirkungen auf die Compute Engine-Instanz, die auf dem Host ausgeführt wird. Sie werden transparent von Hardware- und Softwaremechanismen verarbeitet.
Nicht korrigierbare Speicherfehler: Diese Fehler können nicht korrigiert werden. Sie sind selten, zufällig und unvorhersehbar. Jeder Zugriff auf den betroffenen Speicherbereich führt zu einem Signal an das Betriebssystem, das entweder zur Beendigung der Compute Engine-Instanz oder zu einer Machine Check Exception (MCE) führt, die an die Instanz übergeben wird. Wenn eine Anwendung auf der Compute Engine-Instanz versucht, Daten aus dem betroffenen nicht korrigierbaren Speicherbereich zu lesen, verbraucht die Anwendung dieses Signal und wird beendet. Wenn das Betriebssystem in einer Compute Engine-Instanz dieses Signal empfängt, verhindert es standardmäßig, dass die betroffenen Speicherseiten neu zugewiesen werden, um eine weitere Verwendung zu vermeiden.
Hostfehler erkennen
Um Hostfehler zu erkennen, konfigurieren Sie logbasierte Benachrichtigungsrichtlinien, die die folgenden vordefinierten Compute Engine-Abfragen verwenden:
Abfrage-/Filtername | Beschreibung |
---|---|
Compute Engine-Hostfehler (compute.instances.hostError) |
Ein Hostfehler gibt an, dass ein Hardwarefehler aufgetreten ist, der dazu geführt hat, dass die Compute Engine-Instanz beendet werden musste. |
Compute Engine-Host-Speicherwarnung (compute.instances.hostEventNotify) |
Eine Benachrichtigung zum Hostspeicher weist auf einen Hardwarefehler hin, der mit Speichermodulen zusammenhängt. Solche Fehler können durch dauerhafte Komponentenausfälle im Laufe der Zeit oder durch vorübergehende Ereignisse verursacht werden, die durch hochenergetische Partikel oder kosmische Strahlung verursacht werden und das sichere Abrufen einer Speicherseite verhindern. |
SAP-Arbeitslasten vor Hostfehlern schützen
Um Ihre SAP-Arbeitslasten vor Hostfehlern zu schützen, empfehlen wir Folgendes:
Achten Sie darauf, dass für Ihre Compute Engine-Instanzen der automatische Neustart aktiviert ist.
Diese Option ist in der Compute Engine standardmäßig für alle Instanzen aktiviert. Wir empfehlen, diese Einstellung nicht zu deaktivieren.
Um Ihre SAP HANA- und SAP NetWeaver-Arbeitslasten vor Ausfällen einer einzelnen Instanz zu schützen, sollten Sie sie mit einer Hochverfügbarkeitskonfiguration (High Availability, HA) bereitstellen.
Weitere Informationen finden Sie in folgenden Leitfäden:
Um zu verhindern, dass Ihre SAP HANA-Arbeitslasten von der Beendigung eines SAP HANA-Prozesses betroffen sind, implementieren Sie die Provider-Hooks für SAP HANA HA/DR und aktivieren Sie die Option „Schneller SAP HANA-Neustart“.
Weitere Informationen finden Sie im Bereitstellungsleitfaden für Ihr SAP HANA-Szenario unter Alle SAP HANA-Anleitungen.
So schützen Sie Ihre SAP HANA-Arbeitslasten vor Speicherfehlern, die durch Compute Engine-Host-Speicherwarnungen (
compute.instances.host_event_notify
) für Maschinentypen vom Typ M2, M3 oder M4 angezeigt werden:Wenn der nicht korrigierbare Fehler von der VM nicht verarbeitet werden kann, wird die VM aufgrund der Richtlinie für den automatischen Neustart automatisch neu gestartet. In einem HA-Cluster übernimmt automatisch der sekundäre Knoten. Sie müssen nichts weiter unternehmen.
Wenn der nicht korrigierbare Speicherfehler von der VM verarbeitet werden kann und nicht zu einem VM-Absturz führt, gehen Sie so vor:
Wenn die betroffene Instanz der aktuelle primäre Knoten in Ihrem HA-Cluster ist, starten Sie ein manuelles Failover zum sekundären Knoten in Ihrem Cluster.
Beenden Sie die betroffene Instanz, um die Seiten des virtuellen Arbeitsspeichers freizugeben, die vom Hostfehlerereignis betroffen waren.
Die Compute Engine migriert die betroffenen VMs bei diesen Ereignissen zwar automatisch zu einem fehlerfreien Host, einige Arbeitsspeicherseiten können jedoch weiterhin nicht zugänglich sein. Wenn Ihre SAP HANA-Arbeitslast nach dem Auftreten des Speicherfehlers zum ersten Mal versucht, die betroffenen Speicherseiten zu lesen, schlägt sie fehl und wird beendet. Wenn Sie die Instanz beenden, werden die betroffenen Seiten des virtuellen Arbeitsspeichers freigegeben, die möglicherweise durch den ursprünglichen Hardwarefehler übrig geblieben sind.
Starten Sie die betroffene Instanz.
Wenn Sie die betroffene VM nicht beenden und starten können, laufen die darauf ausgeführten Anwendungen möglicherweise so lange weiter, bis sie die betroffenen Speicherseiten lesen können. Das kann einige Stunden dauern. Starten Sie die betroffene VM so bald wie möglich neu, um alle betroffenen Speicherseiten freizugeben.