什么是Hypervisor
Hypervisor,又称虚拟机监视器(英语:virtual machine monitor,缩写为 VMM),是用来建立与执行虚拟机器的软件、固件或硬件。
被Hypervisor用来执行一个或多个虚拟机器的电脑称为主体机器(host machine),这些虚拟机器则称为客体机器(guest machine)。hypervisor提供虚拟的作业平台来执行客体操作系统(guest operating systems),负责管理其他客体操作系统的执行阶段;这些客体操作系统,共同分享虚拟化后的硬件资源。
特点
Hypervisor有如下优点:
-
提高主机硬件的使用效率。
因为一个主机可以运行多个虚拟机,这样主机的硬件资源能被高效充分的利用起来。 -
虚拟机移动性强。
传统软件强烈捆绑在硬件上,转移一个软件至另一个服务器上耗时耗力(比如重新安装);然而,虚拟机与硬件是独立的,这样使得虚拟机可以在本地或远程虚拟服务器上低消耗转移。 -
虚拟机彼此独立。
一个虚拟机的奔溃不会影响其他分享同一硬件资源的虚拟机,大大提升安全性。 -
易保护,易恢复。
Snapshot技术可以记录下某一时间点下的虚拟机状态,这使得虚拟机在错误发生后能快速恢复。
Hypervisor的种类:
-
bare-metal hypervisors:直接部署在主机硬件上,以管理硬件和guest machine。
尽管近年来有着诸如Docker、Kubernetes这样的基于容器技术的虚拟化技术让人眼前一亮,但是,要知道,这些容器均是部署在云中的Hypervisor之上的。
-
hosted hypervisors:作为软件层部署在主机操作系统上,现在常用的VMware Player和VirtualBox就是这种类型。
虚拟机监视器 (VMM) 和设备模型
Hypervisor可以分解为两部分: 虚拟机监视器 (VMM) 和设备模型。
VMM 响应设置虚拟机和掌控由客户操作系统执行诸如I/O访问的特权指令引发的陷阱(即虚拟机出口)。
设备模型,负责实现所有设备(如网卡,存储设备等)的 I/O 接口。
Hypervisor的体系结构如下图所示: