2024年4月16日发(作者:)

目前市场上各种x86 管理程序(hypervisor)的架构差异,三个最主要的架构类别包括:

I型:虚拟机直接运行在系统硬件上,创建硬件全仿真实例,被称为“裸机”。

II型:虚拟机运行在传统上,同样创建的是硬件全仿真实例,被称为“托

管”hypervisor。

容器:虚拟机运行在传统操作系统上,创建一个独立的虚拟化实例,指向底层托管操

作系统,被称为“操作系统虚拟化”。

图 1 三种主要的虚拟化架构类型

上图显示了每种架构使用的高层“堆栈”,应当指出,在每种模型中,虚拟层是在不

同层实现的,因此成本和效益都会不一样。

除了上面的架构类别外,知道hypervisor的基本元素也同样重要,它包括:

虚拟机监视器(Virtual Machine Monitor,VMM):它创建、管理和删除虚拟化硬件。

半虚拟化(Paravirtualization):修改软件,让它知道它运行在虚拟环境中,对于一个

给定的hypervisor,这可能包括下面的一种或两种:

- 内核半虚拟化:修改操作系统内核,要求客户机操作系统/hypervisor兼容性。

- 半虚拟化:修改客户机操作系统I/O驱动(、等),如Vmware Tools,MS Integration

Components。

操作系统虚拟化:容器

在容器模型中,虚拟层是通过创建虚拟操作系统实例实现的,它再指向根操作系统的

关键系统文件,如下图所示,这些指针驻留在操作系统容器受保护的中,提供低内存开销,

因此虚拟化实例的密度很大,密度是容器架构相对于I型和II型架构的关键优势之一,每

个虚拟机都要求一个完整的客户机操作系统实例。

图 2 容器型虚拟化架构

通过共享系统文件的优点,所有容器可能只基于根操作系统提供客户机,举一个简单

的例子,一个基本的Windows Server 2003操作系统也可用于创建Windows Server

2003容器,同样,任何适用于根操作系统系统文件的补丁和更新,其子容器也会继承,提

供了一个方便的维护方法。