版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Chapter 3: Virtual Machines and Virtualization of Clusters and datacenters虚拟机和集群与数据中心虚拟化1Computer School, NUDT. Spring, 20133.1 虚拟化的实现层次 虚拟化技术通过在同一个硬件主机上多路复用虚拟机的方式来共享昂贵的硬件资源, 虚拟化的基本思想是分离软硬件以产生更好的系统性能 虚拟化实现的层次 引入虚拟化后,不同用户应用程序由自身的操作系统(即客户操作系统)管理,并且那些客户操作系统可以独立于主机操作系统同时运行在同一个硬件上,这通常是通过新添加一个称为虚拟化层的软件来完成
2、,该虚拟化层称为hypervisor或虚拟机监视器(Virtual Machine Monitor,VMM) 2Computer School, NUDT. Spring, 2013图3-1 虚拟化前后的计算机系统体系结构,其中,VMM代表虚拟机监视器3Computer School, NUDT. Spring, 2013图3-2 从硬件到应用程序的5个虚拟化抽象层次 4Computer School, NUDT. Spring, 2013Low-Level VMM Operations (1)复用(Courtesy of Mendel Rosenblum, 2006)5Computer Sc
3、hool, NUDT. Spring, 2013Low-Level VMM Operations (2)挂起(Courtesy of Mendel Rosenblum, 2006)6Computer School, NUDT. Spring, 2013Low-Level VMM Operations (3)供应(恢复)(Courtesy of Mendel Rosenblum, 2006)7Computer School, NUDT. Spring, 2013Low-Level VMM Operations (4)动态迁移(Courtesy of Mendel Rosenblum, 2006)
4、8Computer School, NUDT. Spring, 2013指令集体系结构级:代码解释和动态二进制翻译硬件抽象级:虚拟化一个计算机硬件资源操作系统级:在单一物理服务器上创建隔离的容器和操作系统实例库支持级:库接口的虚拟化应用程序级:进程级虚拟化、高级语言(High Level Language,HLL)虚拟机9Computer School, NUDT. Spring, 2013Virtualization at ISA level:Emulating a given ISA by the ISA of the host machine. For example, MIPS bin
5、ary code can run on an x-86-based host machine with the help of ISA emulation. Typical systems: Bochs, Crusoe, Quemu, BIRD, DynamoAdvantage: It can run a large amount of legacy binary codes written for various processors on any given new hardware host machines; best application flexibilityShortcomin
6、g & limitation: One source instruction may require tens or hundreds of native target instructions to perform its function, which is relatively slow. V-ISA requires adding a processor-specific software translation layer in the complier.10Computer School, NUDT. Spring, 2013Virtualization at Hardware A
7、bstraction level: Virtualization is performed right on top of the hardware. It generates virtual hardware environments for VMs, and manages the underlying hardware through virtualization. Typical systems: VMware, Virtual PC, Denali, XenAdvantage: has higher performance and good application isolation
8、Shortcoming & limitation: very expensive to implement (complexity)11Computer School, NUDT. Spring, 2013Virtualization at Operating System level: It is an abstraction layer between traditional OS and user placations. This virtualization creates isolated containers on a single physical server and the
9、OS-instance to utilize the hardware and software in datacenters. Typical systems: Jail / Virtual Environment / Ensims VPS / FVMAdvantage: have minimal starup/shutdown cost, low resource requirement, and high scalability; synchronize VM and host state changes.Shortcoming & limitation: all VMs at the
10、operating system level must have the same kind of guest OS; poor application flexibility and isolation.12Computer School, NUDT. Spring, 2013Library Support level: It creates execution environments for running alien programs on a platform rather than creating VM to run the entire operating system. It
11、 is done by API call interception and remapping. Typical systems: Wine, WAB, LxRun , VisualMainWinAdvantage: It has very low implementation effortShortcoming & limitation: poor application flexibility and isolation13Computer School, NUDT. Spring, 2013User-Application level: It virtualizes an applica
12、tion as a virtual machine. This layer sits as an application program on top of an operating system and exports an abstraction of a VM that can run programs written and compiled to a particular abstract machine definition. Typical systems: JVM , NET CLI , PanotAdvantage: has the best application isol
13、ationShortcoming & limitation: low performance, low application flexibility and high implementation complexity.14Computer School, NUDT. Spring, 20137/29/202215Computer School, NUDT. Spring, 2013VMM的设计需求和提供商 硬件级虚拟化在真实硬件和传统操作系统之间插入一层软件,该层软件通常称为虚拟机监视器(VMM) 对VMM有三个需求。第一,VMM应该为程序提供与原始硬件机器基本一致的环境;第二,运行在该环
14、境中的程序的性能损失应较低;第三,系统资源应处于VMM的完全控制之中。 由VMM完全控制这些资源包括以下方面:(1) VMM负责为应用程序分配硬件资源;(2) 程序不能访问任何未分配给它的资源;(3) 在某些情况下,VMM可以获得对已分配资源的控制权。 16Computer School, NUDT. Spring, 2013Major VMM and Hypervisor Providers 7/29/202217Computer School, NUDT. Spring, 2013操作系统级的虚拟化支持 操作系统级虚拟化在一个操作系统中插入一个虚拟化层来划分机器的物理资源。它使得在一个操作
15、系统内核中可以同时运行多个隔离的虚拟机。这种虚拟机也称为VE(Virtual Execution Environment)、VPS(Virtual Private System,虚拟专用系统)或容器。 从用户的视角来看,VE就像真实服务器。VE有自己的进程、文件系统、用户账号、带有IP地址的网络接口、路由表、防火墙规则及其他个人设置。 尽管VE可为不同用户分别定制,但它们仍共享同一个操作系统内核。因此,操作系统级虚拟化也称为单操作系统镜像虚拟化。 18Computer School, NUDT. Spring, 2013Virtualization for Linux and Windows
16、NT Platforms7/29/202219Computer School, NUDT. Spring, 201320Computer School, NUDT. Spring, 2013虚拟化的中间件支持 21Computer School, NUDT. Spring, 2013图3.4 vCUDA结构的基本概念22Computer School, NUDT. Spring, 201332虚拟化的结构/工具与机制hypervisor与Xen体系结构 图3-5 Xen体系结构用于控制和I/O的特殊零域并用于用户应用程序的客户域23Computer School, NUDT. Spring,
17、2013Xen是一个由剑桥大学开发的开源hypervisor程序。Xen属于微内核hypervisor提供了一种客户操作系统可以直接访问物理设备的机制Xen提供了一个处于硬件和操作系统之间的虚拟环境Xen系统的核心组件是hypervisor、内核和应用程序具有控制特权的客户操作系统称为Domain 0,其他客户操作系统则称为Domain UDomain 0被首先启动。Domain 0可以直接访问硬件和管理设备。因此,Domain 0的一个任务是为所有Domain U分配和映射硬件资源24Computer School, NUDT. Spring, 2013全虚拟化的二进制翻译 根据实现技术的不
18、同,硬件虚拟化可以分为:全虚拟化和基于主机的虚拟化。 全虚拟化不需要修改主机操作系统。它依赖于二进制翻译来陷入和虚拟化一些敏感、不可虚拟化的指令的执行。客户操作系统和它们的应用由非临界和临界指令构成。 在基于主机的系统虚拟化中,主机操作系统和客户操作系统同时存在,虚拟化软件层处于两者之间。 该主机操作系统仍旧负责管理硬件。客户操作系统安装并运行在虚拟化层之上。特定的应用可运行在虚拟机中。 25Computer School, NUDT. Spring, 2013图3-6 复杂指令的间接执行,即使用VMM二进制翻译客户操作系统请求,并在同一台主机上直接执行简单指令26Computer Schoo
19、l, NUDT. Spring, 2013编译器支持的半虚拟化技术 半虚拟化需要修改客户操作系统。半虚拟化虚拟机在用户程序中提供了特殊的API,要求真正修改操作系统。 图3-7 半虚拟化的虚拟机体系结构,其中包括为执行虚拟化进程而修改客户操作系统内核,将不可虚拟化的指令替换为对hypervisor或VMM的超级调用 27Computer School, NUDT. Spring, 2013 图3-8 半虚拟化的客户操作系统,由智能编译器辅助将不可虚拟化的操作系统指令替换为超级调用28Computer School, NUDT. Spring, 2013图3-9 使用半虚拟化的VMware ES
20、X Server体系结构29Computer School, NUDT. Spring, 20133.3 CPU、内存和I/O设备的虚拟化 为支持虚拟化,处理器利用硬件辅助虚拟化,引入一种特殊的运行模式和指令,使得 VMM和客户操作系统可运行在不同模式中,客户操作系统及其应用程序的所有敏感指令会陷入到VMM中。虚拟化的硬件支持 现代操作系统和处理器允许多个进程同时运行。如果处理器中没有保护机制,那么不同进程的所有指令都可以直接访问硬件,很容易导致系统崩溃。因此,所有处理器都至少需要两种模式(用户模式和管理模式)来确保对临界区硬件的受控访问。运行在管理模式的指令称为特权指令,其他指令为非特权指令
21、。 30Computer School, NUDT. Spring, 2013图3-10 Intel对处理器、内存和I/O设备虚拟化的硬件支持31Computer School, NUDT. Spring, 2013CPU虚拟化 虚拟机的非特权指令直接在物理主机中运行 关键指令可以分为三类:特权指令、控制敏感指令和行为敏感指令。特权指令需要在特权模式中执行,当在特权模式之外执行特权指令时会发生陷入。控制敏感指令尝试改变使用资源的配置。行为敏感指令根据资源的配置情况会有不同的行为,包括在虚拟内存中进行的负载和存储操作。 VMM运行在管理模式时,CPU支持在用户模式运行虚拟机的特权指令和非特权指令
22、,则该CPU体系结构是可虚拟化的。 RISC的所有控制敏感指令和行为敏感指令都是特权指令,因此,RISC的CPU体系结构是天然可虚拟化的。32Computer School, NUDT. Spring, 2013图3-11 Intel硬件辅助的CPU虚拟化33Computer School, NUDT. Spring, 2013内存虚拟化 客户操作系统和VMM分别维护从虚拟内存到物理内存的映射和从物理内存到机器内存的映射,共两级映射。客户操作系统仍旧负责从虚拟地址到虚拟机的物理内存地址的映射,VMM负责将客户物理内存映射到实际的机器内存上 图3-12 两级内存映射过程34Computer Sc
23、hool, NUDT. Spring, 2013图3-13 使用Intel的EPT的内存虚拟化(EPT也被称为影子页表) 35Computer School, NUDT. Spring, 2013I/O虚拟化 I/O虚拟化包括管理虚拟设备和共享的物理硬件之间I/O请求的路由选择。实现I/O虚拟化有三种方式:全设备模拟: 一个设备的所有功能或总线结构(如设备枚举、识别、中断和DMA)都可以在软件中复制。半虚拟化: 是Xen所采用的方法,是广为熟知的分离式驱动模型,由前端驱动和后端驱动两部分构成。前端驱动运行在Domain U中,而后端驱动运行在Domain 0中,它们通过一块共享内存交互。直接I
24、/O虚拟化: 让虚拟机直接访问设备硬件。它能获得近乎本地的性能,并且CPU开销不高。36Computer School, NUDT. Spring, 2013图3-14 用于I/O虚拟化的设备模拟,虚拟化在中间层实现,将真实I/O设备映射到客户设备驱动使用的虚拟设备37Computer School, NUDT. Spring, 2013多核处理器的虚拟化 主要有两个困难:一是应用程序编程者必须完全并行地使用所有处理器核,二是软件必须明确地为处理器核分配任务。 物理处理器核与虚拟处理器核:图3.16多核虚拟化方法,当实际只有三个核存在时给软件暴露4个VCPU38Computer School,
25、 NUDT. Spring, 2013Virtual Cores vs. Physical Processor CoresPhysical coresVirtual coresThe actual physical cores present in the processor.There can be more virtual cores visible to a single OS than there are physical cores.More burden on the software to write applications which can run directly on
26、the cores.Design of software becomes easier as the hardware assists the software in dynamic resource utilization.Hardware provides no assistance to the software and is hence simpler.Hardware provides assistance to the software and is hence more complex.Poor resource management.Better resource manage
27、ment.The lowest level of system software has to be modified.The lowest level of system software need not be modified.39Computer School, NUDT. Spring, 2013 虚拟层次结构在一个物理处理器上覆盖一层一致的、缓冲的层次结构。不像固定的物理层次结构,虚拟层次体系结构可以通过自动调整空间共享负载的方式来获得更好的性能和性能隔离性 片上众核多处理器使用一个两级或更多级缓冲的物理层次结构,它静态确定缓冲的分配和映射。一个虚拟层次结构是能够动态适应单一负载或
28、混合负载的缓冲层次结构 40Computer School, NUDT. Spring, 2013图3-17 片上多处理器的服务器合并,通过虚拟机的空间共享将虚拟机映射到众核上,形成多个虚拟集群,分别执行不同的负载41Computer School, NUDT. Spring, 20133.4 虚拟集群和资源管理物理集群与虚拟集群 虚拟集群由多个客户虚拟机构成,这些客户虚拟机安装在由一个或多个物理集群构成的分布式服务器上。在逻辑上,处于一个虚拟集群的客户虚拟机通过一个跨越了多个物理网络的虚拟网络互连在一起。 42Computer School, NUDT. Spring, 2013为虚拟集群提
29、供虚拟机的过程可以动态进行:虚拟集群节点可以是物理机器或虚拟机器主机操作系统管理物理机器的资源,虚拟机运行其上,并且可以运行与主机相异的操作系统。使用虚拟机的目的是合并同一台物理服务器的多个功能。虚拟机可以在多个物理服务器上备份,以提高分布式并行度、容错性,加快灾难恢复速度。虚拟集群的节点数可以动态增减,与P2P网络中覆盖网络的规模变化类似。物理节点的失效会使得运行在其上的虚拟机也失效,但是虚拟机的失效不会影响主机系统。43Computer School, NUDT. Spring, 2013图3-19 基于应用程序划分的虚拟集群概念44Computer School, NUDT. Sprin
30、g, 2013快速部署和有效调度: 系统应具备快速部署的能力。快速部署要求如下两点:一是在集群内的物理节点上尽快构建和发布软件栈(包括操作系统、库、应用程序);二是运行时环境可以从一个用户虚拟集群快速切换至另一个用户虚拟集群。 虚拟化的另一个优点是在虚拟集群中应用程序的负载均衡。负载均衡可以通过使用负载指数和用户登录频率等指标来完成,虚拟集群的自动伸缩机制可以基于该模型实现。高性能虚拟存储 存储体系结构设计可以用于减少虚拟集群分布式文件系统中的复制块45Computer School, NUDT. Spring, 2013在线迁移虚拟机的步骤与性能影响: 在虚拟集群中,虚拟机客户系统与主机系统
31、并存,并且虚拟机运行在物理主机之上。当一个虚拟机失效时,其角色可被其他节点上的虚拟机替代,只要两个虚拟机运行相同的客户操作系统即可。 一个物理节点可以故障转移至另一个主机的虚拟机上。 46Computer School, NUDT. Spring, 2013管理虚拟集群共有四种方式: 第一种方式是基于客户的管理器,其中集群管理器处于客户系统中。在这种管理方式中,多个虚拟机形成一个虚拟集群。 第二种方式是基于主机的集群管理器。监督客户系统且能在另一个物理机器上重启客户系统。 第三种方式是在主机系统和客户系统中使用相互独立的集群管理器来管理虚拟集群。然而,这会使基础设施管理变得更为复杂。 第四种方
32、式是在主机系统和客户系统中使用集成的集群。这表示管理器能区分虚拟资源和物理资源。 47Computer School, NUDT. Spring, 2013 虚拟机可以从一台物理机器在线迁移至另一台物理机器。发生失效时,一个虚拟机可被另一个虚拟机替代。 虚拟集群可以应用在计算网格、云平台和高性能计算系统中。虚拟集群化的主要吸引力在于它可根据用户需求或节点失效后快速提供动态资源。尤其是,虚拟集群化在云计算中发挥着重要作用。当虚拟机运行在线服务时,在线虚拟机迁移方案的设计目标是最小化如下三个指标:微小的停机时间、最低的网络带宽消耗及合理的总迁移时间。 一台虚拟机可能处于如下四种状态之一:非活跃状态
33、、活跃状态、中止状态、挂起状态。 在线迁移虚拟机包括如下6个步骤 : 48Computer School, NUDT. Spring, 201349Computer School, NUDT. Spring, 2013图3-21将虚拟机从一个失效的Web服务器迁移到另一台服务器期间的数据传输速率变化情况50Computer School, NUDT. Spring, 2013内存、文件与网络资源的迁移 内存迁移:将虚拟机的内存实例从一个物理节点迁移至另一个物理节点文件系统迁移:为每个虚拟机提供一个一致的、位置无关的、在所有物理主机上都可访问的文件系统网络迁移:迁移虚拟机时应维持所有开放的网络连
34、接,不应依赖原始主机转发或者依赖移动性或重定向机制的支持。 在线迁移机制主要使用预复制的方法,首先传输所有的内存页,然后迭代地只传输上次传输过程中被修改的内存页。 51Computer School, NUDT. Spring, 2013图3-22 从零域在线迁移虚拟机到一个基于Xen的目标主机52Computer School, NUDT. Spring, 2013虚拟集群的动态部署 53Computer School, NUDT. Spring, 2013图3-23 美国杜克大学的COD项目将一个物理集群划分为多个虚拟集群54Computer School, NUDT. Spring, 2
35、013图3-24 在杜克大学运行8天COD时集群规模的变化情况7/29/202255Computer School, NUDT. Spring, 2013图3-25普度大学的VIOLIN项目在5个虚拟环境共享2个托管集群的自适应场景。注意,自适应前后都有很多空闲节点(空白方块)56Computer School, NUDT. Spring, 20133.5 数据中心的自动化与虚拟化数据中心服务器合并 服务器合并采用减少物理服务器数目的方法,是改进硬件资源低利用效率的有效途径。在许多服务器合并技术(如集中合并和物理合并)中,基于虚拟化的服务器合并是最有效的合并方式。 数据中心需要优化其资源管理,但是这些服务器合并技术在服务器整机级别进行,很难使资源管理得到有效优化。合并增强了硬件利用效率使资源得到更灵活的配置和调度总体拥有成本得到降低。可以改进可用性和业务连续性 57Computer School, NUDT. Spring, 2013虚拟存储管理 在系统虚拟化中,虚拟存储包括由VMM和客户操作系统管理的存储。 存储在该环境中的数据可被分为两类:虚拟机镜像和应用程序数据。 系统虚拟化最重要的方面是封装和隔离。传统操作系统和运行其上的应用程序可被封装到虚拟机之中。在一个虚拟机中仅运行一个操作系统,而该操作系统中则可运行许多应用程序。系统虚拟化允许多虚拟机同时运行在一个物理机器上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 弱电系统施工合同范本
- 地产代理合同
- 果园承包合同书
- 物流仓储设备采购及安装合同书
- 基站场地租赁合同模板年
- 工厂普通买卖合同
- 标准个人借款抵押合同模板
- 商城店面租赁合同范本
- 资产买卖合同书
- 全新临时房租赁合同
- 部编版《道德与法治》六年级下册教材分析万永霞
- 粘液腺肺癌病理报告
- 铸牢中华民族共同体意识自评报告范文
- 巡察档案培训课件
- 物流营销(第四版) 课件 第六章 物流营销策略制定
- 上海高考英语词汇手册列表
- PDCA提高患者自备口服药物正确坚持服用落实率
- 上海石油化工股份有限公司6181乙二醇装置爆炸事故调查报告
- 家谱人物简介(优选12篇)
- 2023年中智集团下属中智股份公司招聘笔试题库及答案解析
- GA 1409-2017警用服饰硬式肩章
评论
0/150
提交评论