Linux虚拟化技术的用户目前有两种免费的开源管理程序
可以选择:Xen和KVM

KVM

KVM是一个轻量级的虚拟化管理程序模块,该模块主要来自于Linux内核。
KVM是一个全虚拟化的解决方案。
可以在x86架构的计算机上实现虚拟化功能。但KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化支持的CPU上运行,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。

Xen 也是Linux下的一个虚拟化解决方案,也将很快被编入内核中。
Xen的实现方法是运行支持Xen功能的kernel,这个kernel是工作在 Xen的控制之下,叫做Domain0,使用这个kernel启动机器后,你可以在这个机器上使用qemu软件,虚拟出多个系统。

KVM由以色列公司Qumranet开发,已经被Linux核心组织放入Linux的内核里面,其使用的x86处理器至少需要包含其中一项硬件辅助虚拟化技术(Intel-VT或AMD-V)。

Xen

Xen是一个外部的Hypervisor程序(虚拟机管理程序);它能够控制虚拟机和给多个客户机分配资源,在KVM被写入Linux内核后,估计Xen 很难再被写入内核;另一方面,KVM是Linux的一部分, 可使用通常的Linux调度器和内存管理. 这意味着KVM更小更易使用。

此外,Xen同时支持全虚拟化和准虚拟化(需要修改客户机操作系统,而修改过的客户机操作系统能有更好的性能),KVM当前不支持准虚拟化。

Xen的缺点是如果你需要更新Xen的版本,你需要重新编译整个内核,而且,稍有设置不慎,系统就无法启动。
相比较,KVM就简化的多了。它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块。它结构更加精简、代码量更小。所以,出错的可能性更小。
并且在某些方面,性能比Xen更胜一筹。

区别对比

两者区别XenKVM
问世时间2003年2007年
支持企业Citrix、Novell、Oracle、Sun、Ret Hat(RHEL5)和Virtual IronRedhat、Ubuntu等
支持的虚拟化技术全虚拟化、半虚拟化全虚拟化
支持架构x86、IA64和AMD、Fujitsu、IBM、Sun等公司的ARM,以及x86/64 CPU商家和Intel嵌入式的支持支持虚拟化的CPU
支持操作系统UNIX、Linux和Microsoft WindowsUNIX、Linux和Microsoft Windows
动态迁移支持支持(以前不支持)
内核支持需要对内核打补丁内置在内核中
最后修改:2020 年 11 月 25 日 11 : 20 AM
赞赏必须赞赏,多多益善,老板一直发大财!