Server Migration auf Proxmox mittels Direktimport von einem anderen Hypervisor (ab PVE5)

Seit Proxmox 5.0 ist es möglich mittels direktem Import virtuelle Maschinen zu importieren.

Für alle Punkte gilt: Bevor man exportiert sollte man die Vorbereitungen für die Quellmaschine von durchführen. Also alles überflüssige deinstallieren, DHCP schalten, Registryfile ausführen… Getestet wurde es auch ohne diese Schritte, und ja es funktioniert auch. Ist aber hinterher wesentlich aufwendiger. Z.B. alte mit fixer IP Adresse verwendete Interfaces aus der Registry löschen usw.

Annahme ist ein Export der im ZIP vorliegt. Dieses Zip entpackt man. Daraus ergibt sich pro virtuelle Festplatte ein VHDX. Diese Files kann man vorher noch zur Sicherheit auf Korruption prüfen:

qemu-img check -r all <vmimage>

Ist alles ok kann man sofort mit dem Import beginnen. Zuvor haben wir natürlich schon eine VM erstellt. Da wir hier ein Directory verwenden müssen wir zusätzlich das gewünschte Format angeben.

qm importdisk 100 Systemcenter_F.vhdx local -format qcow2

Nach dem Import ist die virtuelle Platte als „unused“ verfügbar. Für Server 2016 HDD als SATA hinzufügen und starten. Andere Systeme wurde nicht getestet. IDE funktioniert für den ersten Start bei allen Windowsversionen auf jedem Fall.

Zum Schluss natürlich das ganze noch mit richtiger Hardware und Treiber optimieren.

Beispiel:

qm importovf 999 WinDev1709Eval.ovf local-lvm

Netzwerk und Grafikkarte VMwarecompatible hinzufügen, Laufwerke mit IDE ausstatten

Liegt eine Datei im XVA-Format vor schaut die Lage ein wenig anders aus. XVA ist auch nicht's anderes wie ein ZIP. Nur der Inhalt ist hier mehr als unbrauchbar.

Entpacken:

tar xf vsrv-term3.hspts.local-20130122-180000.xva

Der Inhalt sieht dann so aus:

---------- 1 root root        36338 Jan  1  1970 ova.xml
drwxr-xr-x 2 root root        75444 Jul 27 07:41 Ref:15/

Um hier ein importfähiges RAW Image zu gewinnen muss man das Verzeichnis „Ref:15/“ zusammensetzen. Hierfür nimmt man von GitHub Xenmigrate. Das Script liegt auch auf unserem FTP-Server. Konvertiervorgang:

python xenmigrate_new.py -c Ref:15 test.raw

Wie die Platte heist ist egal. Nach erfolgreicher Migration wieder der Import. VMid ist hier 110.

qm importdisk 110 test.raw local -format qcow2

Danach geht's wieder gleich weiter wie im ersten Punkt.

FIXME

Der ganze Vorgang ist sehr unspektakulär. Man stellt in der Virtualbox alle Interfaces auf DHCP. Kopiert das VDI File auf den Proxmoxserver und importiert es mit einer VMzuweisung. Als Beispiel hier weisen wir das VDI der VM mit der ID 123 zu. Wobei wir das Image den Pool „HDD-vmdata“ importieren.

qm importdisk 123 testwin7.vdi HDD-vmdata

Danach kann man das Image wie gewohnt im Webinterface zuweisen. Verwendet man für die Festplatte SATA und die Netzwerkkarte E1000 so wie in der Virtualbox muss man weiter nichts machen. Ich empfehle aber trotzdem jedem die VM mit Virtio, SCSI Treibern, Balooing und natürlich den Qemu-Agent zu optimieren.

FIXME

qemu-img convert -O raw <infile.(vdi|vmdk|$whatever)> /dev/zvol/rpool/data/vm-<id>-disk-1

FIXME