Xen和KVM都是开源的虚拟化技术。Xen的实现方法是,运行支持Xen功能的kernel,这个kernel是工作在Xen的控制之下,叫做Domain0,使用这个kernel启动机器后,你可以在这个机器上使用qemu软件,虚拟出多个系统。Xen的缺点是,如果你需要更新Xen的版本,你需要重新编译整个内核,而且稍有设置不慎系统就无法启动。
相比较,KVM就比较简化。它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块(kvm和kvm-intel)。它结构更加精简,代码量更小,所以出错的可能性更小。并且在某些方面,性能比Xen更胜一筹。
具体来说,Xen具有以下几个优势:
可用资源:Xen的问世要比KVM早4年之久(两者分别是2003年和2007年)。随着Citrix、Novell、Oracle、Sun、Ret Hat和Virtual Iron等公司在市场领域的实施,就比较容易找到精通Xen的IT技术人员,更容易让这些技术人员接受Xen相关的培训、更容易得到Xen的咨询帮助以及获得Xen证书。企业管理协会(EMA:Enterprise Management Associates)2008年这对虚拟化和管理趋势的研究报告表明,这些关键因素占到那些抱怨缺少必要虚拟化技术资源和技术企业的60%。
平台支持:Xen在新版本中支持更多的主机和客体工作环境,包括泛虚拟化技术、硬件辅助支持以及修改过或未修改过的客体操作系统;对UNIX、Linux和 Microsoft Windows的特定支持;包括芯片组,如x86、IA64和AMD、Fujitsu、IBM、Sun等公司的ARM,以及x8