Hyper-V VM verschieben per PowerShell

In der Regel lassen sich Livemigrationen bei Hyper-V Servern über die grafische Oberfläche durchführen. Dank eines des recht guten Assistenten gestaltet sich das auch nicht all zu schwierig. Was aber, wenn der Hyper-V Server in einer Windows Server Core Version installiert wurde? Hier bleibt nur der Weg, die VM per PowerShell zu verschieben.



Eine VM verschieben per PowerShell

Die Migration einer virtuellen Maschine zwischen zwei Hyper-V Servern funktioniert auch über die Windows PowerShell sehr zuverlässig. Das hierfür zuständige CMDLET heißt Move-VM.

Hiermit kannst Du sämtliche Verschiebeanforderungen umsetzen. Egal, ob nur die VM verschoben werden soll oder auch die dazugehörigen virtuellen Festplatten (vhdx, vhd) sowie Snapshots. Voraussetzung ist natürlich, dass die beteiligten Hyper-V Server für die Live- oder Speichermigration konfiguriert wurden (siehe Hyper-V Einstellungen).

Wichtig: Es ist darauf zu achten, dass der virtuelle Switch auf beiden Hyper-V Servern den gleichen Namen trägt. Sollte die Benennung des virtuellen Switches abweichen, so empfiehlt es sich, diesen auf einem der beiden Server vorher umzubenennen. Das ist im laufenden Betrieb möglich mit dem CMDLET Rename-VMSwitch. Der Vorgang wird nicht gestartet wenn die Namen nicht identisch sind.

Virtuellen Switch umbenennen in Hyper-V

In meinem Beispiel habe ich mit dem folgenden Befehl eine komplette Livemigration einer Hyper-V VM, inklusive Storage, per PowerShell durchgeführt:

Move-VM SRV-TEST -DestinationHost HyperVNode2 -IncludeStorage -DestinationStoragePath "D:\SRV-TEST\Virtual Hard Disks"
HyperV VM verschieben per Powershell
VM verschieben per PowerShell – Die Ausgabe der PowerShell zeigt Dir den aktuellen Stand der Verarbeitung an.

Nützliche Parameter beim Verschieben einer VM

Bei der obigen Verschiebeanforderung habe ich die VM mit dem Namen SRV-TEST auf den Hyper-V Server HyperVNode2 verschoben. Dazu habe ich auch den gesamten zu der VM gehörenden Speicher verschoben (IncludeStoragePath) und mittels DestinationStoragePath auch den neuen Ablageort bestimmt.

Darüber hinaus lassen sich noch weitere Konfigurationsparameter beim VM verschieben per PowerShell mitgeben:

  • RetainVHDCopiesOnSource
    Diese Option verhindert, dass die virtuellen Festplatten nach dem Verschieben auf dem Quellserver entfernt werden.
  • SnapshotFilePath
    Hiermit lässt sich das Zielverzeichnis für Snapshots auf dem Zielserver festlegen.
  • VirtualMachinePath
    Legt den Zielpfad für die Konfigurationsdateien der VM fest.
  • WhatIf
    Zeigt an, was passieren würde, wenn der Befehl ausgeführt wird.

Eine vollständige Referenz über das CMDLET Move-VM findest Du auf dieser Seite: https://technet.microsoft.com/de-de/library/hh848547.aspx.

Auch interessant:

Dieser Artikel ist wie alle anderen auf dieser Seite kostenlos für Dich und ich hoffe, ich konnte Dir weiterhelfen. Wer möchte, kann diesem Blog eine kleine Aufmerksamkeit in Form einer kleinen Spende (PayPal) oder über die Amazon Wunschliste zukommen lassen.

Schreibe einen Kommentar