相比较,KVM就简化的多了。它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块。它结构更加精简、代码量更小,所以,出错的可能性更小。并且在某些方面,性能比Xen更胜一筹。
XEN虽能支持半虚拟化,但KVM仅限全虚拟化,性能上XEN略胜一筹。在更新方面,XEN需要对内核进行重编译,而KVM的更新则相对轻松。安全与稳定性:风险与代价/XEN的深度集成可能带来更高的内核风险,系统崩溃时可能需要重编内核,相比之下,KVM的风险较小,维护起来更为简便。
xen和kvm,是开源免费的虚拟化软件。vmware是付费的虚拟化软件。hyper-v比较特别,是微软windows 2008 R2附带的虚拟化组件,如果你买了足够的授权,hyper-v(包括hyper-v 2008 core)都可以免费使用。如果是vmware或hyper-v虚拟windows系统,不管是虚拟化软件本身,还是其中的子系统,都要支付许可费用。
虚拟化软件没有哪个绝对好,否则就不会百花齐放了,根据自己需求做选择才是最好。VMware: 优势 - 技术领先,功能完备,支持跨平台。劣势 - 收费昂贵,资源占用较高 Hyper-V:优势 - 与Windows系统深度整合,性能较优。劣势 - 仅支持Windows系统 KVM: 优势 - 开源免费,性能出色,可扩展性强。
在XEN中pv是半虚拟化,hvm是全虚拟化,pv只能用于linux内核的系统,效率更高,hvm可以虚拟所有常见操作系统(可以使用windows),理论效率比pv略低,另外,hvm需要cpu虚拟化指令支持,pv无此要求。KVM是新兴的虚拟化项目,出售KVM的VPS商家不多,但据说KVM虚拟技术是比较强悍的。
KVM是一个全虚拟化的解决方案。可以在x86架构的计算机上实现虚拟化功能。但KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化支持的CPU上运行,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。
有个几个重要区别: KVM内置于Linux,是内核模块;xen是Linux的一个应用。所以KVM可以直接利用Linux来做一些在xen中需要利用hypervisor来做的事情,比如任务调度,内存管理等等。所以相比之下,KVM更轻量,更易管理,并且版本更新也可以随着内核的更新。
KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel VT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。图3 KVM虚拟化平台架构 Xen Xen是第一类运行再裸机上的虚拟化管理程序(Hypervisor)。
第一个:KVM 是基于内核的开源虚拟化,在Linux20之后集成在各个主要的发行版本。KVM的虚拟化需要硬件支持,是基于硬件完全虚拟化的。KVM对比Xen有着更好的可管理性以及更高的性能,因此RHEL6以及之后的版本,默认支持KVM,而放弃了Xen。第二个:Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发。
1、KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel VT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。图3 KVM虚拟化平台架构 Xen Xen 是第一类运行再裸机上的虚拟化管理程序(Hypervisor)。
2、开源系统,而闭源系统就不支持内核修改,例如微软、苹果的操作系统都不开源,不支持xen半 虚拟化技术 ,这是XEN的一大缺陷,0版本之后也支持完全虚拟化。
3、如果给KVM、XEN简单归类的话,KVM是完全虚拟化技术又叫硬件辅助虚拟化技术(Full Virtualization)。相反,XEN是半虚拟化技术(paravirtualization),也叫做准虚拟化技术。
4、KVM内置于Linux,是内核模块;xen是Linux的一个应用。所以KVM可以直接利用Linux来做一些在xen中需要利用hypervisor来做的事情,比如任务调度,内存管理等等。所以相比之下,KVM更轻量,更易管理,并且版本更新也可以随着内核的更新。
5、XEN虽能支持半虚拟化,但KVM仅限全虚拟化,性能上XEN略胜一筹。在更新方面,XEN需要对内核进行重编译,而KVM的更新则相对轻松。安全与稳定性:风险与代价/XEN的深度集成可能带来更高的内核风险,系统崩溃时可能需要重编内核,相比之下,KVM的风险较小,维护起来更为简便。
6、Emulator是一个复杂的虚拟化软件。QEMU能够完全虚拟化x86硬件并模拟其他处理器架构。因此,可以执行为系统中物理上不存在的处理器编写的二进制文件。甚至可以实时编译单个程序以供执行。QEMU 默认与其他VM程序集成。虚拟化软件可与VirtualBox、KVM和Xen等管理程序一起使用。