Von VirtualBox nach Xen HVM
Wenn man eine Windows VM in der VirtualBox hat, die jetzt auf einem Xen Server laufen soll, steht man vor einem kleinen Problem. Zumindest, wenn man nicht den XenServer verwendet, sondern die Open Source Variante.
Wir gehen davon aus, daß in der VirtualBox ein Windows XP mit SP2 liefläuft.
Grobes Vorgehen:
- Plattendateien konvertieren
- Umkopieren
- VM in Xen booten & Treiber installieren
Klingt gar nicht so schwierig, oder?
Wenn da das Wörtchen "wenn" nicht wär.
Schritt 1: Plattendateien konvertieren
$ VBoxManage clonehd ~/.VirtualBox/VDI/Blubb.vdi Blubb.raw --format RAW
Schon liegt in ~/.VirtualBox/HardDisks die rohe Plattendatei, die einem "dd" Abzug entspricht.
Jetzt bauen wir uns eine virtuelle Maschine im Xen:
xm-blubb.cfg
kernel="/usr/lib/xen-3.2-1/boot/hvmloader" builder="hvm" memory=1024 name="exchange" vcpus=1 acpi=1 apic=1 vif=['type=ioemu, bridge=xenbr0'] disk=['file:/xen/Blubb/Blubb.raw,ioemu:hda,w','file:/iso/wxp_sp2.iso,hdc:cdrom,r'] device_model='/usr/lib/xen-3.2-1/bin/qemu-dm' vnc="1" vncdisplay="0" boot="d"
Ganz wichtig ist das
boot="d"
, da wir das Windows mit einer Reparaturinstallation booten müssen, damit alle notwendigen Treiber gefunden werden. CD-Key bereithalten, das Windows muß danach auch noch neu aktiviert werden.
Nachdem das Windows dann halbwegs erfolgreich wieder gebootet ist, sollte man noch die GPLPV Treiber von http://www.meadowcourt.org/downloads/ installieren.
Dokumentation zu den Treibern finden sich im XenWiki und bei Jolokia Networks.
Eigentlich ist das ganze nicht sonderlich schwierig, sondern nur zeitaufwändig. Mit Tools wie dem VMWare Converter oder dem Xen Converter geht das ganze sicherlich schneller, aber so gehts auch.
Nebenbei: Meiner Meinung nach ist das ganze HVM Thema völlig unterdokumentiert. Ich hab mir die Infos teilweise aus wilden Webforen zusammenkratzen müssen.