虚拟化的概念近年来变得非常流行。原因很简单:虚拟化可以优化资源利用率,降低企业成本。目前市场上最流行的虚拟架构主要有KVM、XEN和VMware。其中KVM和XEN是免费开源的,而VMware是付费的。因此,这次我只比较KVM和XEN的区别。
如果简单地对KVM和XEN进行分类的话,KVM是一种全虚拟化技术,也称为硬件辅助虚拟化技术(FullVirtualization)。相反,XEN是一种半虚拟化技术,也称为半虚拟化技术。
全虚拟化技术(左)和半虚拟化技术(右)
KVM在虚拟机和硬件之间添加了一个软件层——Hypervisor,或者VirtualMachineManager(VMM),KVM管理程序直接运行在物理硬件上。XEN基于完全虚拟化。它修改了客户操作系统,为客户操作系统添加了专门的API来集成虚拟化代码。这种方法不需要重新译或触发中断,因为操作系统本身能够与虚拟进程很好地配合。
KVM架构
有些人还将KVM架构分解为两部分:KVM驱动程序,它是一个Linux内核模块,以及Qemu,它是一个Linux内核模块。用于模拟虚拟化。机器的用户空间组件提供I/O设备的模型以及访问设备的方法。它最大的优点是KVM集成到Linux内核中,因此速度更快。同时KVM是完全虚拟的,所以不需要区分pv和hvm。它可以安装各种Linux和Windows发行版。并且可以运行在支持虚拟化的系统上,X86和X86-64扩展硬件架构上。
XEN实际上是在KVM之前出现的。它由剑桥大学开发,是一个开源虚拟机监视器。半虚拟化架构决定了它并不是一个真正的虚拟机,而是一个单独运行内核的例子。它还区分了Xen+pv+和Xen+hvm,其中pv仅支持Linux,而hvm支持Windows系统。。此外,XEN还具有更好的资源可用性、更好的平台支持、更容易的可管理性、实施、支持实时迁移和性能测试等优点。
参考资料: