虚拟机、集群、数据中心虚拟化

时间:2024-03-16 21:01:00

1、虚拟机的实现层次

虚拟化技术通过在同一个硬件主机上多路复用虚拟机的方式来共享昂贵的硬件资源,

虚拟化的基本思想是分离软硬件以产生更好的系统性能 

VMM代表虚拟机监视器,操作有:复用、挂起、供应(恢复)、动态迁移


1、1虚拟化实现层次

1、1、1指令集体系结构级:代码解释和动态二进制翻译

1、1、2硬件抽象级:虚拟化一个计算机硬件资源

1、1、3操作系统级:在单一物理服务器上创建隔离的容器和操作系统实例

1、1、4库支持级:库接口的虚拟化

1、1、5应用程序级:进程级虚拟化、高级语言

1、1、6指标


1、2VMM设计需求与供应商

硬件级虚拟化在真实硬件和传统操作系统之间插入一层软件,该层软件通常称为虚拟机监视器(VMM)

对VMM有三个需求。

第一,VMM应该为程序提供与原始硬件机器基本一致的环境;

第二,运行在该环境中的程序的性能损失应较低;

第三,系统资源应处于VMM的完全控制之中。

由VMM完全控制这些资源包括以下方面:

(1) VMM负责为应用程序分配硬件资源;

(2) 程序不能访问任何未分配给它的资源;

(3) 在某些情况下,VMM可以获得对已分配资源的控制权。


1、3操作系统虚拟化支持    

操作系统级虚拟化在一个操作系统中插入一个虚拟化层来划分机器的物理资源。

它使得在一个操作系统内核中可以同时运行多个隔离的虚拟机。这种虚拟机也称为VE(Virtual Execution Environment)、VPS(Virtual Private System,虚拟专用系统)或容器。操作系统级虚拟化也称为单操作系统镜像虚拟化。 

1、3、1为什么在操作系统级虚拟化
1、3、2操作系统扩展优点
1、3、3操作系统扩展缺点
1、3、4Linux或Windows平台上的虚拟化

虚拟机、集群、数据中心虚拟化

1、4虚拟话中间间支持:

虚拟机、集群、数据中心虚拟化

VGPU:功能


2、虚拟化的结构/工具与机制

根据虚拟化层的位置,虚拟机的体系解结构分为:

hypervisor体系结构(也称为:VMM 即全虚拟化)

半虚拟化

基于主机虚拟化

2、1hypervisor与Xen体系结构

1hypervisor就是指VMM。

Xen系统的核心组件是hypervisor、内核和应用程序。

Xen提供了一个处于硬件和操作系统之间的虚拟环境。

客户操作系统可以直接访问物理设备的机制。

具有控制特权的客户操作系统称为Domain 0,其他客户操作系统则称为Domain U

Domain 0被首先启动。Domain 0可以直接访问硬件和管理设备。因此,Domain 0的一个任务是为所有Domain U分配和映射硬件资源。


2、2全虚拟化的二进制翻译

根据实现技术的不同,硬件虚拟化可以分为:全虚拟化基于主机的虚拟化。

2、2、1全虚拟化

全虚拟化不需要修改主机操作系统。

它依赖于二进制翻译陷入虚拟化一些敏感、不可虚拟化的指令的执行。

优点:客户操作完全与底层解耦。

缺点:二进制翻译耗时、消耗内存。


2、2、2VMM中对客户操作系统请求的二进制翻译

虚拟机、集群、数据中心虚拟化

2、2、3基于主机的虚拟化

主机操作系统和客户操作系统同时存在,虚拟化软件层处于两者之间,即主机系统上按安装一个虚拟化层。

该主机操作系统仍旧负责管理硬件。


2、3翻译器支持的半虚拟化技术

半虚拟化需要修改客户操作系统。

半虚拟化虚拟机在用户程序中提供了特殊的API,要求真正修改操作系统。 

2、3、1半虚拟化结构体系

虚拟机、集群、数据中心虚拟化

2、3、2 KVM

一个基于Linux的半虚拟化的系统。

2、3、3带有编译器支持的半虚拟化

半虚拟化编译时控制这些指令。


3、CPU 、内存 I/O虚拟化

处理器利用硬件辅助虚拟化,引入一种特殊的运行模式和指令。

3、1    虚拟化硬件支持

虚拟技术:VT-x、VT-i、EPT、DMA和中断重映射、可共享。

虚拟机、集群、数据中心虚拟化

3、2    CPU虚拟化

关键指令可以分为三类:特权指令、控制敏感指令和行为敏感指令

当在特权模式之外执行特权指令时会发生陷入。

陷入遇到非特权指令VMM进行虚拟化。

3、3    内存虚拟化

客户操作系统和VMM分别维护从虚拟内存物理内存的映射和从物理内存到机器内存的映射,共两级映射。

EPT内存虚拟化(影子页表)。

3、4    I/O虚拟化

I/O虚拟化包括管理虚拟设备共享的物理硬件之间I/O请求的路由选择。

全设备模拟:

 一个设备的所有功能或总线结构(如设备枚举、识别、中断和DMA)都可以在软件中复制

半虚拟化: 

Xen所采用的方法,是广为熟知的分离式驱动模型,由前端驱动和后端驱动两部分构成。前端驱动运行在Domain U中,而后端驱动运行在Domain 0中,它们通过一块共享内存交互。

直接I/O虚拟化: 

让虚拟机直接访问设备硬件。它能获得近乎本地的性能,并且CPU开销不高。


3、5    多核处理器虚拟化

 主要有两个困难:

一是应用程序编程者必须完全并行地使用所有处理器核,

二是软件必须明确地为处理器核分配任务。

3、5、1    物理处理器核与虚拟处理器核

虚拟机、集群、数据中心虚拟化

当实际只有三个核存在时给软件暴露4个VCPU

3、5、2    虚拟层次结构

就是在原有物理处理器上覆盖一层或多层一致的、缓冲的层次结构。

目的:自动自动调整空间共享负载的方式获得更好的性能和性能的隔离性。


4 虚拟集群和资源管理

4、1物理集群与虚拟集群

虚拟集群由多个客户虚拟机构成,这些客户虚拟机安装在由一个或多个物理集群构成的分布式服务器上。在逻辑上,处于一个虚拟集群的客户虚拟机通过一个跨越了多个物理网络的虚拟网络互连在一起。

虚拟机、集群、数据中心虚拟化

为虚拟集群提供虚拟机的过程可以动态进行:

虚拟集群节点可以是物理机器或虚拟机器。

主机操作系统管理物理机器的资源,虚拟机运行其上,并且可以运行与主机相异的操作系统。

使用虚拟机的目的是合并同一台物理服务器的多个功能。

虚拟机可以在多个物理服务器备份,以提高分布式并行度、容错性,加快灾难恢复速度。

虚拟集群的节点数可以动态增减,与P2P网络中覆盖网络的规模变化类似。

物理节点的失效会使得运行在其上的虚拟机也失效,但是虚拟机的失效不会影响主机系统。

虚拟集群中应用程序的负载均衡。

4、1、1快速部署及有效的调度

要求如下两点:

一是在集群内的物理节点上尽快构建和发布软件栈(包括操作系统、库、应用程序);

二是运行时环境可以从一个用户虚拟集群快速切换至另一个用户虚拟集群。

4、1、2高性能虚拟存储

4、2在线迁移虚拟机的步骤与性能影响

虚拟集群可根据用户需求或节点失效后快速提供动态资源。

发生失效时,一个虚拟机可被另一个虚拟机替代。

管理虚拟集群共有四种方式:

第一种方式是基于客户的管理器,其中集群管理器处于客户系统中。在这种管理方式中,多个虚拟机形成一个虚拟集群。
第二种方式是基于主机的集群管理器。监督客户系统且能在另一个物理机器上重启客户系统。
第三种方式是在主机系统和客户系统中使用相互独立集群管理器来管理虚拟集群。然而,这会使基础设施管理变得更为复杂。

第四种方式是在主机系统和客户系统中使用集成的集群。这表示管理器能区分虚拟资源和物理资源。

在线虚拟机迁移方案的设计目标是最小化如下三个指标微小的停机时间最低的网络带宽合理的迁移时间。  

一台虚拟机可能处于如下四种状态之一:非活跃状态、活跃状态、中止状态、挂起状态。

在线迁移虚拟机包括如下6个步骤(书上概括成四个步骤) :

1、开始迁移——2、传输内存——3、挂起虚拟机并复制最后的内存数据——4、提交并**新主机

虚拟机、集群、数据中心虚拟化


4、3内存、文件、网络资源的迁移

4、3、1内存迁移

将虚拟机的内存实例从一个物理节点迁移至另一个物理节点

4、3、2文件系统迁移

为每个虚拟机提供一个一致的、位置无关的、在所有物理主机上都可访问文件系统

4、3、3网络迁移

迁移虚拟机时应维持所有开放的网络连接,不应依赖原始主机转发或者依赖移动性或重定向机制的支持。

4、3、4在线迁移Xen虚拟机

RDMA:(远程定向内存访问)技术进行迁移。


4、4虚拟集群的动态部署

虚拟机、集群、数据中心虚拟化


5、数据中心的自动化与虚拟化

5、1数据中心服务器的合并

服务器合并采用减少物理服务器数目的方法,是改进硬件资源低利用效率的有效途径。

在许多服务器合并技术(如集中合并和物理合并)中,基于虚拟化的服务器合并是最有效的合并方式。

服务器虚拟化带来的额外效果:

合并增强了硬件利用效率
使资源得到更灵活的配置和调度
总体拥有成本得到降低。
可以改进可用性和业务连续性 


5、2虚拟存储管理

虚拟存储包括VMM客户操作系统管理的存储。

存储在该环境中的数据可被分为两类:虚拟机镜像应用程序数据。

系统虚拟化最重要的方面是封装和隔离

系统虚拟化允许多虚拟机同时运行在一个物理机器上并且虚拟机之间完全隔离


5、3虚拟化数据中心的云操作

虚拟机、集群、数据中心虚拟化

5、4虚拟化数据中心的可信管理

VMM可提供安全隔离性,虚拟机访问任何硬件资源时都需要通过VMM的审核,因此VMM是一个虚拟系统的安全基础。