Hi,
I have a set of 32bit HVM images running fine under Xen 3.2.1 and Xen 3.4.1.
Due to performance issues with the fully virtualized setup, I would like to
migrate one of those images to a paravirtualized image to compare the network
performance. As I do not have a Xen-aware kernel for that VM, I thought the
best would be to provide one from outside.
Sounds like an easy task, doesn't it? ;-)
However, I fail miserably on this task. It just does not work. To get rid of
any side effects, I thought it would be nice to try with a known-working image.
Therefore I got the image Centos 5.3 image from
http://stacklet.com/downloads/images/centos/5.3. And voila, using the pygrub
version works like a charm - I can either log in using xm console, or ssh. This
is the config used:
bootloader = "/usr/bin/pygrub"
memory = 256
name = "centos_pygrub"
vif = [ 'bridge=eth0,mac=02:00:00:00:01:86' ]
disk = ['file:image,sda1,w']
root = "/dev/sda1"
extra = "fastboot"
Now, as this kernel appears to be working fine, I thought I'd like to just take
this kernel and initrd out of the known-good vm, and give it to Xen as
parameters. In my naive thinking, this should be the very same as pygrub is
doing - loading the kernel specified in /boot/grub.conf with initrd and
parameters (all taken from the VM running fine with pygrub):
kernel = "vmlinuz"
initrd = "initrd"
extra = "console=xvc0"
root = "/dev/sda1"
memory = 256
name = "centos_pv"
vif = [ 'bridge=eth0,mac=02:00:00:00:01:86' ]
disk = ['file:image,sda1,w']
BUT - this fails! The last lines on the command line are:
XENBUS: Device with no driver: device/vbd/2048
XENBUS: Device with no driver: device/vif/0
XENBUS: Device with no driver: device/console/0
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
VFS: Cannot open root device "sda1" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
The only obvious difference compared to the previous VM is the line stating "md:
autodetecting RAID arrays.". But why should this very same kernel, that initializes
fine when using pygrub, now start setting up raid configs? I don't seem to get it, so I
really appreciate some help here, I already spent too long debugging this, I have no idea
what goes wrong here. Does my host config have anything to do with it (yes, it has a
raid)? But if yes, why would it? I did not build the initrd image myself, it's the one
taken from the VM which booted fine using pygrub...
Thanks a lot!
Regards,
Martin
P.S.: The Xen log does not show any error at all, only reports the VM having
crashed.
P.P.S.: When I get this running (there's still hope left...), I would like to
understand what's the best option to provide a disk - is it tap:aio, or file?
Any documentation on reasons to choose either the one or the other?
________________________________________________________________
Neu: WEB.DE Doppel-FLAT mit Internet-Flatrate + Telefon-Flatrate
für nur 19,99 Euro/mtl.!* http://produkte.web.de/go/02/
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users