Live-Migration

Compute Engine ermöglicht Ihnen die Live-Migration, damit Ihre VM-Instanzen selbst bei einem Hostsystem-Ereignis wie etwa einer Software- oder Hardwareaktualisierung ununterbrochen ausgeführt werden können. Compute Engine führt eine Live-Migration Ihrer laufenden Instanzen auf einen anderen Host in derselben Zone durch, ohne dass ein Neustart der VMs erforderlich ist. So kann Google, ohne eine Ihrer VMs unterbrechen zu müssen, die für eine jederzeit geschützte und zuverlässige Infrastruktur notwendigen Wartungsarbeiten vornehmen.

Die Live-Migration hält Ihre Instanzen während folgender Ereignisse am Laufen:

  • Regelmäßige Infrastrukturwartung und -upgrades.
  • Netzwerk- und Stromnetzwartung in den Rechenzentren.
  • Ausfälle der Hardware, z. B. Speicher, CPU, Netzwerkkarten, Festplatten, Netzteil usw. Dies erfolgt auf Best-Effort-Basis. Wenn Hardware vollständig ausfällt oder anderweitig die Live-Migration verhindert, stürzt die VM ab und startet automatisch wieder neu. Dabei wird ein hostError protokolliert.
  • Host-Betriebssystem und BIOS-Upgrades.
  • Sicherheitsrelevante Aktualisierungen mit der Notwendigkeit, schnell zu reagieren.
  • Änderungen der Systemkonfiguration, einschließlich der Änderung der Größe der Host-Root-Partition, zur Speicherung von Host-Image und Paketen.

Durch die Live-Migration ändern sich keine Attribute oder Eigenschaften der VM selbst. Der Live-Migrationsprozess besteht einfach darin, dass eine laufende VM von einer Hostmaschine auf eine andere in derselben Zone übertragen wird. Alle VM-Eigenschaften und -Attribute bleiben unverändert, einschließlich interner und externer IP-Adressen, Instanzmetadaten, Blockspeicherdaten und Volumes, Betriebssystem- und Anwendungsstatus, Netzwerkeinstellungen, Netzwerkverbindungen und so weiter.

Wie funktioniert der Live-Migrationsprozess?

Wenn Google eine laufende VM-Instanz von einem Host zu einem anderen migriert, wird der gesamte Zustand der Instanz 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 hier dargestellt:

Komponenten der Live-Migration

Der Prozess beginnt mit einer Benachrichtigung, dass VMs von ihrer aktuellen Hostmaschine entfernt werden müssen. Die Benachrichtigung kann mit einer Dateiänderung, die anzeigt, dass eine neue BIOS-Version verfügbar ist, der Planung für eine Wartung des Hardwarebetriebs oder einem automatischen Signal von einem bevorstehenden Hardwarefehler beginnen.

Die Google-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 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:

  • Während des Teilausfalls (Brownout) vor der Migration wird die VM noch auf der Quelle ausgeführt, während ein Großteil des Zustands von der Quelle zum Ziel gesendet wird. So kopiert Google zum Beispiel den gesamten Gastspeicher auf das Ziel und verfolgt die Seiten, die auf der Quelle geändert wurden. Die Dauer des Teilausfalls vor der Migration hängt von der Größe des Gastspeichers und der Geschwindigkeit ab, mit der sich die Seiten ändern.

  • Während des Ausfalls (Blackout), wobei es sich um einen kurzen Moment handelt, in dem die VM 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 des Zustands während des Teilausfalls vor der Migration 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.

  • Während des Teilausfalls (Brownout) nach der Migration wird die VM auf der Ziel-VM ausgeführt. Die Quell-VM ist vorhanden und kann als Unterstützung für die Ziel-VM fungieren. Beispielsweise leistet sie Weiterleitungsdienste für Pakete zu und von der Ziel-VM, bis die Netzwerkstruktur mit dem neuen Standort der Ziel-VM aktualisiert wurde.

Schließlich ist die Migration abgeschlossen und das System löscht die Quell-VM. Sie können aus Ihren VM-Protokollen ersehen, dass die Migration stattgefunden hat. Die Live-Migration ist ein wesentlicher Bestandteil unserer Plattform, weshalb Google die Live-Migration kontinuierlich und äußerst genau prüft. Bei den Tests lösen wir durch Fehlerinjektion an allen interessanten Punkten des Migrationsalgorithmus Fehler aus. Wir generieren sowohl aktive als auch passive Ausfälle für jede Komponente. Voraussetzung für das Gelingen dieses komplexen und vielfältigen Prozesses sind eine tiefe Integration über die gesamte Infrastruktur hinweg und eine Reihe leistungsfähiger Planungs-, Orchestrierungs- und Automatisierungsprozesse.

Live-Migration und GPUs

Für Instanzen mit angehängten GPUs ist keine Live-Migration möglich. Sie müssen so eingestellt werden, dass sie beendet und optional neu gestartet werden. Compute Engine bietet eine Frist von 60 Minuten, bevor eine VM-Instanz mit angehängter GPU beendet wird. Weitere Informationen zu diesen Wartungsereignisfristen finden Sie unter Live-Migrationshinweise erhalten.

Näheres zur Hostwartung mit GPUs erfahren Sie unter Hostwartung in der GPU-Dokumentation.

Live-Migration und lokale SSDs

Compute Engine kann auch eine Live-Migration von Instanzen mit lokalen SSDs durchführen. Dabei werden die VMs zusammen mit ihrer lokalen SSD vor einer geplanten Wartung auf eine neue Maschine verschoben.

Live-Migration für Instanzen auf Abruf

Sie können Instanzen auf Abruf nicht für die Live-Migration konfigurieren. Das Verhalten von Instanzen auf Abruf ist standardmäßig immer auf TERMINATE gesetzt. Diese Einstellung können Sie nicht ändern. Bei Instanzen auf Abruf ist es nicht möglich, die Option für den automatischen Neustart festzulegen. Sie können Instanzen auf Abruf aber manuell neu starten, nachdem sie vorzeitig beendet wurden.

Wenn Sie Ihre Instanz so ändern müssen, dass sie nicht mehr auf Abruf ist, trennen Sie das Bootlaufwerk von der Instanz auf Abruf und hängen Sie es an eine neue Instanz an, die nicht so konfiguriert ist, dass sie auf Abruf ist. Sie können auch einen Snapshot des Bootlaufwerks erstellen und damit eine neue, nicht präemptive Instanz erstellen.

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation