VMware Virtual Machine von Version 2.0 nach ESXi konvertieren

Bei der Migration von alten VMware-Servern nach ESXi muss hin und wieder eine virtuelle Maschine konvertiert werden. Zwar bieten solche Migrationen stets eine gute Möglichkeit, um Systeme bereinigt absolut frisch aufzusetzen, manchmal ist es aber nicht nur bequemer die alte Umgebung zu behalten sondern auch die vom Zeitaufwand her einzig bezahlbare Lösung. Hierzu sind auch nur wenige Schritte erforderlich:

  1. VM anhalten
  2. vorhandene Snapshots löschen
  3. VM in Datenspeicher (NetAPP oder was auch immer) kopieren
  4. Konvertierung durchführen (Konsolenbefehl siehe unten)
  5. Konfiguration anpassen
  6. im VMware vSphere Client im Datenspeicher die virtuelle Maschine suchen und integrieren
  7. migrierten Host starten

Falls der Host sehr groß ist und die Konvertierung entsprechend lange dauert, kann man die alte VM natürlich zwischendurch noch mal hochfahren - neue Änderungen gehen dann aber selbstverständlich verloren. Davon ausgehend, dass eine NetApp eingesetzt wird, der Host “meinevm” auf dem im ESXi verfügbaren vol1 liegt und als Zielverzeichnis der Konvertierung meinevm.new vorhanden ist, führt man folgende Befehle auf der ESXi-Konsole (vorübergehend ssh aktivieren) aus:

# cd "/vmfs/volumes/NetApp vol1"
# vmkfstools -i "meinevm/meinevm.vmdk" "meinevm.new/meinevm.vmdk" -d
zeroedthick

Für andere Umgebungen muss man dies nur entsprechend anpassen. Wichtig ist, dass die Snapshots vorher(!) gelöscht werden, da die Konvertierung sonst merkwürdiger Weise nicht die aktuelle Version sondern den Snapshot in die ESXi-Version umwandelt. Der ESXi unterstützt auch nicht mehr die alten gesplitteten Volumedateien, stattdessen gibt es ein “flat-File”. Nach der Konvertierung löscht man also die ursprünglichen Volumedateien und kopiert das Ergebnis ins Verzeichnis der VM. Da die ESXi-Konsole nicht gerade komfortabel ist, macht man das idealer Weise von einem normalen Linuxserver aus.

# mv /mnt/vol1/meinevm.new/* /mnt/vol1/meinevm/
# rm /mnt/vol1/meinevm/meinevm-f00*
# rm -r /mnt/vol1/meinevm.new/

Abschließend muss nur noch die vmx-Datei manuell angepasst werden. Dafür hilfreich ist eine Vergleichsmöglichkeit mit einer bereits laufenden virtuellen Maschine mit ähnlicher (virtueller) Hardwarekonfiguration. In 99% der Fälle interressieren nur wenige Zeilen, nämlich die für scsi0:0, ide1:0 und die Netzwerkzeile. Die alten LW-Definitionen können im Regelfall einfach gelöscht werden. Dafür fügt man beispielsweise folgende ein:

scsi0:0.present = "TRUE"
scsi0:0.fileName = "AdServer.vmdk"
scsi0:0.deviceType = "scsi-hardDisk"
ide1:0.present = "TRUE"
ide1:0.clientDevice = "FALSE"
ide1:0.deviceType = "cdrom-image"
ide1:0.startConnected = "FALSE"

Oft steht in der .vmx weiter unten nochmals die CD-ROM-connected-Zeile, auch diese einfach löschen. Bei der Netzwerkkonfiguration muss man das „Bridged“ durch „VM Network“ ersetzen, und zusätzlich kann man auch noch das guestOS auf eine evtl. aktuellere/passendere Version anpassen.

Jetzt muss die Machine nur noch wie gewohnt über vSphere integriert und gestartet werden.

Getestet wurde die obige HowTo auch auf dem kürzlich erschienenen ESXi 5, auf den älteren 4ern läuft es exakt genauso. VMs mit Debian in den Versionen 5 und 6 lassen sich kinderleicht migrieren. Bei einem betagten Windows 2000 Server hingegegen müssen noch einige Hürden überwunden werden. Unter Umständen wird der so konfigurierte virtuelle Datenträger nicht erkannt, dann muss man in vSphere in den Einstellungen nachhelfen und das Laufwerk hinzufügen. Auch das Netzwerk ist etwas tricky, da oft die Treiber nicht erwartungsgemäß funktionieren. Wer über solche Probleme stolpert, sollte einfach in vSphere zusätzliche Netzwerkadapter hinzufügen und mit diesen im w2k Server testen.

Eine Reaktion zu “VMware Virtual Machine von Version 2.0 nach ESXi konvertieren”

  1. admin

    Keywords: VMware Migration HowTo Anleitung, Wie konvertiert man einen VMware-Server 2.0.2 nach ESXi 5.0? Gesplittete 2 GB Volumes von VMware nach ESXi umwandeln.

Einen Kommentar schreiben