本文只对比:KVM、Xen、VMWare
VMWare
VMWare是一个成熟的商业软件,市场占有率很高,但是操作系统安装在VMWare上面比直接装硬件上性能低不少,所以它比较适合学习和测试。
仿真虚拟化:对系统硬件没有要求,性能低。
Xen
Xen在2013年时就使用过,13年那时候跟着老大在机房装Xen,然后跑了几台CentOS做TCP长连接测试,当时不懂事,不明白它存在的价值,以为它就是类似VMWare的软件,只不过Xen是开源软件,和VirtualBox差不多。
Xen 是英国剑桥大学计算机实验室开发的一个虚拟化开源项目,是一个Hypervisor程序(虚拟机管理程序),XEN 可以在一套物理硬件上安全的执行多个虚拟机,它和操作平台结合的极为密切,占用的资源最少。
Xen支持半虚拟化和全虚拟化,性能比VMWare好很多,在其官网可见,亚马逊云、阿里云、华为云等都是 Xen Project
的会员。
国内比较早的云服务商(如阿里云)都是使用Xen,REHL5默认自带Xen,但是后来KVM发展起来了,现在主流都采用KVM。
半虚拟化(早期Xen只支持半虚拟化):虚拟机可以使用物理机硬件,性能高,但是需要改内核,虚拟机内只能安装和物理机一样的系统。
KVM
KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine),它由以色列公司 Quramnet
开发,该公司于 2008年被 RedHat
收购,KVM 是开源的,它被Linux核心组织放入Linux的内核里面,作为Linux 的一个内核模块(Linux 2.6.20及以上版本),KVM主打的就是高性能、扩展性、高安全,以及低成本。所以KVM对Xen的优势很大,加上RedHat等公司大力投入,KVM发展很快,现在基本上已成为主流。
目前的云服务商的产品都转向KVM了,RHEL6开始抛弃Xen,自带自家的KVM,详细可以看文章《Linux查看使用哪种虚拟化平台》
全虚拟化:直接使用物理硬件,性能最高,而且可以运行其他系统,如Windows。