KVM和Xen虚拟化有什么区别?Xen和KVM优缺点对比

4,999 阅读3分钟

KVM和Xen是两大虚拟化技术,KVM和Xen又是免费开源的管理程序,新手站长网分享虚拟化技术KVM和Xen的区别优势对比:

KVM和Xen的区别

  • KVM:KVM是轻量级的虚拟化管理程序模块,该模块主要来自Linux内核;KVM的虚拟化需要硬件支持,如具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU,KVM只能在具有虚拟化支持的CPU上运行。
  • Xen:Xen是Linux下的虚拟化解决方案,Xen的实现是基于支持Xen功能的kernel,在Xen控制下的kernel,称之为Domain0,使用kernel启动的机器可以使用qemu软件,虚拟出多个系统。

Xen和KVM虚拟化架构对比

KVM虚拟化
KVM的内核模块叫做kvm.ko,实现对Linux的CPU和内存虚拟化,是Linux的一个进程,负责VCPU和内存的分配,而其他设备的虚拟就交给了qemu。qemu运行在用户空间,KVM运行在内核,两者通过/dev/kvm进行交互,KVM仅支持全局虚拟化。

Xen虚拟化
Xen是一个直接运行在计算机硬件之上的用以替代操作系统的软件层,Xen能够在计算机硬件上并发的运行多个客户操作系统(Guest OS)。

关于是否写入Linux内核

KVM已经被Linux核心组织写入Linux内核。而Xen是一个外部的Hypervisor程序(虚拟机管理程序),它能够控制虚拟机和给多个客户机分配资源,在KVM被写入Linux内核后,估计Xen很难再被写入内核。而KVM是Linux的一部分, 可使用通常的Linux调度器和内存管理,KVM更小更易使用。

关于版本升级

更新版本方面,Xen需要重新编译整个内核,稍有不慎,可能导致系统无法启动;KVM不需要重新编译内核,也不需要对kernel做任何修改(它只是几个可以动态加载的.ko模块)。

KVM和Xen对比来看,KVM结构更加精简、代码量更小,出错率更小;在某些方面,KVM性能要比Xen好一些。

以阿里云为例,阿里云虚拟化技术包括Xen和KVM,新的机器都是KVM,老一代是Xen。

关于全虚拟化和准虚拟化

Xen同时支持全虚拟化和准虚拟化,KVM目前不支持准虚拟化。

KVM和Xen区别对比表

对比项 Xen KVM
问世时间 2003年 2007年
支持企业 Citrix、Novell、Oracle、Sun、Ret Hat(RHEL5)和Virtual Iron Redhat、Ubuntu等
支持的虚拟化技术 全虚拟化、半虚拟化 全虚拟化
支持架构 x86、IA64和AMD、Fujitsu、IBM、Sun等公司的ARM,以及x86/64 CPU商家和Intel嵌入式的支持 支持虚拟化的CPU
支持操作系统 UNIX、Linux和Microsoft Windows UNIX、Linux和Microsoft Windows
动态迁移 支持 支持(以前不支持)
内核支持 需要对内核打补丁 内置在内核中

以上为新手站长网分享的关于KVM和Xen虚拟化技术的区别及优缺点对比,另外还有一篇参考:虚拟化KVM和Xen区别?哪个更好