Citrix XenServer VM nach Hyper-V Cluster migrieren

Anbei ein kurzer Blog wie man eine Migration von einem „Citrix XenServer VM“ zu einem „Hyper-V“ durchführt. Ich zeige hier einen von vielen Wegen auf.
Sollte das IT-Budget bei Ihnen locker sitzten 😉 dann greifen Sie zu Tools wie V2V oder anderen Management Tools. Da Citrix auch das vhd Format nutzt, wie Microsoft, müssen wir uns um die vDisk nicht kümmern 🙂 Der Ablauf ist recht simpel, deshalb spare ich mir eine detaillierte bebilderte Anleitung. 😉

Voraussetzung:
Citrix XenServer 5.6 – 6.2
Window Server 2012 R2 Hyper-V Cluster

Bevor wir anfangen, möchte ich drauf hinweisen, dass die Anleitung nicht für einen Produktivbetrieb genutzt werden sollte. Der Einsatz erfolgt auf eigene Gefahr, ich übernehme keine Haftung für Schäden!

Migration:
1. Fahren Sie die VM in der Citrix XenServer Umgebung herunter.

2. Verbinden Sie sich via „ssh“ mit dem Citrix XenServer Host um die
„uid“ des „vhd Files „ abzufragen

'##########################################
'#Anzeigen des vhd-Files in der xsconsole
'##########################################
xe vm-disk-list name-label=MyServerName

3. Sie sollten sich noch die „uid“ des „vhd-Files“ notieren

4. Kopieren Sie sich das „vhd-File“ vom Citrix XenServer auf den Hyper-V in einem temporären Bereich

5. Erstellen Sie im Cluster eine „Generation2 VM“ ohne eine vDisk.

6. Kopieren Sie nun das zuvor temporär gepeicherte „vhd-File“ in den Hyper-V Datastore

7. Binden Sie nun das „vhd-File“ an die soeben erstellte „Generation 2 VM“

8. Starten Sie die VM

9. Deinstallieren Sie die Citrix XenServer Tools

10. Rebooten Sie das System

11. Nach dem Reboot melden Sie sich an das System an.

Beachten Sie, dass das Login einwenig dauern kann, da ihre VM zu diesem Zeitpunkt keine Netzwerkanbindung hat

12. Installieren Sie nun die Hyper-V Interagtion Services

13. Führen Sie ein Reboot durch

14. Nach dem Reboot melden Sie sich an das System an.

(Beachten Sie, dass das Login einwenig dauern kann, da Ihre VM zu diesem Zeitpunkt keine Netzwerkanbindung hat)

15. Konfigurieren Sie die Netzwerkkarte der VM neu, da sich die virtuelle Hardware von Citrix XenServer auf Hyper-V geändert hat 😉

Das war’s, die Migration ist erfolgt und VM sollte nun lauffähig sein 🙂

Nacharbeiten:

Sie sollten das vhd File nach vhdx konvertieren nutzen Sie dazu den nachfolgende Powershell Befehl.
'##########################################
'#Konvertieren einer vhd nach vhdx
'##########################################
Convert-VHD -path myDisk.vhd -DestinationPath myDisk.vhdx

Ich hoffe, ich konnte Ihnen einen kleinen Einblick geben. Sollten Sie Fragen haben, so scheuen Sie nicht, mich zu kontaktieren. Nutzen Sie hier die “Kommentar Funktion” des Blogs oder wenn es Ihnen lieber ist via E-Mail.

Weiter Blogs folgen in den nächsten Tagen. Ich würde mich sehr freuen, wenn Sie wieder vorbeischauen.

12 Gedanken zu „Citrix XenServer VM nach Hyper-V Cluster migrieren

  1. Paul Baumann

    Hallo,
    der Artikel ist ja ganz interessant. Da ich mich mit Citrix mehr oderweniger gar nicht auskenne und es auch dauernd Probleme mit dem ISCSI Storage gibt. Da verlieren die Xen-Server fast jedes Mal bei jeden Neustart die einzelnen VM-Storages. Mir ist das jetzt zu blöd jedes Mal detach and reattach durchzuführen. Erklärt wird bei Citrix auch nicht viel und wenn dann nur in English.
    Ich habe daher beschlossen Citrix Xenserver abzuschaffen und stattdessen auf MS Hyper-V 2012 zu wechseln. Da kennt man sich wenigstens aus und es auch was erklärt es ist einfach viel mehr Info hierzu im Netz.
    Nach diesem Prolog zu meiner Frage.
    Wie gesagt der Artikel ist gut geschrieben und ich würde ihn al Grundlage für meine Migration nehmen wollen.
    Ich habe hier XEN 6 Server stehen, da ist nirgends was zum Kopieren von VHD-Files zu finden.
    Es gibt Export xva und ova.
    Vielleicht noch eine kurze Anleitung wäre nett, wie ich an die VHD-Files komme, wo die sind um sie kopieren zu kennen bzw. wie die kopiert werden

    Erstmal danke im Voraus
    Ciao Paul

    1. Daniel Medic Beitragsautor

      Hallo Herr Baumann,

      Sie haben mehrere Möglichkeiten.

      Option 1
      1. Shutdown der VM
      2. Export in das xva Format
      3. Mit Den Inverter dann in das vhd Format
      4. VM auf dem Hyper-V erstellen mit gleichen Spezifikation en (RAM, CPU etc.)
      5. VHD einbinden

      Option 2
      1. Ein NAS SR auf Basis NFS zur Verfügung stellen
      2. VM Herunterfahren um ein Storage möge durchzuführen
      3. Dann hat man auf dem File basierten SR auch die vhd’s
      4. Nun wie in meinen Blog fortfahren

      Ich hoffe ich konnte ein wenig helfen.
      Gruß
      Daniel Medic

    1. Daniel Medic Beitragsautor

      Hallo Marko
      Geht auch wenn und zwar wenn die vDisk im vhd und nicht im vhdx format vorliegt und der XenDatastore NFS ist. Anbei ganz grob beschrieben.

      1. Xen seitig eine VM anlegen
      2. Die Disk der XenVM durch das Diskfile des Hyper-V ersetzen. Hyper-V Disk muss den Namen der Xen Disk bekommen
      3. VM booten und XenTool installieren

      Gruss
      Daniel Medic

  2. Robsen

    Hi.

    Vielen Dank für den Post. Ein kleiner Typo hat sich in dem Befehl eingeschlichen, der die UUID der VHDs anzeigt:

    xe vm-disk-list name-lable=…

    korrekt:
    xe vm-disk-list name-label=…

  3. Alex

    Hallo !

    danke für den Beitrag.
    Kann es sein, dass diese Lösung aber nur funktioniert, wenn die Maschinen auf einem iSCSI liegen? Ist es nicht so, dass XEN auf lokalem Storage bzw. auf Storages die per SAS oä angebunden sind die Maschinen per LVM den Speicherplatz zur Verfügung stellt und nicht als VHD?

    Falls ich mich irre wäre es, hast du evtl einen Tipp, wo ich auf lokalem Storage bzw. SAS storage die VHDs finden kann.

    Beste Grüße,

    Alex

    1. Daniel Medic Beitragsautor

      Hallo Alex

      Ich habe mir das soeben angeschaut. Auf einem NFS oder iSCSI Shared Storage liegen die Daten im .vhd Format vor.
      Versuch Dich mal mit der Console zu verbinden und gibt den Befehl „Mount“ ein dann werden Dir die SR bzw. die Storage Mountpunkte angezeigt.
      Wechsel dann in das Verzeichniss /var/…sr-mount/ gefolgt von den UID’s dort sollten die VHD Files liegen.

      Leider habe ich keine LokalePlatten an den XenServern die booten via iSCSI und der SR liegt auf ein NFS Server. Laut Citrix Doku wird immer im VHD Format gespeichert 😉

      gruß
      Daniel

      1. Alex

        Hallo nochmal,

        ich habemir das nochmal angesehen. Über mount bekomme ich nichts in die Richtung angezeigt, weil ich die lokalen Platten ja nicht mounten muss.

        Wenn ich mir über lvdisplay die LVs anzeigen lasse, dann sehe ich exact die einzelnen Platten, die ich den VMs zugeordnet habe, jeweils mit der entsprechenden UUID gelabelt, die ich übber den Befehl aus dein Anleitung angezeigt bekomme.

        Daher vermute ich, dass man bei lokalen Storages wohl nicht um einen export herum kommt.

        Beste Grüße,

        Alex

  4. Exent

    Hallo,
    Danke für die Anleitung.
    Kannst Du bitte Schritt 4-7 noch etwas detaillierter evtl. mit Befehlen oder Screenshots erweitern.
    Besten Dank

    1. Daniel Medic Beitragsautor

      Hallo
      Ich versuch das ganze mal einwenig zu erläutern.
      Die VM die migriert werden soll liegt ja auf dem XenServer bzw. auf einem Datastore (FileServer/iSCSI).
      Die VM wird in einem vhd File gespeichert dieses vhd File muss nun rüber auf dem Hyper-V bzw. in den Hyper-V Datastore.
      Als nächstes legt man eine neue VM auf dem Hyper-V (OHNE DISK!!!) an und teilt dieser VM mit wo das vhd File liegt.
      Diese kann man unter den Settings der VM machen.

      Ich hoffe das diese einweing Licht ins dunkle bringt.
      Gruß
      Daniel Medic

Schreibe einen Kommentar zu Daniel Medic Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

7 − fünf =