Live-Migration
Unter Live-Migration versteht man das Verschieben einer virtuellen Maschine (VM), die auf einem physischen Host läuft, auf einen anderen Host, ohne den normalen Betrieb zu unterbrechen oder Ausfallzeiten oder andere nachteilige Auswirkungen für den Endanwender zu verursachen.
Die Live-Migration gilt als ein wichtiger Schritt in der Virtualisierung. Sie erlaubt das Verschieben einer gesamten VM mit laufendem Betriebssystem und trägt so zu unterbrechungsarmem Fehlermanagement, Lastausgleich und Systemwartung auf niedriger Ebene bei.
Zu den gängigen Hypervisor-Produkten, die die Live-Migration von Gastbetriebssystemen unterstützen, gehören VMware vMotion, Microsoft Hyper-V und die Oracle Logical Domains (LDoms) Software.
So funktioniert die Live-Migration
Eine Live-Migration wird in der Regel durchgeführt, wenn IT-Teams eine physische Host-Maschine (Computer oder Server) warten oder aktualisieren oder wenn sie eine VM auf einen anderen Host umstellen. Bei diesem Prozess werden der Arbeitsspeicher, die Netzwerkkonnektivität und der Speicher der VM übertragen. Der größte Teil der Migration findet statt, während das Betriebssystem weiterläuft.
Der Prozess ermöglicht eine saubere Trennung zwischen Hardware und Software und eine Trennung der Belange von Nutzern und Betreibern eines Rechenzentrums oder Clusters. Aus diesen Gründen ist die Live-Migration von Betriebssystemen für Cluster-Administratoren besonders nützlich.
Mit der Live-Migration konsolidieren Administratoren die Cluster-Hardware in einer einzigen kohärenten Verwaltungsdomäne. Wenn sie einen bestimmten physischen Rechner zu Wartungszwecken außer Betrieb nehmen, migrieren sie Betriebssysteminstanzen (einschließlich Anwendungen) auf einen oder mehrere alternative Rechner, wodurch der ursprüngliche Rechner frei wird. Ebenso ordnen sie bei einer Überlastung von Hosts Betriebssysteminstanzen auf Maschinen in einem Cluster neu an, um die Last zu verringern. In beiden Fällen erleichtert die Kombination aus Virtualisierung und Migration die Systemverwaltung für den Cluster-Administrator.
Der Live-Migrationsprozess beginnt mit der Übertragung der Daten im Speicher der VM auf den physischen Zielcomputer. Sobald alle Daten übertragen sind, wird auf dem Zielcomputer ein Betriebsressourcenstatus bestehend aus CPU, Arbeitsspeicher und Storage erstellt.
Danach wird die ursprüngliche VM – zusammen mit ihren installierten Anwendungen – angehalten, kopiert und auf dem Zielrechner gestartet. Dieser gesamte Prozess verursacht nur minimale Ausfallzeiten. Obwohl es nicht möglich ist, Ausfallzeiten vollständig zu vermeiden, lassen sie sich durch Pre-Paging und die Nutzung der Wahrscheinlichkeitsdichtefunktion des Speichers weiter reduzieren.
Vorteile der Live-Migration
Die Live-Migration bietet mehrere Vorteile für Administratoren von Rechenzentren und Clustern.
Durch die Migration eines gesamten Betriebssystems und aller seiner Anwendungen als Einheit umgehen sie viele der Schwierigkeiten, die bei Migrationsansätzen auf Prozessebene auftreten. Diese Methode beseitigt das Problem der verbleibenden Abhängigkeiten, die erfordern, dass der ursprüngliche Host-Rechner verfügbar und über das Netzwerk erreichbar bleibt, um Speicherzugriffe oder Systemaufrufe im Namen der migrierten Prozesse zu bedienen.
Die Migration auf der gesamten VM-Ebene bedeutet, dass der In-Memory-Status konsistent und effizient übertragen wird. Das gilt sowohl für den internen Zustand des Kernels als auch für den Zustand auf Anwendungsebene.
Die Live-Migration unterstützt einen effizienteren Lastausgleich, so dass die Anwendungen Systeme und CPU-Ressourcen für eine optimale Nutzung gemeinsam nutzen. Außerdem laufen Anwendungen weiter, während der Administrator im Hintergrund Wartungsaktivitäten wie Sicherheitsaktualisierungen durchführt.
Die Anwender steuern die Software und Dienste, die sie innerhalb ihrer VM ausführen möchten, ohne dass der Betreiber Zugriff auf die Betriebssystemebene erhält. Darüber hinaus bleibt das System auch dann aktiv, wenn Hardware wie die CPU, die Netzwerkkarte oder der Speicher nicht mehr funktionieren. Wenn das System komplett abstürzt oder die Live-Migration fehlschlägt, stürzt die VM ab, protokolliert einen Host-Fehler und startet die Maschine automatisch neu.
Schließlich minimiert die Live-Migration die Ausfallzeit des Systems durch den Pre-Paging-Ansatz, bei dem das Betriebssystem im Voraus errät, welche Speicherseiten benötigt werden, und diese proaktiv in den Hauptspeicher lädt, ohne die zu migrierende VM anzuhalten.
Live-Migrationsprozess
Die Live-Migration erfolgt Schritt für Schritt:
0: Vor-Migration oder Vorbereitung
Der Zielhost (Host A) wird für die Migration ausgewählt, und die VM wird auf der Client-Seite aktiviert. Der Hypervisor dupliziert auch die Speicherseiten von der Quelldatei zur Zieldatei.
1: Reservierung
Eine Migrationsanforderung wird von Host A an Host B weitergeleitet. Mit dieser Anforderungsinitialisierung reserviert Host B einen VM-Container in der gewünschten Größe. Wenn diese Ressourcen nicht gesichert sind, läuft die VM unbeeinflusst in Host A weiter.
2: Iterative (wiederholte) Vorkopie
Die Vorkopie-Migration kombiniert eine iterative Push-Phase mit einer Stop-and-Copy-Phase. Auf diese Weise werden alle Seiten von Host A auf Host B übertragen. Außerdem werden in den nachfolgenden Iterationen nur die Seiten berücksichtigt, die während des Übertragungsvorgangs geändert oder verunreinigt wurden.
3: Stop-and-copy
Laufende Betriebssysteminstanzen werden auf Host A angehalten und der Netzwerkverkehr wird auf Host B umgeleitet. Der CPU-Status und andere inkonsistente Speicherseiten werden dann auf Host B übertragen. Schließlich gibt es auf beiden Hosts eine konsistente angehaltene Kopie der VM, wobei die Kopie auf A als primäre Kopie bezeichnet wird. Auf diese Weise kann die Migration im Falle eines Ausfalls von A wieder aufgenommen werden.
4: Zusage
Host B teilt Host A mit, dass er das konsistente Betriebssystem-Image erhalten hat. Host A bestätigt diese Nachricht, und damit wird die Migration bestätigt. Nun wird Host B zum primären Host, und Host A kann die ursprüngliche VM verwerfen.
5: Aktivierung
Die migrierte VM wird auf dem nun primären Host B aktiviert. Gerätetreiber werden wieder mit dem neuen Rechner verbunden und verschobene IP-Adressen werden mit Post-Migrationscodes bekannt gegeben. Der normale Betrieb wird auf Host B wieder aufgenommen.
Anforderungen der Live-Migration
Die Live-Migration stellt sicher, dass das konsistente VM-Image auf mindestens einem Host verbleibt. Der Erfolg des Prozesses hängt jedoch von zwei wichtigen Voraussetzungen ab:
- Der ursprüngliche Host bleibt stabil: Während des gesamten Migrationsprozesses muss der ursprüngliche Host bis zur Commitment-Phase ohne Unterbrechung stabil bleiben.
- Aussetzen und Wiederaufnehmen der VM: Die VM kann auf dem physischen Host angehalten und wiederaufgenommen werden, ohne dass ein Ausfallrisiko besteht.