VMs mit vSphere vMotion auf andere Hosts oder Cluster verschieben


    Tags: ,

    Arbeitsschritte des vMotion-Assistenten im vSphere ClientSind alle Voraus­setzungen für vMotion erfüllt, dann kann man sich daran machen, virtu­elle Maschinen im laufenden Betrieb auf einen anderen Host oder Cluster umzu­ziehen. Diese Aufgabe lässt sich wahl­weise mit dem Assi­stenten im vSphere Client oder über die Kommando­zeile, etwa mit PowerCLI, erledigen.

    vMotion ist die Basis­technologie für ein automatisiertes Load-Balancing mit Distributed Resource Scheduler (DRS). Dabei erfolgt der Umzug von virtuellen Maschinen selbständig mittels Algorithmen für die Last­verteilung. Allerdings gibt es auch Anlässe für eine manuelle VM-Migration, etwa wenn man einen Server warten muss und deshalb alle Workloads von diesem Host evakuieren möchte.

    vMotion im vSphere Client

    Eine Verschiebe­operation startet man ganz einfach über den Befehl Migrate aus dem Kontextmenü einer VM. Dieser ruft einen Assistenten auf, der im ersten Schritt eine Entscheidung zwischen mehreren vMotion-Varianten verlangt.

    Zur Auswahl stehen ein einfaches vMotion (Change compute ressource only), Storage vMotion (Change storage only), oder ein Shared Nothing vMotion (Migrate the virtual machine to a specific host or cluster and their storage to a specific datastore oder datastore cluster).

    Der vMotion-Assistent erwartet am Anfang die Auswahl eines Typs für die Migration.

    In Falle eines normalen vMotion prüft das Tool nur, ob alle Voraussetzungen erfüllt sind. Ist das nicht der Fall, weist die vMotion-Kompatibilitäts­prüfung schon beim Anstoßen der Funktion auf etwaige Probleme hin (durch einen gelben oder roter Alarm).

    Neben Hosts und Cluster lassen sich auch Resource Pools und vApps als Ziel für vMotion auswählen.

    Während eine Warnung den vMotion-Vorgang nicht zwingend blockiert, wird ein rot markiertes Ergebnis den Vorgang definitiv verhindern. Ein solches tritt zum Beispiel auf, wenn die VM mit einem Host-CD-Device verbunden ist.

    Warnungen bei der vMotion-Kompatibilitäts­prüfung führen nicht unbedingt zum Abbruch der Operation.

    Schließlich kann der Nutzer am Ende des Dialogs festlegen, ob vSphere die Verschiebe­operation mit hoher Priorität ausführen soll, um die Dauer der Operation zu verkürzen.

    Priorität der vMotion-Operation festlegen

    Der Verlauf der Migration lässt sich im Reiter Recent Tasks verfolgen. Dass die Konnektivität dabei gewähr­leistet bleibt, kann man leicht prüfen, indem man bei laufender VM in der VM-Konsole ein Netzwerkziel, zum Beispiel das Default-Gateway anpingt.

    Während der Ziel-Host die MAC-Adresse der VM vom Quell-Host übernimmt, wird im Rahmen eines Gratuitous ARP-Requests maximal 1 Ping verloren gehen.

    vMotion mit PowerCLI auslösen

    Virtuelle Maschinen lassen sich nicht nur über die GUI des vSphere Client auf einen anderen Host oder Cluster verschieben, vielmehr geht das auch über die Kommando­zeile. In PowerCLI ist dafür das Cmdlet Move-VM zuständig.

    Nachdem man sich mit

    Connect-VIServer -Server vcsa.contoso.com

    an einem vCenter-Server angemeldet hat, würde ein einfacher Aufruf nach diesem Muster eine vMotion-Operation anstoßen:

    Get-VM -Name "myVM" | Move-VM -Destination ZielHost.contoso.com

    Natürlich könnte man hier die Möglichkeit von Get-VM nutzen, um VMs nach diversen Kriterien zu filtern, bevor man sie an Move-VM übergibt.

    Migriert man zusätzlich die virtuellen Laufwerke auf ein anderes Storage, dann teilt man das Move-VM über den Parameter Datastore mit. Dabei besteht auch gleich noch die Möglichkeit, mit DiskStorageFormat das VMDK-Format zwischen Thin, Thick, und EagerZeroedThick zu ändern.

    Keine Kommentare