[libvirt] About virtualization, libvirt and xen...

Daniel P. Berrange berrange at redhat.com
Tue Feb 24 11:02:49 UTC 2009


On Tue, Feb 24, 2009 at 10:47:05AM +0000, Patrick Archibal wrote:
> 1 - what is the difference between libvirt and virtio.

libvirt provides a API for the host OS, allowing management of virtual
machines, storage, networking, host devices, etc.

virtio is basically providing paravirtualized device drivers between guest
and host, and has several aspects

 - A generic infrastructure layer in guest kernel for writing device
   drivers that talk to the host
 - A generic host<->guest data transport running as a PCI device
 - A generic host<->guest data transport using a ring buffer
 - Guest implementations for paravirt network, disk & memory balloon drivers
 - QEMU host backends for network, disk & memory balloon drivers
   

> 2 - why developpers for xen, kvm... must develop drivers each time there are new devices ?

The virtio infrastructure is intended to provide generic drivers that can be
used on any hypervisor. Currently supports KVM and LGuest. Xen has its own
device drivers because they were developed years ago outside the context of
the Linux kernel community just for Xen's needs. 

> 3 - The devices presented to the guest are real or emulated ? (for xen and/or kvm)
> if devices are real, for example, i can use my graphic card with a virtual machine ??

By default all devices presented to the guest either emulated or paravirtualized.
It is possible to pass physical host devices directly to the guest, eg PCI or
USB device pass-through, but there are quite a few restrictions on how this works
so paravirtualized devices are generall preferred.

> 4 - Can you tell me why kvm is best or xen is best in enterprise.

This isn't really the right list to get into a discussion about which
is best. Libvirt is committed to supporting all virtualization technologies
that we can. 

> Also, it seems, performance will be better in kvm with virtio. Can we 
> use virtio with xen ?

VirtIO is currently only supported for KVM and LGuest. It could in
theory be implemented for Xen too, but its not clear if it is worth
the effort.


Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list