Issue

Running xen to create PV hosts under KVM with virtio

posted in Hypervisor
Wednesday, December 04 2013, 04:42 PM
0
I have a need to run very low weight PV debian guests under a kvm hypervised guest .(i.e. split a vm using pv - the reasons are varied but essentially each host has to have it's own networking/routing layer)
I can boot these only when the underlying block device in kvm guest is switched to ide from virtio.(on test system)

My question is: is there any way I can get xen to boot with virtio as I don't have the control to switch the block device supplied to IDE (it's not permitted)
Can the xen system be recompiled or can I compile a module that works and doesn't result in error message of

udevd timout: killing ‘/sbin/modprobe -v virtio………

Any suggestions I was going to look at jails but am unsure the networking is self contained in each jail so xen pv was the next choice.

Simon
Responses (2)
  • Accepted Answer

    Wednesday, December 11 2013, 02:44 PM - #permalink
    0
    Since no one has offered a response here, I will cross-post it to the mailng lists and see if anyone has an answer.
    The reply is currently minimized Show
  • Accepted Answer

    Wednesday, December 11 2013, 05:08 PM - #permalink
    0
    From Ian Campbell on the xen-users list: If I understand him correctly he wants to use virtio as the "host" (from Xen's PoV) disk device driver (i.e. the KVM guest's I/O path). As distinct from wanting to use virtio as the I/O path for the Xen PV guests. My experience with the ARM Foundation model (which also exposes a virtio "host" disk) is that the virtio drivers do not work under Xen because they do not correctly use the kernel's DMA APIs (this is needed because under Xen physical addrs to not map 1:1 to DMA addresses). By "do not correctly use" I actually mean "do not use at all". IMHO this is a bug in virtio and it would be lovely to see it fixed, but AFAIK noone is working on that since it is a bit of a niche use case. If he wants to have a stab at it he'll probably want to join the xen-devel and qemu-devel lists. On ARM we have the option to make DMA addr=physical addr which can be used to work around this issue. I don't think there is any similar option for x86 PV dom0. Ian.
    The reply is currently minimized Show
Your Reply