Linux (Debian Lenny) Server von VMWare Virtalserver nach MS Hyper-V Server 2008 R2 Migrieren

VMWare Server soll zu einem MS Hyper-V Server werden und es sollen alle Gastsysteme übernommen werden.

Das Problem:

Beim anlegen eines Gastsystems nimmt VMWare Server an, dass die Festplatte(n) an einen virtuellen SCSI-Kontroller angeschlossen sind.
Dies ist beim MS Hyper-V Server nicht der Fall, da virtuelle SCSI-Kontroller hier, zu 100% virtuell erstellt werden und daher erst zur laufzeit des Gastbetriebssystems auf Festplatten am virtuellen SCSI-Kontroller zugegriffen werden kann. Daher ist das Booten von virtuellen SCSI-Festplatten, mit dem Hyper-V Server, nicht möglicht.

Das Gast-Linux soll aber trotzdem auf den Hyper-V Server umziehen.

Lösung:

Dieses Verfahren ist mit Debian Lenny/Etch bereits getestet und sollte auch bei anderen Linuxdistributionen funktionieren.

  1. Als erstes muss die virtuelle Laufwerksdatei <server>.VDMK nach <server>.VHD Konvertieren werden. Dies gelingt mit dem Tool Vdmk2Vhd.
  2. Als nächstes leget man auf dem neuen Hyper-V Server einen neuen virtuellen Gast an.
    Dabei ist darauf zu achen, dass ein vorhandenes Laufwerk (das gerade eben konvertierte) ausgewählt wird.
    Zusätzlich muss eine neue „Alte Netzwerkkarte“ hinzufügen.
    Mit der Netzwerkkarte die standardmäßig hinzugefügt wird, kann Linux ohne zusätzliche Treiber nichts anfangen.
  3. Gastsystem booten.
  4. Warten bis die Meldung (initramfs) auf dem Bildschirm zur Eingabe auffordert.
  5. Ein neues Verzeichnis erstellen, in das, im nächsten Schritt, die Festplatte gemountet werden kann. (z. B. mkdir /mnt)
  6. Da die Festplatte jetzt an einem virtuellen IDE-Kontroller hängt, mounten wir jetzt die HDA1:
    mount -t <dateisystem> /dev/hda1 /<oben erstelltes Verzeichnis>
    z.B. mount -t ext3 /dev/hda1 /mnt
  7. ändern der Dateien /etc/fstab und /boot/grub/menu.lst
    vi /mnt/etc/fstab <– in dieser Datei alle Strings „sda“ in „hda“ ändern
    vi /mnt/boot/grub/menu.lst <– auch hier alle „sda“ in „hda“ ändern
  8. reboot

VI tipps:
suchen mit                       /<suchbegriff>
Zeichen ändern mit          r  <neues Zeichen>
speichern und exit mit     : x

Sollte, wieder erwarten, die Netzwerkkarte doch noch nicht funktionieren, kann es daran liegen, dass in der datei /etc/udev/rules.d/70-persistent-net.rules ein falscher Eintrag steht.
Kommentiert, alle Zeilen begginend mit „SUBSYSTEM==“net“, ACTION==“add“, DRIVERS==“?*“, ATTR{address}==…“, aus. Danach nocheinma neu starten und es sollte alles wieder funktionieren wie gehabt.