什么是虚拟机?虚拟机简介(第20课)

首先来看一下整个虚拟机在物理机上的结构图:

虚拟机在物理机上的结构图

 

每台虚拟机的组成要素:虚拟机的os,应用程序需要的各种包,应用程序。而每一台虚拟机都是在Hypervisor的基础上建立起来的。下面来看一下什么是Hypervisor?

 

一、什么是Hypervisor?

Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器(Virtual Machine Monitor)。Hypervisor是所有虚拟化技术的核心。非中断地支持多工作负载迁移的能力是Hypervisor的基本功能。当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。

 

综上所述,Hypervisor是运行在物理机之上,为多台虚拟机提供能够宿主在物理主机之上的基础环境。

 

其实Hypervisor可以分为两种类型:

Hypervisor可以分为两种类型宿主机型 裸机型

 

I型 – 裸机型:直接运行在物理设备之上,是一种基于内核的虚拟机(其中包括 Oracle 虚拟机、VMware ESX Server、Microsoft Hyper-V 和 Citrix XenServer)。这种类型的Hypervisor所扮演的角色是一种抽象概念的OS。

 

II型 – 宿主机型:运行在宿主机器的操作系统上(如上图)(VMware Workstation、Microsoft Virtual PC 和 Parallels Workstation ) 创建硬件全仿真实例。Hypervisor构建出一整套虚拟硬件平台(CPU/Memory/Storage/Adapter),上面需要你再去安装新的操作系统和需要的应用软件,这样底层和上层的OS就可以完全无关化。

 

两者对比如下:

因素 裸机型 主机型
性能 性能高,资源开销小,高级的资源控制。 性能较差,资源开销大有限的资源控制,虚拟机竞争资源。
硬件兼容性 没有太多要求,因为虚拟化平台运行在传统操作系统之上,有操作系统硬件的驱动程序支持。 运行在经过认证的有限的硬件集合内,如VMware ESX和ESXi。
易用性 安装容易,但配置很复杂。 安装、使用和维护都很简单,不需要专门的技能。
高可用性 高可用性,主机发生故障时能够提供持续的可用性 缺少高可用特性,主机发生故障时,故障解决前虚拟机将处于停机状态。
可靠性 可靠性高,Hypervisor经过很多QA(quality-assurance)测试和严格的硬件认证。

直接运行在硬件上,而不是主机操作系统,减少了一个可能发生故障的组件。

主机型Hypervisor使用通用的硬件并没有对虚拟化进行专门的测试。
虚拟化Hypervisor管理 提供了几种控制台,能够容易的管理数量巨大的主机及虚拟机;

市场上具有很多用于裸机虚拟化Hypervisor的第三方管理和自动化产品可以使用。

 

管理员必须单独管理每个虚拟机,在大型虚拟化基础设施中将非常繁琐,也很耗时。
成本 裸机Hypervisor成本却很昂贵,尤其是当你想扩大规模并使用高级特性时。多数裸机虚拟化Hypervisor宣称是免费的,但是仅限于核心Hypervisor. 成本较低,许多基于主机的Hypervisor是免费的或者仅仅花费数百美元。
可扩展性 能够扩展到相当大的规模,使用裸机Hypervisor,如果你的主机具有足够的硬件资源,那么你能够轻松地在一台主机上运行数百个虚拟机。

在vSphere 5中单个虚拟机能够配置高达1TB的内存以及32个虚拟CPU。

 

非常有限的可扩展性,VMware基于主机的虚拟化Hypervisor VMware Workstation,仅能够支持32GB的内存以及8个虚拟CPU。
产品 VMware ESX和ESXi,微软的Hyper-V,Citrix的XenServer,orcal虚拟机,linux KVM。 VMware Server(GSX)、Workstation和Microsoft Virtual PC、Microsoft Virtual Server等

 

二、Hypervisor的构成

Hypervisor仅是一个从其虚拟操作系统抽象机器硬件的分层应用程序。通过这种方式,每个虚拟操作系统看到的仅是一个VM而不是真实的硬件机器。

 

在较高级别上,Hypervisor需要少量设施启动虚拟操作系统:一个需要驱动的内核映像、一个配置(比如 IP 地址和所需的内存量)、一个磁盘和一个网络设备。磁盘和网络设备通常映射到机器的物理磁盘和网络设备(如图所示)。最后,需要使用一组虚拟操作系统工具启动和管理虚拟操作系统。

Hypervisor的构成

 

然后,一个简化的 Hypervisor 架构实现最后的关键功能,从而使来宾操作系统可以和宿主操作系统同时运行。实现这个功能需要一些特定的要素,如下图所示。首先,类似于将用户空间应用程序和内核函数连接起来的系统调用,一个通常可用的虚拟化调用(hypercall,Hypervisor 对操作系统进行的系统调用)层允许来宾系统向宿主操作系统发出请求。可以在内核中虚拟化 I/O,或通过来宾操作系统的代码支持它。故障必须由 Hypervisor 亲自处理,从而解决实际的故障,或将虚拟设备故障发送给来宾操作系统。Hypervisor 还必须处理在来宾操作系统内部发生的异常。(毕竟,来宾操作系统发生的错误仅会停止该系统,而不会影响 Hypervisor 或其他来宾操作系统)。Hypervisor 的核心要素之一是页映射器,它将硬件指向特定操作系统(来宾或 Hypervisor)的页。最后,需要使用一个高级别的调度器在Hypervisor和来宾操作系统之间传输控制。

Hypervisor的构成

 

三、为什么要使用 Hypervisor?

Hypervisor 是所有虚拟化技术的核心。 非中断地支持多工作负载迁移的能力是其基本功能。通过 Hypervisor,可以更充分地利用系统可用资源并提升 IT 移动性。因为客户机虚拟机不依赖于主机硬件,这意味着它们可以轻松地在不同服务器之间移动。软硬件架构和管理更高效、更灵活,硬件的效能能够更好地发挥出来。

头像
  • ¥ 49.9元
  • 市场价:99.9元
  • ¥ 39.0元
  • 市场价:39.0元
  • ¥ 119.0元
  • 市场价:199.0元
  • ¥ 58.0元
  • 市场价:58.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: