Live-Migrationsprozess während Wartungsereignissen


Während eines geplanten Wartungsereignisses für die zugrunde liegende Hardware einer VM-Instanz oder Bare-Metal-Instanzist der Hostserver nicht verfügbar. Damit eine Instanz während eines Hostereignisses weiter ausgeführt wird, führt Compute Engine eine Live-Migration der Instanz zu einem anderen Hostserver in derselben Zone aus. Weitere Informationen zu Hostereignissen finden Sie unter Hostereignisse.

Dank der Live-Migration kann Google Cloud Wartungsarbeiten ausführen, ohne eine Arbeitslast zu unterbrechen, eine Instanz neu zu starten oder die Attribute der Instanz zu ändern, z. B. IP-Adressen, Metadaten, Blockspeicherdaten, Anwendungsstatus oder Netzwerkeinstellungen.

Die Live-Migration hält Instanzen in den folgenden Situationen am Laufen:

  • Infrastrukturwartung. Die Infrastrukturwartung umfasst Hosthardware, Netzwerk und Stromnetze in Rechenzentren sowie Hostbetriebssystem (OS) und BIOS.

  • Sicherheitsrelevante Aktualisierungen und Änderungen an der Systemkonfiguration. Dazu gehören Ereignisse wie das Installieren von Sicherheitspatches und das Ändern der Größe der Host-Root-Partition zum Speichern des Host-Betriebssystem-Images und der Pakete.

  • Hardwarefehler. Dazu gehören Ausfälle von Arbeitsspeicher, CPUs, Netzwerkkarten und Laufwerken. Wenn der Fehler erkannt wird, bevor es zu einem vollständigen Serverausfall kommt, führt Compute Engine eine präventive Live-Migration der Instanz auf einen neuen Hostserver durch. Wenn die Hardware vollständig ausfällt oder anderweitig die Live-Migration verhindert, wird die Instanz beendet und automatisch neu gestartet.

Compute Engine führt eine Live-Migration nur für VMs durch, für die die Hostwartungsrichtlinie auf Migration festgelegt wurde. Informationen zum Ändern der Hostwartungsrichtlinie finden Sie unter VM-Hostwartungsrichtlinie festlegen.

Live-Migrationsprozess und lokale SSD-Laufwerke

Compute Engine kann eine Live-Migration von Instanzen mit angehängten lokalen SSD-Festplatten durchführen (mit Ausnahme von Z3-Instanzen mit mehr als 18 TiB angehängter Titanium-SSD). Compute Engine verschiebt die VM-Instanzen zusammen mit ihren lokalen SSD-Daten vor einer geplanten Wartung auf eine neue Maschine.

Beschränkungen

Die Live-Migration wird für die folgenden VM-Typen nicht unterstützt:

  • Bare-Metal-Instanzen. Instanzen, die mit einem Bare Metal-Maschinentyp erstellt wurden, unterstützen keine Live-Migration. Das Wartungsverhalten für diese Instanzen ist auf TERMINATE bzw. RESTART festgelegt.
  • Die meisten Confidential VM-Instanzen. Die Live-Migration für Confidential VM-Instanzen wird nur für N2D-Maschinentypen mit AMD EPYC Milan-CPU-Plattformen unterstützt, auf denen AMD SEV ausgeführt wird. Alle anderen Confidential VM-Instanzen unterstützen keine Live-Migration und müssen so eingestellt werden, dass sie bei einem Hostwartungsereignis beendet und optional neu gestartet werden. Weitere Informationen finden Sie unter Live-Migration.
  • VMs mit angehängten GPUs. VM-Instanzen mit angehängten GPUs müssen so eingerichtet sein, dass sie beendet und optional neu gestartet werden können. Compute Engine bietet eine Benachrichtigung, bevor eine VM-Instanz mit angehängter GPU beendet wird. Die Frist hängt vom GPU-Typ ab:

    • Für die meisten GPUs bietet Compute Engine eine Frist von 60 Minuten.
    • Bei GPU-Familien, die auf AI Hypercomputer Cluster Director ausgeführt werden, bietet Compute Engine eine Benachrichtigung 10 Minuten im Voraus.

    Weitere Informationen zu diesen Wartungsereignisbenachrichtigungen finden Sie unter Metadatenserver nach Wartungsereignisbenachrichtigungen abfragen.

    Weitere Informationen zur Hostwartung mit GPUs finden Sie unter Hostwartung in der GPU-Dokumentation.

  • Cloud TPUs. Cloud TPUs unterstützen keine Live-Migration.
  • Speicheroptimierte VMs. Z3-VMs mit mehr als 18 TiB angehängter Titanium-SSD unterstützen keine Live-Migration. Das Wartungsverhalten für diese VMs ist auf TERMINATE und RESTART festgelegt.Compute Engine behält die Daten auf der Titanium-SSD während des Wartungsereignisses bei, wie unter Beibehalten von Laufwerken nach dem Beenden von Instanzen beschrieben.

Wie funktioniert der Live-Migrationsprozess?

Wenn für eine VM eine Live-Migration geplant ist, stellt Compute Engine eine Benachrichtigung bereit, damit Sie Ihre Arbeitslasten und Anwendungen auf diese Störung vorbereiten können. Während der Live-Migration Google Cloud wird eine minimale Unterbrechungszeit eingehalten, die in der Regel weit weniger als eine Sekunde beträgt. Wenn für eine VM keine Live-Migration festgelegt ist, wird die VM von Compute Engine während der Hostwartung beendet. VMs, die so eingestellt sind, dass sie während eines Hostereignisses beendet werden, werden angehalten und (optional) neu gestartet.

Wenn Google Cloud eine laufende VM von einem Host zu einem anderen migriert, wird der gesamte Zustand der VM in einer für das Gastbetriebssystem und jeden, der damit kommuniziert, transparenten Weise von der Quelle zum Ziel verschoben. Viele Komponenten sind daran beteiligt, dass dies reibungslos abläuft. Die übergeordneten Schritte sind in der folgenden Abbildung dargestellt:

VM und alle zugehörigen Ressourcen zu einem neuen Hostsystem migrieren, ohne dass das Gastbetriebssystem neu gestartet werden muss.
Komponenten der Live-Migration

Der Prozess beginnt mit einer Benachrichtigung, dass eine VM von ihrer aktuellen Hostmaschine verschoben werden muss. Die Benachrichtigung kann mit einer Dateiänderung, die anzeigt, dass eine neue BIOS-Version verfügbar ist, einem Hinweis auf eine geplante Wartung der Hardware oder einem automatischen Signal wegen eines bevorstehenden Hardwarefehlers beginnen.

Die Clusterverwaltungssoftware vonGoogle Cloudachtet ständig auf diese Ereignisse und plant sie auf der Grundlage von Richtlinien, die die Rechenzentren steuern, wie z. B. Kapazitätsauslastungsraten und der Anzahl der VMs, die ein einzelner Kunde sofort migrieren kann.

Nachdem eine VM für die Migration ausgewählt wurde,benachrichtigt Google Cloud den Gast über die kurz bevorstehende Migration. Nach einer Wartezeit wird ein Zielhost ausgewählt und der Host wird aufgefordert, eine neue, leere „Ziel“-VM einzurichten, um die migrierende „Quell“-VM zu empfangen. Für die Herstellung einer Verbindung zwischen Quelle und Ziel erfolgt eine Authentifizierung.

Die VM-Migration umfasst drei Phasen:

  1. Teilausfall der Quelle. Die VM wird noch in der Quelle ausgeführt, während ein Großteil des Zustands von der Quelle zum Ziel gesendet wird. So kopiertGoogle Cloud zum Beispiel den gesamten Gastspeicher auf das Ziel und verfolgt die Seiten, die auf der Quelle geändert wurden. Die Dauer des Teilausfalls der Quelle hängt von der Größe des Gastspeichers und der Geschwindigkeit ab, mit der sich die Seiten ändern.

  2. Ausfall. Wenn die VM kurz nirgendwo ausgeführt wird, ist der Betrieb der Quell-VM unterbrochen und der übrige für den Beginn der VM-Ausführung auf dem Ziel erforderliche Zustand wird gesendet. Die VM tritt in die Ausfallphase ein, wenn das Senden von Zustandsänderungen während des Teilausfalls der Quelle anfängt, rückläufige Ergebnisse zu liefern. Ein Algorithmus wägt die Anzahl der gesendeten Speicherbyte gegen die Rate ab, mit der sich die Gast-VM verändert.

    Bei Ausfällen wird die Systemuhr scheinbar um bis zu fünf Sekunden vorgestellt. Wenn ein Ausfall länger als fünf Sekunden dauert, Google Cloud hält die Uhr an und synchronisiert sie mit einem Daemon, der Bestandteil der VM-Gastpakete ist.

  3. Teilausfall des Ziels. Die VM wird auf der Ziel-VM ausgeführt. Die Quell-VM ist vorhanden und kann die Ziel-VM unterstützen. Bis das Netzwerk-Fabric beispielsweise die neue Position der Ziel-VM erreicht hat, stellt die Quell-VM Weiterleitungsdienste für Pakete zur und von der Ziel-VM bereit.

Schließlich ist die Migration abgeschlossen und das System löscht die Quell-VM. Sie können aus den Cloud Logging-Logs für Ihre VM ersehen, dass die Migration stattgefunden hat.

Live-Migration von VMs für einzelne Mandanten

Während die Arbeitslast ausgeführt wird, können Sie VMs in einen anderen Knoten oder eine andere Knotengruppe für einzelne Mandanten verschieben. Wenn Sie eine VM in eine Gruppe von Knoten verschieben, bestimmt Compute Engine, auf welchem Knoten sie platziert wird. Informationen zur Einzelmandantenfähigkeit finden Sie unter Einzelne Mandanten.

Wenn Sie VMs für einzelne Mandanten in einen anderen Knoten oder eine andere Knotengruppe verschieben möchten, können Sie manuell eine Live-Migration initiieren. Sie können auch manuell eine Live-Migration initiieren, um eine VM auf einem mandantenfähigen Host auf einen Knoten für einzelne Mandanten zu verschieben. Weitere Informationen finden Sie unter VMs manuell live migrieren.

Nächste Schritte