VMs für Hochverfügbarkeit reparieren


In diesem Dokument wird beschrieben, wie eine verwaltete Instanzgruppe eine Hochverfügbarkeit Ihrer Anwendung ermöglicht, indem fehlgeschlagene und fehlerhafte VMs in der Gruppe repariert werden.

Eine MIG hält Ihre Anwendung verfügbar und behält die Anzahl der ausgeführten VMs in der Gruppe proaktiv bei. Wenn eine VM in der Gruppe ausfällt, repariert die verwaltete Instanzgruppe die VM. Dazu wird sie auf die folgende Weise neu erstellt:

  • Fehlgeschlagene VM automatisch reparieren: Wenn eine VM ausfällt oder durch eine nicht von der verwaltete Instanzgruppe initiierte Aktion gelöscht wird, repariert die MIG die fehlgeschlagene VM automatisch. In diesem Dokument finden Sie weitere Informationen unter Fehlgeschlagene VM automatisch reparieren.
  • VM anhand einer Anwendungsintegritätsprüfung reparieren: Eine optionale Möglichkeit, die Hochverfügbarkeit durch Reparatur von fehlerhaften VMs weiter zu verbessern. Wenn Sie eine anwendungsbasierte Systemdiagnose konfigurieren und Ihre Anwendung die Systemdiagnose nicht besteht, markiert die MIG diese VM als fehlerhaft und repariert sie. Das Reparieren einer VM basierend auf einer Systemdiagnose der Anwendung wird auch als automatische Reparatur bezeichnet. In diesem Dokument finden Sie weitere Informationen unter VM anhand einer Systemdiagnose der Anwendung reparieren.

Fehlgeschlagene VMs automatisch reparieren

Wenn eine VM in einer MIG fehlschlägt, repariert die VM automatisch die fehlgeschlagene VM, indem sie sie neu erstellt. Eine VM kann aus folgenden Gründen fehlschlagen:

  • Unerwartete Gründe wie ein Hardwarefehler.
  • Aktionen, die nicht von der verwalteten Instanzgruppe initiiert werden, wie z. B.:
    • Vorzeitiges Beenden einer Spot-VM.
    • Infrastrukturwartungsereignisse, wenn die VM-Instanz nicht auf Live-Migration eingestellt ist.
    • Löschen einer VM in der Gruppe mit der Methode instances.delete oder dem Befehl gcloud compute instances delete.

Wenn die verwaltete Instanzgruppe eine VM absichtlich beendet, z. B. wenn ein Autoscaling eine VM löscht, wird die VM nicht repariert.

VM anhand einer Systemdiagnose der Anwendung reparieren

Zusätzlich zur automatischen Reparatur fehlgeschlagener VMs möchten Sie möglicherweise eine VM reparieren, wenn die auf der VM ausgeführte Anwendung einfriert, abstürzt oder nicht genügend Arbeitsspeicher zur Verfügung hat. Sie können eine anwendungsbasierte Systemdiagnose konfigurieren, um sicherzustellen, dass die Anwendung wie erwartet reagiert.

Mit einer anwendungsbasierten Systemdiagnose wird regelmäßig überprüft, ob Ihre Anwendung auf jeder VM in einer MIG wie erwartet reagiert. Wenn die Anwendung auf einer VM nicht reagiert, markiert die MIG diese VM als fehlerhaft. Die MIG repariert dann automatisch die fehlerhafte VM. Die Reparatur einer VM basierend auf einer Systemdiagnose der Anwendung wird als automatische Reparatur bezeichnet.

Damit die MIG eine Teilmenge der VMs weiterhin ausführen kann, werden nicht alle Instanzen gleichzeitig automatisch repariert. Dies ist zum Beispiel nützlich, wenn eine falsche Systemdiagnose unnötige Reparaturen auslöst, eine falsch konfigurierte Firewallregel verhindert, dass eine Systemdiagnose die VM prüft, oder wenn es Probleme mit der Netzwerkverbindung oder -infrastruktur gibt, die eine fehlerfreie VM als fehlerhaft identifizieren. Wenn eine zonale verwaltete Instanzgruppe aber nur eine VM oder eine regionale verwaltete Instanzgruppe nur eine VM pro Zone hat, erstellt die verwaltete Instanzgruppe diese VMs neu, sobald sie fehlerhaft werden.

Richtlinie für die automatische Reparatur

Für jede MIG gibt es eine Richtlinie für die automatische Reparatur, in der Sie eine Systemdiagnose konfigurieren und zusätzlich eine anfängliche Verzögerung festlegen können. Die anfängliche Verzögerung ist die Zeit, die eine neue VM zum Initialisieren und Ausführen des Startskripts benötigt. Der Timer für die anfängliche Verzögerung startet, wenn die MIG das Feld currentAction der VM in VERIFYING ändert. Während des anfänglichen Verzögerungszeitraums einer VM ignoriert die MIG fehlgeschlagene Systemdiagnosen, da sich die VM möglicherweise im Startvorgang befindet. Dadurch wird verhindert, dass die MIG eine VM vorzeitig neu erstellt. Wenn die Systemdiagnose während der anfänglichen Verzögerung eine fehlerfreie Antwort empfängt, gibt dies an, dass der Startvorgang abgeschlossen ist und die VM bereit ist.

Weitere Informationen zum Konfigurieren einer Richtlinie für die automatische Reparatur finden Sie unter Systemdiagnose und automatische Reparatur einer Anwendung einrichten.

Änderungen des Systemzustands von Anwendungen überwachen

Wenn Sie eine anwendungsbasierte Systemdiagnose in Ihrer verwalteten Instanzgruppe konfiguriert haben, können Sie den Systemzustand jeder VM in der verwalteten Instanzgruppe prüfen. Weitere Informationen finden Sie unter Status prüfen.

Sie können auch die Änderungen des Systemzustands einer VM überwachen. Weitere Informationen finden Sie unter Änderungen des Systemzustands beobachten.

Preise

Wenn Sie eine anwendungsbasierte Systemdiagnose einrichten, schreibt Compute Engine standardmäßig einen Logeintrag, wenn sich der Systemzustand einer verwalteten Instanz ändert. In Cloud Logging steht ein kostenloses Kontingent pro Monat zur Verfügung. Ist es aufgebraucht, wird das Logging nach Datenvolumen abgerechnet. Sie können Kosten vermeiden, indem Sie die Änderungslogs des Systemzustand deaktivieren.

Verhalten während der Reparatur

In den folgenden Abschnitten wird das Verhalten während der automatischen Reparaturen und Reparaturen basierend auf der Systemdiagnose der Anwendung erläutert.

Bei Reparatur aktualisieren

Standardmäßig erstellt eine verwaltete Instanzgruppe während einer Reparatur eine VM mit der ursprünglichen Instanzvorlage, die zum Erstellen der VM verwendet wurde. Wenn beispielsweise eine VM mit instance-template-a erstellt wurde und Sie die verwaltete Instanzgruppe so aktualisieren, dass instance-template-b im OPPORTUNISTIC-Modus verwendet wird, nutzt die verwaltete Instanzgruppe weiterhin instance-template-a, um die VM neu zu erstellen.

Wenn Sie möchten, dass die verwaltete Instanzgruppe während der VM-Reperatur die neuesten Instanzvorlagen und instanzspezifischen Konfigurationen verwendet, können Sie die Gruppe so konfigurieren, dass sieKonfigurationsupdates während der Reparatur anwendet.

Umgang mit Laufwerken

Während einer Reparatur einer VM anhand ihrer Vorlage werden von der verwaltete Instanzgruppe unterschiedliche Arten von Laufwerken unterschiedlich behandelt. Einige Laufwerkkonfigurationen können dazu führen, dass die Reparatur fehlschlägt, sobald Sie versuchen, eine VM neu zu erstellen.

Laufwerkstyp autodelete Verhalten während der Reparatur
Neuer nichtflüchtiger Speicher true Das Laufwerk wird gemäß der Instanzvorlage neu erstellt. Alle Daten, die auf dieses Laufwerk geschrieben wurden, gehen verloren, wenn das Laufwerk und seine VM neu erstellt werden.
Neuer nichtflüchtiger Speicher false Das Laufwerk bleibt erhalten und wird wieder angefügt, wenn die verwaltete Instanzgruppe die VM neu erstellt.
Vorhandener nichtflüchtiger Speicher true Altes Laufwerk wird gelöscht. Die Neuerstellung der VM schlägt fehl, da Compute Engine der VM kein gelöschtes Laufwerk neu hinzufügen kann. Bei vorhandenen Laufwerken mit Lese- und Schreibberechtigung kann eine MIG jedoch maximal eine VM enthalten, da ein einzelner nichtflüchtiger Speicher im Schreib-/Lesemodus nicht mehreren VMs zugeordnet werden kann.
Vorhandener nichtflüchtiger Speicher false Das alte Laufwerk wird gemäß der Instanzvorlage wieder hinzugefügt. Die Daten auf dem Laufwerk bleiben erhalten. Bei vorhandenen Laufwerken mit Lese- und Schreibberechtigung kann eine MIG jedoch maximal eine VM enthalten, da ein einzelner nichtflüchtiger Speicher im Schreib-/Lesemodus nicht mehreren VMs zugeordnet werden kann.
Neue lokale SSD Das Laufwerk wird gemäß der Instanzvorlage neu erstellt. Die auf einer lokalen SSD abgelegten Daten gehen verloren, wenn eine VM neu erstellt oder gelöscht wird.

Die verwaltete Instanzgruppe ordnet Laufwerke, die nicht in der Instanzvorlage oder den instanzspezifischen Konfigurationen angegeben sind, wie z. B. Laufwerke, die Sie nach dem Erstellen der VM dieser manuell zugeordnet haben, nicht neu zu.

Treffen Sie folgende Vorkehrungen, um wichtige Daten, die auf das Laufwerk geschrieben wurden, zu erhalten:

Wenn Ihre VMs wichtige Einstellungen enthalten, die Sie beibehalten möchten, empfiehlt Google außerdem, in Ihrer Instanzvorlage ein benutzerdefiniertes Image zu verwenden. Ein benutzerdefiniertes Image enthält alle benötigten benutzerdefinierten Einstellungen. Wenn Sie in Ihrer Instanzvorlage ein benutzerdefiniertes Image festlegen, verwendet die verwaltete Instanzgruppe zum Neuerstellen von VMs das benutzerdefinierte Image, das die erforderlichen benutzerdefinierten Einstellungen enthält.

Reparaturen deaktivieren

Sie können Reparaturen deaktivieren, die automatisch von einer MIG durchgeführt werden. Wenn Sie Reparaturen deaktivieren, werden die Reparatur von ausgefallenen VMs und die Reparatur auf der Grundlage einer Systemdiagnose ausgeschaltet.

Sie können Reparaturen in einer MIG in Szenarien wie den folgenden deaktivieren:

  • Um eine ausgefallene VM ohne Unterbrechung durch die automatische Reparatur zu prüfen oder Fehler zu beheben.
  • Um VMs manuell zu reparieren oder Ihre eigene Reparaturlogik zu implementieren.
  • Um zu verhindern, dass neue VMs registriert werden, während ein Batchjob ausgeführt wird.
  • Um den Systemzustand einer Anwendung zu beobachten, ohne eine fehlerhafte VM zu reparieren.
  • Um die Konfiguration der Systemdiagnose ohne falsch ausgelöste Reparaturen zu optimieren.

Wenn Sie Reparaturen deaktivieren, führt die MIG keine Aktionen aus, wenn eine VM in der Gruppe ausfällt oder fehlerhaft wird. Fehlgeschlagene und fehlerhafte VMs befinden sich weiterhin in der Gruppe und die Zielanzahl der ausgeführten VMs in der MIG (targetSize) bleibt gleich.

Wenn der Aktualisierungstyp der MIG auf proactive gesetzt ist und eine neue Instanzvorlage verfügbar ist, versucht die MIG, die fehlgeschlagenen und fehlerhaften VMs zu aktualisieren.

Wenn Sie eine anwendungsbasierte Systemdiagnose konfiguriert haben, wirkt sich das Deaktivieren der Reparatur nicht auf die Funktionalität der Systemdiagnose aus. Die Systemdiagnose prüft weiterhin die Anwendung und liefert die Zustandsdaten der VM. So können Sie den Status der Anwendung überwachen und gleichzeitig verhindern, dass die MIG fehlerhafte VMs repariert.

Wenn die MIG Teil eines Backend-Diensts eines Load Balancers ist und Sie die Reparaturen in der MIG deaktivieren, reagieren nicht reparierte und fehlerhafte VMs nicht auf die Systemdiagnose des Load Balancers. Wenn die Anzahl dieser fehlgeschlagenen oder fehlerhaften VMs in der MIG zunimmt, kann der Load Balancer den Traffic zu dieser MIG reduzieren oder zu einem anderen Backend wechseln, sofern dies konfiguriert ist. Wenn die fehlgeschlagenen VMs wieder verfügbar sind, setzt der Load Balancer den Traffic an die MIG fort.

Weitere Informationen finden Sie unter Reparatur in einer MIG deaktivieren.

Nächste Schritte