Ratgeber Live-Migration

Virtualisierung mit Microsoft Hyper-V im Cluster

18.02.2011 von Thomas Joos
Wer für die Server-Virtualisierung Microsoft Hyper-V einsetzt, kann mit einem Cluster die Ausfallsicherheit der IT deutlich erhöhen. Dieser Workshop beschreibt, wie die Live-Migration in der Praxis klappt.

Für einen Clustering-Betrieb von Microsoft Hyper-V im Zuge einer Server-Virtualisierung bedarf es zunächst einiger vorbereitender Aufgaben: Im ersten Schritt installieren Sie ein klassisches Cluster-System unter Einsatz des Windows Server 2008 R2. Dieser Vorgang gleicht demjenigen auf einem Standalone-Server. Sie müssen jedoch beim Einrichten des virtuellen Networks für Hyper-V darauf achten, dass die Bezeichnung dieser Verbindung auf beiden Rechnerknoten exakt identisch ist.

Hyper-V im Cluster erfordert Windows Server 2008 R2.

Richten Sie neue virtuelle Maschinen (VMs) im Cluster ein, ist es erforderlich, dass die Dateien der virtuellen Server auf dem gemeinsamen Datenträger des Clusters liegen. Fällt ein aktiver Rechnerknoten aus, kann auf diese Weise der bisher passive Rechner die Dienste der virtuellen Server übernehmen. Auf dem gemeinsamen Datenträger müssen auch die virtuellen Hard Disks der virtuellen Server liegen. Um einen virtuellen Rechner im Cluster nutzen zu können, sind nun noch einige Einstellungen zu erledigen.

Mehr zum Thema Virtualisierung

Als erstes gehen Sie in die Eigenschaften des virtuellen Computers und klicken auf die Ansicht Verwaltung/Automatische Startaktion. Achtung: Hier sollte Keine Aktion ausgewählt sein. Den unterbrechungsfreien Betrieb eines virtuellen Servers gewährleisten Sie mit Hilfe der Failover-Cluster-Verwaltung. Dieser Punkt wird unten noch näher erläutert. Microsoft stellt in seinem TechNet Informationen zu Hyper-V R2 und Szenarien zur Live-Migration zur Verfügung.

Live-Migration und Quick-Migration im Überblick

Bei der Live-Migration können Sie virtuelle Computer von einem Host auf einen anderen Host übertragen, ohne dass Benutzer Daten verlieren oder von den Servern getrennt werden. Die Server sind während der Übertragung zwischen den Clusterknoten weiterhin aktiv. Die VHD-Dateien müssen hierfür auf dem gleichen gemeinsamen Datenträger (CSV, Cluster Shared Volume) liegen.

Der große Unterschied zur Quick-Migration in Hyper-V V1, zum Beispiel in Windows Server 2008, besteht darin, dass die Maschinen während der Übertragung aktiv bleiben und auch der Arbeitsspeicherinhalt zwischen den Servern übertragen wird. Bei der Quick-Migration werden die Maschinen erst deaktiviert, kein Arbeitsspeicher zwischen den Knoten kopiert und dann verschoben. Windows Server 2008 R2 beherrscht neben der Live-Migration natürlich auch weiterhin die Quick-Migration.

Gemeinsame Sache: Cluster Shared Volumes in Windows Server 2008 R2 für die Live-Migration von Hyper-V nutzen.

Beide Clusterknoten müssen mit identischer Hardware arbeiten, insbesondere hinsichtlich der Prozessorausstattung Der wichtigste Punkt bei der Live-Migration ist die Echtzeitübertragung des Arbeitsspeicherinhalts zwischen den Clusterknoten; daher ist es auch extrem wichtig, dass es sich um die gleichen Prozessortypen handelt. Basis der Technik ist ein Cluster mit Windows Server 2008 R2, daher können Sie nur die Enterprise Edition und Datacenter Edition von Windows Server 2008 R2 dazu verwenden. Durch die Möglichkeit, laufenden virtuellen Maschinen Hardware hinzuzufügen, lassen sich diese leichter zwischen Hosts verschieben. Neben der Enterprise und Datacenter Edition von Windows Server 2008 R2 unterstützt auch Hyper-V-Server 2008 R2 die Live-Migration.

Hyper-V R2 ist für die neuen Prozessoren von Intel und AMD optimiert, die Second-Level Address Translation (SLAT) und CPU Core Parking unterstützen. SLAT nutzt spezielle Erweiterungen in Intel- und AMD-Prozessoren, welche die Verwaltung des virtuellen Arbeitsspeichers beschleunigen. Das macht Virtuelle Maschinen schneller und spart zudem noch Arbeitsspeicher und CPU-Zeit, die der Hypervisor benötigt. Besonders wichtig für Live-Migration sind die Cluster Shared Volumes (CSV), eine neue Funktion von Clustern in Windows Server 2008 R2. Diese ermöglichen es, dass mehrere Server in einem SAN gleichzeitig auf einen gemeinsamen Datenträger zugreifen und damit dieselbe LUN verwenden können.

Start und Ablauf einer Live-Migration

Der Start einer Live-Migration kann entweder über die Clusterkonsole erfolgen, per Skript (auch PowerShell) oder über den System Center Virtual Machine Manager 2008 R2. Während des ganzen folgenden Ablaufs läuft die VM uneingeschränkt weiter. Der Prozess der Live-Migration lässt sich jederzeit abbrechen:

1. Beim Start einer solchen Migration baut der Quellserver eine Verbindung zum Zielserver auf, der die virtuelle Maschine in Echtzeit erhalten soll.

2. Anschließend überträgt der Quellserver die Konfiguration der VM auf den Zielserver.

3. Der Zielserver erstellt auf Basis dieser leeren Konfiguration eine neue VM, die der zu verschiebenden VM entspricht.

4. Anschließend überträgt der Quellserver die einzelnen Seiten des Arbeitsspeichers zur Ziel-VM in einer Standardgröße von etwa 4 KByte. In diesem Schritt zeigt sich die Geschwindigkeit des Netzwerks. Je schneller das Netzwerk ist, umso schneller wird der Inhalt des Arbeitsspeichers übertragen.

5. Als Nächstes übernimmt der Zielserver die virtuellen Festplatten des Quellservers für die zu übertragende virtuelle Maschine.

6. Anschließend setzt der Zielserver die virtuelle Maschine online.

7. Als Nächstes wird die virtuelle Hyper-V-Switch informiert, dass Netzwerkverkehr jetzt zur MAC-Adresse des Zielservers gesendet werden soll.

Live-Migration setzt voraus, dass der Clusterknoten, der die VM hostet, noch läuft. Das liegt daran, dass Live-Migration den Arbeitsspeicher des Hosts auslesen und zum Zielserver übertragen muss. Fällt ein Host aus, verwendet Hyper-V R2 eine normale Übertragung der virtuellen Maschinen auf andere Knoten. Die VMs müssen dazu neu starten.

Live-Migration einrichten

Für die Einrichtung der Live-Migration sind nur wenige Schritte erforderlich:

1. Installation von Hyper-V und des Cluster-Features auf den Clusterknoten.

2. Installation eines Clusters

3. Aktivieren von CSV

4. Erstellen von virtuellen Maschinen mit dem Hyper-V-Manager. Dateien der VMs liegen auf dem gemeinsamen Datenträger der als CSV konfiguriert ist.

5. Integration der VM in den Failover-Cluster.

Anpassung: Konfigurieren der Prozessorkompatibilität für eine VM in Hyper-V.

Hyper-V R2 bietet einen Processor Compatibility Mode, der verschiedene Features von Prozessoren ausschalten kann, wenn in Servern unterschiedliche Prozessoren zum Einsatz kommen. Für Produktivumgebungen ist diese Vorgehensweise aber nicht empfehlenswert. Verwenden Sie das Feature nur während einer Live-Migration. Auch beim Processor Compatibiliy Mode muss der Hersteller des Prozessors identisch sein. Der Modus lässt sich nur aktivieren, wenn eine VM ausgeschaltet ist.

Sie finden diese Option über Einstellungen/Prozessor im Bereich Prozessorkompatibilität für virtuelle Maschinen. Wenn Sie die Prozessorkompatibilität aktivieren, deaktiviert Hyper-V R2 verschiedene Techniken für Prozessoren.

Datensicherung und Snapshots bei Hyper-V im Cluster

Setzen Sie Hyper-V im Cluster ein, müssen Sie bei der Datensicherung und der Erstellung von Snapshots einige wichtige Punkte beachten. Sie sollten es möglichst vermeiden, Snapshots von laufenden virtuellen Maschinen in Clustern zu erstellen. SpielenSie nämlich einen solchen Snapshot zurück, setzt dieser nicht nur den Inhalt der virtuellen Festplatte zurück, sondern auch den des Arbeitsspeichers der VM.

Dieser Umstand macht vor allem im Zusammenhang mit der Live-Migration Probleme. Wenn Sie also Snapshots von VMs in einem Cluster durchführen wollen, dann fahren Sie die VM herunter. Auch wenn Sie einen Snapshot auf eine VM anwenden wollen, sollte Maschine nicht laufen. Sichern Sie einen Server über Schattenkopiedienste und verschieben Sie eine VM während der Sicherung, dann besteht die Möglichkeit, dass die Sicherung auf dem Zielserver nicht gestartet ist, sondern nur auf dem Quellserver läuft.

Die Sicherung greift in diesem Fall weiter auf den gemeinsamen Datenträger zu und sichert die VM zu Ende, allerdings nur als Kopie. Das kann bei einer Wiederherstellung ebenfalls zu Problemen führen. Aus diesem Grund sollten Sie eine Live-Migration möglichst nicht gleichzeitig mit einer Datensicherung durchführen.

Freigegebene Cluster Volumes - Cluster Shared Volumes (CSV) aktivieren

Um Hyper-V mit Live-Migration in einem Cluster zu betreiben, müssen Sie die neuen Cluster Shared Volumes für den Cluster aktivieren. Ein solches freigegebenes Laufwerk in einem Cluster ermöglicht den gleichzeitigen Zugriff aller Clusterknoten.

Normalerweise darf nur der aktuelle Besitzer des Clusters und der Laufwerksressource darauf zugreifen. Für die Live-Migration ist der gleichzeitige Zugriff jedoch unerlässlich. Damit das Laufwerk bei einem solchen gleichzeitigen Zugriff nicht zerstört wird, koordinieren die einzelnen Knoten im Cluster untereinander die Kommunikation. Aus diesem Grund muss das Betriebssystem auf allen Clusterknoten auf dem gleichen Laufwerksbuchstaben installiert sein, da der Cluster in diesem Laufwerk im Verzeichnis ClusterStorage wichtige Daten ablegt. Das Verzeichnis zeigt auf den gemeinsamen Datenträger und enthält auch dessen Daten. Diese liegen aber nicht tatsächlich auf der C-Platte des Clusters, sondern im gemeinsamen Datenträger, dessen Abruf auf das Verzeichnis C:\ClusterStorage umgeleitet wird.

Die VHD-Dateien der ausfallsicheren VMs, die Sie erstellen, liegen in diesem Verzeichnis. Auf die Dateien kann daher von allen Knoten gleichzeitig und in Echtzeit zugegriffen werden, ohne dass die Gefahr besteht, dass Datenträger zerstört werden. Fällt eine Netzwerkverbindung zum SAN von einem Knoten aus, verwendet der Knoten alternative Strecken, zum Beispiel über andere Knoten. Die virtuellen Maschinen, deren Dateien im CSV liegen, laufen uneingeschränkt weiter.

Schritt-für-Schritt - Cluster aktivieren

Gehen Sie folgendermaßen vor, um die Cluster zu aktivieren.

1. Starten Sie das Verwaltungsprogramm für den Failover-Cluster.

2. Klicken Sie mit der rechten Maustaste auf den Namen des Clusters.

3. Wählen Sie die Option Freigegebene Clustervolumes aktivieren aus.

4. Bestätigen Sie den Warnhinweis und klicken Sie dann auf OK.

5. Anschließend finden Sie in der Verwaltung für den Failover-Cluster den neuen Menüpunkt Freigegebene Clustervolumes. Hier müssen Sie anschließend noch die Volumes hinterlegen.

Um ein Laufwerk dem CSV hinzuzufügen, gehen Sie folgendermaßen vor:

1. Klicken Sie mit der rechten Maustaste auf den Menüpunkt Freigegebene Clustervolumes und wählen Sie Speicher hinzufügen.

2. Wählen Sie das oder die Laufwerke aus, die Sie hinzufügen wollen. Achten Sie darauf, dass der Assistent nur die Laufwerke anzeigt, die Sie dem Cluster hinzugefügt haben.

3. Klicken Sie auf OK, damit der Assistent die Laufwerke hinzufügen kann.

Bildergalerie:
Freigegebene Clustervolumes aktivieren
Aktivieren von CSV für einen Cluster.
Freigegebene Clustervolumes aktivieren
Anzeigen der freigegebenen Clustervolumes in der Clusterverwaltung.
Freigegebene Clustervolumes aktivieren
Anzeigen der Clusternetzwerke in der PowerShell.

Cluster in Windows Server 2008 R2 beherrschen Dynamic I/O. Das bedeutet: Wenn die SAN-Verbindung eines Knotens ausfällt, kann der Cluster den Datenverkehr, der für die Kommunikation zu den virtuellen Computern im SAN notwendig ist, automatisch über die Leitungen des zweiten Knotens routen, ohne dazu ein Failover durchführen zu müssen.

Sie können einen Cluster mit Windows Server 2008 R2 so konfigurieren, dass die Clusterknoten den Netzwerkverkehr zwischen den Knoten und zu den CSV priorisieren. Für einen schnellen Überblick, welche Netzwerkeinstellungen der Cluster zur Kommunikation mit dem CSV nutzt, starten Sie eine PowerShell-Sitzung auf dem Server und geben das CMDlet get-ClusterNetwork ein.

Allerdings funktioniert das CMDlet erst dann, wenn Sie die Befehle zur Clusterverwaltung mit dem Befehl Add-Module FailoverClusters in die PowerShell integrieren. Sie sehen natürlich auch in der Verwaltungskonsole des Clusters, welche Netzwerke vorhanden sind und welche der Server nutzen kann.

Live-Migration vorbereiten

Damit Sie Live-Migration nutzen können, müssen Sie zunächst auf allen Clusterknoten Hyper-V installieren, genauso wie auf herkömmlichen Servern, auf denen Sie Hyper-V betreiben wollen. Microsoft empfiehlt die Installation von Hyper-V und die Einrichtung des virtuellen Netzwerks vor jener des Clusters.

Aktionslos: Konfiguration für die automatische Startaktion einer virtuellen Maschine.

Die Installation von Hyper-V und die Festlegung der Netzwerke ändern einige Einstellungen der Netzwerkverbindungen. Auf Core-Servern installieren Sie Hyper-V mit dem Befehl Start /w ocsetup Microsoft-Hyper-V. Generell ist es empfehlenswert, dass Sie als Clusternetzwerk eine eigene Netzwerkverbindung einsetzen, die der Cluster nicht zur Kommunikation benötigt, sondern die Sie dediziert für Hyper-V verwenden.

Sie erstellen die virtuelle Maschine im Hyper-V-Manager wie jede andere Maschine auf einem herkömmlichen Server in Hyper-V. Rufen Sie anschließend über das Kontextmenü der neuen virtuellen Maschine die Einstellungen auf und klicken Sie auf Automatische Startaktion. Aktivieren Sie die Option Keine Aktion, da diese Einstellung für den Clusterbetrieb optimal ist.

Virtuelle Maschine im Cluster hinterlegen

Nachdem Sie die virtuelle Maschine erstellt haben, müssen Sie diese noch in der Verwaltungskonsole des Failover-Clusters als hochverfügbar konfigurieren, also im Cluster hinterlegen. Gehen Sie dazu folgendermaßen vor:

1. Starten Sie das Verwaltungsprogramm für Failover-Cluster.

2. Klicken Sie auf Dienste und Anwendungen mit der rechten Maustaste und wählen Sie Dienst oder Anwendung konfigurieren.

3. Wählen Sie als Dienst oder Anwendung die Option Virtueller Computer aus.

4. Wählen Sie auf der nächsten Seite die virtuellen Maschinen aus, die Sie im Cluster hinterlegen wollen.

5. Schließen Sie den Assistenten ab.

6. Mit der Schaltfläche Bericht anzeigen können Sie sich die Konfiguration der virtuellen Maschine im Cluster anzeigen lassen.

Wenn Sie mit der rechten Maustaste auf den virtuellen Computer klicken, sehen Sie, dass im Failovercluster-Manager auch die Steuerung der virtuellen Maschinen hinterlegt ist. Wählen Sie Virtuelle Computer starten aus. Dadurch wird die Ressource online geschaltet, und die virtuelle Maschine startet. Über das Kontextmenü können Sie sich jetzt mit dem virtuellen Computer verbinden und das Betriebssystem installieren.

Bildergalerie:
Virtuelle Maschine im Cluster hinterlegen
Virtuelle Computer als Dienst in einem Cluster hinterlegen.
Virtuelle Maschine im Cluster hinterlegen
Auswählen der Computer, die Sie für Live Migration vorsehen.
Virtuelle Maschine im Cluster hinterlegen
Hinterlegen einer virtuellen Maschine mit Hyper-V in einem Cluster.
Virtuelle Maschine im Cluster hinterlegen
Virtuelle Computer im Failovercluster-Manager verwalten.
Virtuelle Maschine im Cluster hinterlegen
Windows Server 2008 R2 in einer Live Migration-kompatiblen Hyper-V-Maschine installieren.

Standardmäßig kann die Live-Migration schon nach der Installation eines Clusters und der Integration von virtuellen Computern verwendet werden. Um das Clusternetzwerk auf optimale Unterstützung von Live-Migration zu konfigurieren, rufen Sie über das Kontextmenü des virtuellen Computers im Failover-Cluster-Manager die Eigenschaften auf. Hier können Sie eine Priorisierung der Netzwerke auswählen, die Live-Migration nutzen soll. Wenn Sie eine Live-Migration durchführen, verwendet der Assistent die Netzwerke in der hier festgelegten Reihenfolge.

Generell sollten Sie in einer Live-Migration-Umgebung nur Netzwerke verwenden, die kein Standard-Gateway eingetragen haben. Einstellungen, die Sie für eine virtuelle Maschine vornehmen, sind für alle anderen virtuellen Maschinen ebenso gültig.

Durchführen einer Live-Migration mit dem Failover-Cluster-Manager

Nun endlich können Sie eine Live-Migration durchführen. Klicken Sie den virtuellen Computer mit der rechten Maustaste an, wählen Sie die Option Livemigration des virtuellen Computers auf einen anderen Knoten ausführen und wählen den Knoten aus. Sie können zwar mehrere Live-Migrationen gleichzeitig durchführen, allerdings sollten Sie zwischen dem Start der einzelnen Migrationen immer einige Sekunden warten.

Los geht’s: Starten einer Live-Migration.

Bevor der virtuelle Computer auf dem Quellserver bei einer Live-Migration offline geschaltet wird, stellt der Clustermanager sicher, dass die Live-Migration funktioniert hat. Ist sie nicht erfolgreich durchgelaufen, bleibt der virtuelle Computer auf dem Quellserver aktiv.

Sie können auch die PowerShell 2.0 in Windows Server 2008 R2 für die Live Migration verwenden. Öffnen Sie dazu eine PowerShell und laden mit dem Befehl Add-Module FailoverClusters zunächst die notwendigen Befehle für die Verwaltung von Clustern. Anschließend können Sie mit dem folgenden Befehl eine Live-Migration im Cluster starten:

Get-Cluster "<Cluster-Name>" | Move-ClusterVirtualMachineRole -Name "<VM>" -Node "<Ziel-Knoten>". (wh)

Dieser Artikel basiert auf einem Beitrag der CW-Schwesterpublikation TecChannel.de