一、KVM介绍
kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学 术界的主流VMM之一。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但 Xen本身有自己到进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。
二、KVM优势
KVM到底有啥好处?2008年的时候,红帽发言人表示,KVM相比Xen有着更好的可管理性以及更高的性能。性能这一点需要基准测试来说话,不过不同的基准测试会给出不同的结果,所以性能方面孰优孰劣很难一概而论;可管理性方面,红帽在大规模服务器自动化管理方面倒是一直很有一些心得,而且相关的工具大多是免费开源的,这点很不错。具体有哪些工具,可以查询KVM的这个页面,以及Xen的维基页面。
三、KVM缺点
KVM本身也有一些弱点,那就是相比裸金属虚拟化架构的Xen、VMware ESX和Hyper-V,KVM是运行在Linux内核之上的寄居式虚拟化架构,会消耗比较多的计算资源;不过针对这一点,Intel、AMD已经在处理 器设计上有专门的VT-x和AMD-V扩展,这种特性在每次硬件更新的时候也会更新,往往每次更新后都对虚拟化性能和速度上有明显的提升,所以长远来看, 也不是什么大问题。