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.

Trackbacks

    No Trackbacks

Comments

Display comments as (Linear | Threaded)

    No comments


Add Comment


Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Markdown format allowed