Kapitel 12. KVM Live-Migration
Dieses Kapitel behandelt die Migration von Gästen auf einem KVM-Hypervisor zu einem anderen KVM-Host.
Migration bezeichnet den Vorgang, virtualisierte Gäste von einem Host auf einen anderen zu verschieben. Migration ist eine Schlüsseleigenschaft der Virtualisierung, da die Software vollständig von der Hardware getrennt ist. Migration ist hilfreich für:
Load balancing - guests can be moved to hosts with lower usage when a host becomes overloaded.
Hardware failover - when hardware devices on the host start to fail, guests can be safely relocated so the host can be powered down and repaired.
Energy saving - guests can be redistributed to other hosts and host systems powered off to save energy and cut costs in low usage periods.
Geographic migration - guests can be moved to another location for lower latency or in serious circumstances.
Eine Migration kann "live" oder "offline" erfolgen. Um Gäste zu migrieren, muss der Speicher gemeinsam verwendet werden. Migration funktioniert, indem der Speicher des Gasts zum Ziel-Host übertragen wird. Der gemeinsam verwendete Speicher speichert das Standarddateisystem des Gasts. Das Dateisystemabbild wird nicht über das Netzwerk vom Quell-Host zum Ziel-Host gesendet.
An offline migration suspends the guest then moves an image of the guests memory to the destination host. The guest is resumed on the destination host and the memory the guest used on the source host is freed.
Die Zeit, die eine Offline-Migration dauert, hängt von der Netzwerkbandbreite und Latenz ab. Ein Gast mit 2 GB Speicher sollte über eine 1 Gbit Ethernet-Verbindung etwa zehn Sekunden brauchen.
Bei einer Live-Migration läuft der Gast auf dem Quell-Host weiter ohne anzuhalten, während der Speicher verschoben wird. Jegliche Änderungen an den Speicherseiten werden nachverfolgt und zum Ziel gesendet, nachdem das Abbild übertragen wurde. Der Speicher wird dann mit den modifizierten Speicherseiten aktualisiert. Dieser Prozess läuft so lange, bis die Zeit, die dem Gast zum Pausieren zugestanden wird, der Zeit entspricht, die voraussichtlich für die Übertragung der letzten Seiten benötigt wird. KVM schätzt die verbleibende Zeit und versucht, die höchstmögliche Anzahl an Seiten von der Quelle zum Ziel zu übertragen, bis für KVM absehbar ist, dass die verbleibenden Seiten während einer kurzen Zeitspanne, die die virtuelle Maschine pausiert, übertragen werden können. Die Register werden nun auf dem neuen Host geladen und der Gast wird schließlich auf dem Ziel-Host wieder gestartet. Falls der Gast auf diese Weise nicht übertragen werden kann (was bei extrem hoher Auslastung des Gasts vorkommen kann), so wird er angehalten und stattdessen eine Offline-Migration eingeleitet.
Die Zeit, die eine Offline-Migration dauert, hängt von der Netzwerkbandbreite und Latenz ab. Bei hoher Auslastung des Netzwerks oder bei geringer Bandbreite dauert die Migration deutlich länger.
12.1. Voraussetzungen der Live-Migration
Für die Migration von Gästen müssen die folgenden Voraussetzungen erfüllt sein:
Migrationsvoraussetzungen
Ein virtualisierter Gast, installiert auf gemeinsam verwendetem Netzwerkspeicher, unter Verwendung eines der folgenden Protokolle:
Fibre Channel
iSCSI
NFS
GFS2
Zwei oder mehr Fedora-Systeme derselben Version mit denselben Aktualisierungen.
Auf beiden Systeme müssen die entsprechenden Ports offen sein.
Beide Systeme müssen eine identische Netzwerkkonfiguration besitzen. Sämtliches Bridging und sämtliche Netzwerkkonfiguration muss auf beiden Hosts genau übereinstimmen.
Gemeinsam verwendeter Speicher muss auf dem Quell-Host und dem Ziel-Host an derselben Stelle eingehängt sein. Der Name des eingehängten Verzeichnisses muss identisch sein.