Während eines geplanten Wartungsereignisses für die zugrunde liegende Hardware einer VM-Instanz oder einer 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 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 ein vollständiger Serverausfall auftritt, führt die Compute Engine eine vorbeugende Live-Migration der Instanz auf einen neuen Hostserver aus. 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 SSDs
Compute Engine kann Instanzen mit angehängten lokalen SSDs live migrieren (außer Z3-Instanzen). Die Compute Engine verschiebt die VM-Instanzen zusammen mit ihren lokalen SSD-Daten vor einer geplanten Wartung auf einen neuen Computer.
Beschränkungen
Die Live-Migration wird für die folgenden VM-Typen nicht unterstützt:
- Bare-Metal-Instanzen. C3- und X4-Bare-Metal-Instanzen unterstützen keine Live-Migration. Das Wartungsverhalten für diese Instanzen ist jeweils auf
TERMINATE
undRESTART
festgelegt. - Die meisten Confidential VM-Instanzen Die Live-Migration für Confidential VM-Instanzen wird nur auf N2D-Maschinentypen mit AMD EPYC Milan-CPU-Plattformen mit AMD SEV unterstützt. Alle anderen Confidential VM-Instanzen unterstützen keine Live-Migration und müssen so eingestellt werden, dass sie bei einem Hostwartungsereignis angehalten 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 Frist von 60 Minuten, bevor eine VM-Instanz mit angehängter GPU beendet wird. Weitere Informationen zu diesen Wartungsereignisbenachrichtigungen finden Sie unter Live-Migrationshinweise erhalten.
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 unterstützen keine Live-Migration. Das Wartungsverhalten für Z3-VMs ist auf
TERMINATE
festgelegt.
Wie funktioniert der Live-Migrationsprozess?
Wenn für eine VM eine Live-Migration geplant ist, erhalten Sie von der Compute Engine eine Benachrichtigung, damit Sie Ihre Arbeitslasten und Anwendungen auf diese Unterbrechung vorbereiten können. Während der Live-Migration sorgt Google Cloud für eine minimale Unterbrechungszeit, die in der Regel weit weniger als eine Sekunde ist. 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 Gast-Betriebssystem 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:
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 Google Cloud-Cluster-Verwaltungssoftware achtet 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:
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 kopiert Google 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.
Ausfall. Wenn die VM kurz nirgendwo ausgeführt wird, ist der VM-Betrieb 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, hält Google Cloud die Uhr an und synchronisiert sie mit einem Daemon, der Bestandteil der VM-Gastpakete ist.
Teilausfall des Ziels. Die VM wird auf der Ziel-VM ausgeführt. Die Quell-VM ist vorhanden und kann die Ziel-VM unterstützen. Beispiel: Bis die Netzwerkstruktur den neuen Speicherort der Ziel-VM erfasst hat, stellt die Quell-VM Weiterleitungsdienste für Pakete von und zur 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 mehrmandantenfähigen Host auf einen Knoten für einzelne Mandanten zu verschieben. Weitere Informationen finden Sie unter VMs manuell live migrieren.
Nächste Schritte
Legen Sie die Optionen der VM-Hostwartungsrichtlinie fest, um Ihre Instanzen für die Live-Migration zu konfigurieren.
Tipps zum Konzipieren eines robusten Systems, das Dienstunterbrechungen bewältigen kann