Step-by-Step: Wie migriere ich virtuelle Maschinen von VMWare Server 1.x und 2.x auf ESXi
ESX und ESXi von VMWare ist derzeit in aller Munde und natürlich besser und ressourcensparender als der alt bekannte VMWare Server welcher langsam ausdient. Viele stehen noch vor der Schwierigkeit alte VMs, welche auf VMWare Server unter einen Windows oder Linux Server laufen auf die ESX(i) Umgebung umzuziehen. Allerdings ist der Vorgang weniger kompliziert als erwartet.
Ist Situation:
Wir haben einige Virtuelle Maschinen (VMs) auf einem alten VMWare Server 1.x oder 2.x unter einenm Windows oder Linux Betriebssystem laufen, welcher nun durch einen ESX(i) Server ersetzt werden soll. Der ESX(i) Server ist in meinem Fall parallel installiert. Wer das Szenario am selben Server durchführen möchte, muss sich sämtliche Virtuelle Maschinen sichern und auf einen Netzwerkstorage oder USB Festplatte, etc. kopieren. Es gibt nun 3 Möglichkeiten um an das gleiche Ziel zu gelangen.
- Möglichkeit 1: Transfer via VMWare Converter am VMWare Server (cold)
- Möglichkeit 2: Transfer via VMWare Converter direkt in der Virtuellen Maschine (hot)
- Möglichkeit 3: Transfer der vmdk (Virtuellen Festplatten) Dateien und Konvertierung in das neue Format (cold)
Ich möchte hier auf die 3. Möglichkeit eingehen und die Virtuellen Maschinen manuell transferieren, da mir der VMWare Converter zu viel Zeit in Anspruch nimmt und der Transfer via vmdk Files schnell und unkompliziert durchführbar ist. Voraussetzung für den Transfer von VMWare Server auf ESX(i) ist allerdings dass die Virtuelle Festplatte als SCSI Device und nicht als IDE Device eingebunden ist. Herausfinden lässt sich das Ganze in den Einstellungen der entsprechenden VM. (wie im Screenshot ersichtlich) Wenn die Platten als IDE Device gekennzeichnet sind solltet ihr folgenden Guide befolgen um sie umzuwandeln: Converting a Virtual IDE Disk to a Virtual SCSI Disk
Nun werden die Virtuellen Festplatten Dateien via SCP auf den ESXi Server übertragen.
Wenn die Virtuellen Disks (vmdk’s) nun auf SCSI gestellt sind kann mit dem Transfer auf den neuen ESX(i) Server begonnen werden.
Linux: der scp Befehl ist auf den meisten Distributionen vorhanden und kann für den Transfer verwendet werden.
Windows: hier kann ein beliebiges scp Programm benutzt werden. Gängig ist hier WinSCP welches OpenSource und ziemlich einfach zu bedienen ist.
Als erstes fahren wir die Virtuelle Maschine ordnungsgemäß herunter. Kein Pausieren
Sobald die Virtuelle Maschine heruntergefahren ist suchen wir uns den Ordner, welcher die entsprechenden .vmdk Dateien beinhaltet. zB:. D:\vms\vmserver1\hdd oder /vms/vmserver1/hdd
Diese vmdk Dateien stellen die Virtuellen Festplatten für die VMsdar. In meinem Beispiel hdd0* und hdd1*. Diese Files benötigen wir nun auch auf unserem ESXi Server.
Dazu kopieren wir die Dateien per SCP auf unseren ESXi Server. Die Zugangsdaten (root) werden hierfür benötigt. Die Dateien werden dann in ein temporäres Verzeichnis geladen, da wir diese noch in ein anderes Format konvertieren müssen. zB:. /vmfs/volumes/datastore1/copyvmserver1
Nun kommt es auf die Größe der zu übertragenden Virtuellen Maschine an. Wenn mehrere GBs über eine Internetverbindung transferiert werden müssen kann das schon mal einige Zeit in Anspruch nehmen.
[sam id=’2′ codes=’true‘]Erstellen einer neuen Virtuellen Maschine am ESX Server
Ist der Transfer erfolgreich abgeschlossen, wird nun am ESX Server eine neue Virtuelle Maschine erstellt, welche später unsere virtuellen Festplatten darstellen wird. Ich werde hier nicht näher darauf eingehen wie man auf dem ESX Server eine neue Virtuelle Maschine erstellt, da dieses Grundwissen vorausgesetzt wird. Achtet beim Erstellen nur darauf dass ihr bei Guest Operating System auch das Betriebsystem angebt welches sich auf den Virtuellen Festplatten befindet. Welche Angaben ihr bei „Create a Disk“ macht ist belanglos da wir diese später ohnehin wieder löschen werden.
Konvertieren der bestehenden Virtuellen Disks auf das ESXi Format
Damit ESXi nun die alten Disks, welche wir auf den Server kopiert haben verwenden kann, müssen diese zuerst konvertiert werden.
Dazu wechseln wir in den Pfad, wo die alten vmdk Files liegen und Konvertieren diese in eine neue File, welche beliebig benannt werden kann. Beachtet dabei dass aus mehrere vmdk Dateien nun eine einzige Datei generiert wird.
cd /vmfs/volumes/datastore1/copyvmserver1
vmkfstools -i hdd0.vmdk -d zeroedthick hdd0_esx.vmdk
Der Vorgang wird je nach Größe der Disk einige Zeit in Anspruch nehmen und muss auch für weitere vorhandene Disks (hdd1) durchgeführt werden. Danach wird die konvertierte Disk in das Verzeichnis verschoben wo wir unsere Virtuelle Maschine angelegt haben.
mv /vmfs/volumes/datastore1/copyvmserver1/hdd0_esx.vmdk
/vmfs/volumes/datastore1/debiantest1/debiantest1.vmdk
Nachdem die Konvertierung abgeschlossen ist kann die Virtuelle Maschine editiert werden, die bestehende, temporäre Disk gelöscht und die beiden konvertierten Disks eingebunden werden:
Nun kann die VM auch auf dem ESXi Server gestartet werden
Tipp
Nachdem die Virtuelle Maschine bootet solltet ihr unbedingt die VMWare Tools aktualisieren und anschließend den Network Adapter löschen und als VMXNET 3 wieder hinzufügen.
Diese Aktionen funktionieren nur mit esx < 5.0, da ab version 5.0 vmfs2 nicht mehr gelesen werden kann.
Daher wird, wenn man von vmware server 2.0 auf esx 5.0+ konvertieren will folgendes benötigt:
A) der standalone konverter 4.3 (letzer, welcher vmfs2 lesen kann)
B) esx 3 oder esx 4 (nur temporär für die konvertierung auf vmfs3)