KVM是一个Linux下的虚拟化解决方案。它在Linux操作系统的主机上运行。它是开源的解决方案,通常比专有的解决方案更便宜,因为没有实例的授权费用,因此在大量采用虚拟化技术的企业里很流行。
Xen是另外一种类型的虚拟化技术,在诸多特性中,它支持半虚拟化( paravirtualization)。半虚拟化来自客户操作系统可以使用修改的内核的思想,执行的效率更高。这种方式处于使用独立内核版本的完全的CPU模拟与使用宿主内核的基于容器的虚拟化之间。
VirtuaIBox是来自于Oracle的开源虚拟化解决方案。在开发人员中很流行,有时候也会在服务器上安装但是体量不大。使用Microsoft Windows机器的开发人员通常会使用VirtualBox在本地来模拟Linux服务器环境。同样地,使用Linux作为其工作站的开发人员也会用VirtualBox去模拟Windows服务器。
不同类型的虚拟化技术的共同点在于它们提供了可以自动化虚拟机管理的API。
libvirt就是这样的API,它可以用在几种不同的虚拟管理程序(hypervisor)底层,比KVM、QEMU、Xen和LXC。