[libvirt-users] migrating from XenServer / XCP to libvirt/KVM

Daniel Pocock daniel at pocock.pro
Wed Mar 15 10:10:36 UTC 2017

I've been using XenServer / XCP (with the "xe" toolset) for a number of
years for hosting servers used for development and free software
projects and I'm now looking at migrating all those environments to
libvirt / KVM.

I had a look at the wiki[1] already and didn't see XenServer mentioned

Could anybody help comment on or explain a few things:

- comparison between XenServer and libvirt: I notice many similar
concepts, for example, XenServer has storage repositories and libvirt
has storage pools.  However, in many examples such as this[2] it appears
that libvirt requires more manual effort.  For example, when you create
a storage repository in XenServer, the tool takes a physical block
device as input and creates the necessary volume group, logical volume
and a filesystem.  In that libvirt example, it appears each of those
steps must be done manually.  The networking examples are similar: the
XenServer tools do all the Open vSwitch stuff behind the scenes but in
the libvirt examples it appears necessary to create the bridge manually
before telling libvirt about it.  Is this all correct or are the
examples I've seen out of date?  Do more recent (or future) releases of
libvirt aim to automate/hide more of these things?

- what is best practice for virtual disk images?  Does libvirt always
use files (like XenServer) or can/should block devices be used
directly?  If using files, is any special care needed to avoid block
alignment problems?

- are there any guides or tools recommended for migrating small
XenServer environments (less than 50 domains on a single physical node)
to libvirt + KVM?

- is there a list of small things that need to change in a VM before
running it under libvirt / KVM?  I'm guessing this might include
bootloader config, updating the kernel, changing block device names in
/etc/fstab and changing network device names in scripts - are there any

- can anybody comment on more tricky issues that may arise in such a
migration, for example, will a Windows VM be likely to run without
modification when migrated from XenServer to libvirt/KVM or will it need
extra drivers added or anything else before the migration?



1. http://wiki.libvirt.org/page/Main_Page
2. https://keepingitclassless.net/2014/01/libvirt-intro-basic-configuration/

More information about the libvirt-users mailing list