简介
“Hypervisor 或者virtual machine monitor (VMM)是创造并且运行虚拟机的软件、固件、或者硬件”。
monitor:监视器。
hypervisor单词释义:超级监管程序.
通俗来讲,Hypervisor
是一种将操作系统与硬件抽象分离的方法。以达到host machine的硬件能同时运行一个至多个虚拟机作为guest machine的目的,这样能够使得这些虚拟机高效地分享主机硬件资源。
Hypervisor就是一个虚拟机的管理程序,或者,一个虚拟机的容器!
Hypervisor有如下作用:
1.提高主机硬件的使用效率。因为一个主机可以运行多个虚拟机,这样主机的硬件资源能被高效充分的利用起来。
2.虚拟机移动性强。传统软件强烈捆绑在硬件上,转移一个软件至另一个服务器上耗时耗力(比如重新安装);然而,虚拟机与硬件是独立的,这样使得虚拟机可以在本地或远程虚拟服务器上低消耗转移。
3.虚拟机彼此独立。一个虚拟机的奔溃不会影响其他分享同一硬件资源的虚拟机,大大提升安全性。
4.易保护,易恢复。Snapshot技术可以记录下某一时间点下的虚拟机状态,这使得虚拟机在错误发生后能快速恢复。
Hypervisor的种类:
1.bare-metal hypervisors:
直接部署在主机硬件上,以管理硬件和guest machine。
2.hosted hypervisors:
作为软件层部署在主机操作系统上,现在常用的VMware Player和VirtualBox就是这种类型。
上面两种hypervisor的区别,可以详情参见<a href="http://www.maixj.net/ict/hypervisor-10220">基于裸机的和基于主机的Hypervisor</a>:
基于裸机的Hypervisor性能高于基于主机的Hypervisor。因为基于裸机的Hypervisor能够实现最少的资源开销。基于裸机的Hypervisor同样提供了高级的资源控制,允许你保证、优先考虑以及限制虚拟机的资源使用。
基于主机的hypervisor通常具有具有非常大的资源开销。
基于主机的Hypervisor通常对硬件兼容性没有太多的要求,因为基于主机的虚拟化平台运行在Windows或Linux之上,而你几乎总能够找到运行上述操作系统硬件的驱动程序。
而基于裸机的Hypervisor的安装也很容易,但是配置却很复杂。
还有一种说法是:第三种,操作系统虚拟化。
操作系统唯一,如底层操作系统跑的Windows,VPS/VE就都得跑Windows。代表是Parallels公司(以前叫SWsoft)的Virtuozzo(商用产品)和OpenVZ(开源项目)。
对比:(下面这篇文章写得很好)
http://blog.csdn.net/brucebaozhiqiang/article/details/17912705
Xen 是基于裸机的。
OpenStack与Hypervisor
OpenStack 几乎支持现在所有主流的虚拟技术和 Hypervisor。<a href="https://www.zhihu.com/question/24123210">虚拟化技术讲解</a>
如 KVM, Hyper-V, LXC, QEMU, UML, VMWare ESX/ESXi, Xen/XenServer 等,未来还会支持 OpenVZ 和 VirtualBox.
不过 OpenStack 首选的 Hypervisor 是 KVM。
KVM
KVM是目前学术界主流的VMM之一。
KVM的虚拟化需要硬件支持。(如Intel VT技术或者AMD V技术),是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。
KVM特殊,内置于linux内核,与操作系统有关系,可以说是基于裸机的hypervisor吗?
我们不能将KVM直接称为虚拟机,应该称为VMM(Virtual Machine Monitor),使用KVM创建的虚拟机才能称为虚拟机。