服务器虛拟技术为虛拟化了的服务器提供能够支持其运行的软硬件资源抽 象,包括虛拟BI0S、虛拟处理器、虚拟内存、虚拟设备与I/O,并可为虛拟机提 供良好的隔离性和安全性。 例如:在采用服务器虚拟化之前,三个不同的操作系统及应用分别运行在三 台独立的物理服务器上。在采用服务器虚拟化之后,这三个操作系统及应用运行 在三个独立的虚拟服务器上,而这三个虛拟服务器可以被一台物理服务器托管 服务器虚拟化实现了在单一物理服务器上运行多个虚拟服务器。 业务系统业务系统业务系统系[ = 3.2服务器虚拟化的层次 不同的分类角度决定了虚拟化技术不同的分类方法。根据虚拟化层实现方式 的不同,将服务器虚拟化分为寄居虚拟化和裸机虚拟化两种分类方法。 1、寄居虚拟化 寄居虚拟化的虛拟化层一般称为虚拟机监控器(WM)。ⅥM安装在已有的主 机操作系统(宿主操作系统)上。通过宿主操作系统来管理和访问各类资源(如 文件和各类I/0设备等)。这类虚拟化架构系统损耗比较大 客户 客户 客户 虚拟机 虚拟机 虛拟机 虚拟机管理器(VMM) 主机操作系统 物理机(底层硬件) 图7-1寄居虚拟化架构 就操作系统层的虚拟化而言,没有独立的 Hypervisor层。主机操作系统负 责在多个虚拟服务器之间分配硬件资源,并且让这些服务器彼此独立。一个明显 的区别是,如果使用操作系统层虛拟化,所有虛拟服务器必须运行同一操作系统
服务器虚拟技术为虚拟化了的服务器提供能够支持其运行的软硬件资源抽 象,包括虚拟 BIOS、虚拟处理器、虚拟内存、虚拟设备与 I/O,并可为虚拟机提 供良好的隔离性和安全性。 例如:在采用服务器虚拟化之前,三个不同的操作系统及应用分别运行在三 台独立的物理服务器上。在采用服务器虚拟化之后,这三个操作系统及应用运行 在三个独立的虚拟服务器上,而这三个虚拟服务器可以被一台物理服务器托管, 服务器虚拟化实现了在单一物理服务器上运行多个虚拟服务器。 3.2 服务器虚拟化的层次 不同的分类角度决定了虚拟化技术不同的分类方法。根据虚拟化层实现方式 的不同,将服务器虚拟化分为寄居虚拟化和裸机虚拟化两种分类方法。 1、寄居虚拟化 寄居虚拟化的虚拟化层一般称为虚拟机监控器(VMM)。VMM 安装在已有的主 机操作系统(宿主操作系统)上。通过宿主操作系统来管理和访问各类资源(如 文件和各类 I/O 设备等)。这类虚拟化架构系统损耗比较大。 就操作系统层的虚拟化而言,没有独立的 Hypervisor 层。主机操作系统负 责在多个虚拟服务器之间分配硬件资源,并且让这些服务器彼此独立。一个明显 的区别是,如果使用操作系统层虚拟化,所有虚拟服务器必须运行同一操作系统
(不过每个实例有各自的应用程序和用户账户)。虽然操作系统层虚拟化的灵活 性比较差,但本机速度性能比较高。由于架构在所有虛拟服务器上,使用单一标 准的操作系统,管理起来比异构环境要容易 2、裸机虚拟化 裸机虚拟化架构不需要在服务器上先安装操作系统,而是直接将ⅥM安装在 服务器硬件设备中,本质上该架构中的M也可以认为是一个操作系统,一般称 为 Hypervisor,只不过是非常轻量级的操作系统(实现核心功能) 客户 客户 客户 虚拟机 虚拟机 虚拟机 Hypervisor 物理机(底层硬件) 图7-2裸机虚拟化架构 Hypervisor实现从虚拟资源到物理资源的映射。当虚拟机中的操作系统通 过特权指令访问关键系统资源时, Hypervisor将接管其请求,并进行相应的模 拟处理。为了使这种机制能够有效地运行,每条特权指令的执行都需要产生“自 陷”,以便 Hypervisor能够捕获该指令,从而使ⅥM能够模拟执行相应的指令, Hypervisor模拟特权指令的执行,并将处理结果返回给指定的客户虚拟系统 实现了不同虚拟机的运行上下文保护与切换,能够虚拟出多个硬件系统,保证了 各个客户虚拟系统的有效隔离。 由于x86体系结构的处理器并不是完全支持虚拟化的,某些x86特权指令在 低特权级上下文执行时,不能产生自陷,导致ⅥMM无法直接捕获特权指令。目前 针对这一问题的解决方案主要有基于动态指令转换或硬件辅助的完全虚拟化技 术和半虚拟化技术两种。 (1)完全虚拟化 完全虚拟化是对真实物理服务器的完整模拟,在上层操作系统看来,虛拟机 与物理平台没有区别,操作系统察觉不到是否运行在虚拟平台之上,也无须进行 任何更改。 完全虚拟化具有很好的兼容性,在服务器虚拟化中得到广泛应用。通过使用 Hypervisor这种中间层软件,在虚拟服务器和底层硬件之间建立一个抽象层。 Hypervisor可以捕获CPU指令,为指令访问硬件控制器和外设充当中介。 完全虛拟化技术几乎能让任何一款操作系统不用改动就能安装到虚拟服务 器上,而它们不知道自己运行在虚拟化环境下。但是性能方面不如裸机,毕竟 Hypervisor需要占用一些资源,给处理器带来额外开销, 在完全虚拟化的环境下, Hypervisor运行在裸硬件上,充当主机操作系统, 而由 Hypervisor管理的虚拟服务器运行客户端操作系统( Guest os)
(不过每个实例有各自的应用程序和用户账户)。虽然操作系统层虚拟化的灵活 性比较差,但本机速度性能比较高。由于架构在所有虚拟服务器上,使用单一标 准的操作系统,管理起来比异构环境要容易。 2、裸机虚拟化 裸机虚拟化架构不需要在服务器上先安装操作系统,而是直接将 VMM 安装在 服务器硬件设备中,本质上该架构中的 VMM 也可以认为是一个操作系统,一般称 为 Hypervisor,只不过是非常轻量级的操作系统(实现核心功能)。 Hypervisor 实现从虚拟资源到物理资源的映射。当虚拟机中的操作系统通 过特权指令访问关键系统资源时,Hypervisor 将接管其请求,并进行相应的模 拟处理。为了使这种机制能够有效地运行,每条特权指令的执行都需要产生“自 陷”,以便 Hypervisor 能够捕获该指令,从而使 VMM 能够模拟执行相应的指令。 Hypervisor 模拟特权指令的执行,并将处理结果返回给指定的客户虚拟系统, 实现了不同虚拟机的运行上下文保护与切换,能够虚拟出多个硬件系统,保证了 各个客户虚拟系统的有效隔离。 由于 x86 体系结构的处理器并不是完全支持虚拟化的,某些 x86 特权指令在 低特权级上下文执行时,不能产生自陷,导致 VMM 无法直接捕获特权指令。目前 针对这一问题的解决方案主要有基于动态指令转换或硬件辅助的完全虚拟化技 术和半虚拟化技术两种。 (1)完全虚拟化 完全虚拟化是对真实物理服务器的完整模拟,在上层操作系统看来,虚拟机 与物理平台没有区别,操作系统察觉不到是否运行在虚拟平台之上,也无须进行 任何更改。 完全虚拟化具有很好的兼容性,在服务器虚拟化中得到广泛应用。通过使用 Hypervisor 这种中间层软件,在虚拟服务器和底层硬件之间建立一个抽象层。 Hypervisor 可以捕获 CPU 指令,为指令访问硬件控制器和外设充当中介。 完全虚拟化技术几乎能让任何一款操作系统不用改动就能安装到虚拟服务 器上,而它们不知道自己运行在虚拟化环境下。但是性能方面不如裸机,毕竟 Hypervisor 需要占用一些资源,给处理器带来额外开销。 在完全虚拟化的环境下,Hypervisor 运行在裸硬件上,充当主机操作系统, 而由 Hypervisor 管理的虚拟服务器运行客户端操作系统(Guest OS)