




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7.5.2 Xen虚拟化技术本节中将以主流的Xen体系架构为例,说明虚拟化系统的一般技术架构和工作原理。1Xen体系结构(Xen Hypervisor)Xen Hypervisor(即Xen的VMM)位于操作系统和硬件之间,负责为上层运行的操作系统内核提供虚拟化的硬件资源,负责管理和分配这些资源,并确保 上层虚拟机(称为域)之间的相互隔离。Xen采用混合模式,因而设定了一个特权域用以辅助Xen管理其他的域,并提供虚拟的资源服务,该特权域称为 Domain 0,而其余的域则称为Domain U。Xen的体系架构如图7-25所示。Xen向Domain提供了一个抽象层,其中包含了管理和虚拟硬件的API。Dom0内部包含了真实的设备驱动 (原生设备驱动),可直接访问物理硬件,负责与Xen提供的管理API交互,并通过用户模式下的管理工具来管理Xen的虚拟机环境。(点击查看大图)图7-25 Xen体系架构图Xen向Domain提供了VCPU、虚拟MMU(Memory Management Unit)等基本的虚拟硬件和基本机制(事件通道),并向Domain提供了虚拟域管理API(控制接口)。对Domain设备的访问,Xen也提供了相 应的硬件接口(安全硬件接口),以保证设备访问得以安全进行。在Xen体系架构中涉及到的基本概念包括:控制接口:仅能被Dom0使用,用于帮助Dom0控制和管理其他的Domain。控制接口提供的具体功能包括Domain的创建、销毁、暂停、恢复及迁移,对其他Domain的CPU调度、内存分配及设备访问等。安全硬件接口:提供除虚拟CPU、MMU之外的所有硬件虚拟工作,包括DMA/IO、驱动程序、虚拟的PCI地址配置、虚拟硬件中断等。该接口只能被具有原生设备驱动的Domain使用,而向其他Domain则仅通过设备通道提供虚拟硬件服务。VCPU:Xen为每个Domain建立了VCPU结构,用以接收Guest OS中传递的指令,其中大部分的指令被VCPU直接提交到物理CPU执行,而对于特权指令则需要经过确认后交由Xen代为执行。虚拟MMU:用于帮助Guest OS完成虚拟地址到机器地址的转换。Xen系统中增加了客户物理地址层,因而地址由原来的二层结构变为三层结构。Xen通过虚拟MMU仍能使用硬件MMU来完成地址转换。事件通道:是用于Domain和Xen之间、Domain相互之间的一种异步事件通知机制,用于处理Guest OS中的虚拟中断、物理中断以及Domain之间的通信。设备管理器:位于Dom0和IDD(Independent Device Domain)中,可作为系统BIOS的扩展,用于向所有的设备提供通用的管理接口,并负责在Domain启动时加载特定的设备驱动、建立管理设备通道、提供硬件设备配置接口并处理设备访问错误。2CPU虚拟化(1)半虚拟化对CPU指令集不提供硬件支持的情况,Xen只能采取半虚拟化的方案,通过修改Guest OS的内核对有缺陷的指令进行替换。在这种模式下,Xen位于操作系统和硬件之间,为其上运行的Guest OS内核提供虚拟化的硬件环境,因而Xen具有最高特权级,而Guest OS被迫迁移到相对低的特权级中,称为特权解除(Privilege Deprivileging)。x86架构中,CPU提供了4个特权级(0环到3环)以及分段和分页的内存保护机制,但目前多数操作系统中均只使用到了0环和3环两个特权级,对应 地存在两种特权解除方式:0/1/3模型(操作系统运行在1环、VMM运行在0环、应用程序运行在3环)和0/3模型(操作系统和应用程序运行在3 环,VMM运行在0环)。无论采用哪种模型,Xen都将替代原操作系统内核占据最高的特权级,因而在Xen下运行的Guest OS内核将无法执行某些特权指令,并将产生一般保护性错误,Xen必须通过超级调用向Guest OS提供执行这些特权指令执行的接口。(2)硬件虚拟化面前x86架构中通过引入新的指令和处理器运行模式,使得VMM和Guest OS运行在不同的模式下,Guest OS只能在受控模式下运行,而在需要VMM进行监控和模拟时由硬件支持模式的切换。在硬件虚拟化方式下,不需要对Guest OS内核进行修改,而是直接由硬件完成指令的捕获。3内存虚拟化在半虚拟化模式下,Xen的内存虚拟化通过内存分段保护机制,使得Xen和Guest OS共存于同一个内存地址空间中,简化了Xen对Domain内存的分配和管理工作,同时利用内存分页机制,Xen可保证各Domain在内存上的有效隔离。Xen需要确保任意两个非特权Domain不会访问到同一内存区虚拟域,因而每一页或页目录的更新必须经过Xen的确认,以保证每个Domain只 能控制自己的页表。通过修改Guest OS的内核,Xen可让Guest OS也参与到内存管理工作中来,Xen可更多关注于内存虚拟化中更重要的内存隔离工作,同时也可让硬件MMU在Guest OS的三层地址转换中发挥作用。在物理内存的管理中,Xen引入了VMware最先采用的气球驱动模型来调节分配给各Domain的物理内存。气球驱动可作为驱动程序运行在Guest OS(即Domain)中,Guest OS通过该驱动与Xen通信。当Domain需要更多内存时,将通过气球驱动向Xen提交内存申请请求,Xen可向气球驱动减压以便将将气球驱动所占用的 部分空闲内存或通过气球驱动从其他Domain回收的内存分配给提交请求的Domain。如果Xen的可用空余内存过低,需要从某个Domain回收部分 占用的内存,Xen可向气球驱动加压使气球膨胀,Guest OS将回收页面、释放内存以便给本地气球分配足够的内存空间,然后气球驱动将分配到的页面传给Xen,Xen将这些空闲内存集中起来备用。相关的工作原理 如图7-26所示。(点击查看大图)图7-26 气球驱动模型示意图4I/O虚拟化在半虚拟化模式下,Xen采用了分离设备驱动模型来实现I/O的虚拟化。该模型将设备驱动划分为前端驱动程序、后端驱动程序和原生驱动三个部分,其 中前端驱动在DomU中运行,而后端驱动和原生驱动在Dom0(IDD)中运行。前端驱动负责将Guest OS的I/O请求传递到Dom0(IDD)中的后端驱动,后端驱动对I/O请求解析并映射到物理设备,提交给相应的设备驱动程序控制硬件完成I/O操作。后端驱动检查接收到的I/O请求的有效性,并进行虚拟设备地址到物理设备地址的转换。转换之后,后端驱动将通过Dom0(IDD)中Guest OS提供I/O接口,间接地控制原生设备驱动完成提交的请求。前端驱动和后端驱动之间I/O请求的传递是通过Xen内部的一个环形队列(I/O环)来实现的,其结构参见图7-27所示。I/O环实际上是Xen提供的一块供DomU和Dom0(IDD)访问的共享内存。图7-27 Xen的I/O环结构针对大量DMA数据在DomU和Dom0(IDD)之间的高效传递需求,Xen提供了授权表(Grant Table)机制。每个Domain都有一个授权表,用以指明其内部哪些页面可以被哪些Domain所访问。而Xen内部存在一个活动授权表 (Active Grant Table)用于缓存来自各Domain授权表的活动表项内容。当DomU中的Guest OS需要进行DMA操作时,前端驱动会为对应的数据页面生成一个授权描述(Grant Reference, GR)并将授权描述和请求一起放入I/O环。当Dom0(IDD)从I/O环中取出请求时,将根据授权描述,向Xen请求锁定该页面。Xen接收到请求 后,在活动授权表或Guest OS的授权表中确认是否已授权特权域访问该页面,通过检查后,表明该页面可安全地进行DMA操作。Dom0(IDD)在接收到Xen的响应后即可开始向真 实硬件发送DMA请求了。7.5.3 其他虚拟化产品1VMware VI(Virtual Infrastructure)其实VMware VI不是一款服务器虚拟化软件,而是一组服务器虚拟化软件的组合包,具体包括了:VMware ESX Server:用于虚拟化服务器、存储和网络的平台。VMware VMFS(Virtual Machine File System):用于存储虚拟化的高性能群集文件系统。 VMware Virtual SMP:为虚拟机提供多处理器支持。 VMware VirtualCenter:为 IT 基础架构提供集中化管理、操作自动化和优化。 VMware High Availability(HA):为虚拟机提供经济高效的高可用性。 VMware DRS(Distributed Resource Scheduler):为虚拟机提供动态平衡和资源分配。 VMware VMotion:虚拟机实时迁移且服务不中断。 VMware Consolidated Backup:用于虚拟机的集中式备份软件。VMware ESX Server采用半虚拟化技术,可直接将其安装到服务器裸机上,并配置虚拟机,而无需宿主操作系统。VMware ESX Server将每个虚拟机与服务器硬件和其他虚拟机进行隔离,以确保单个虚拟机崩溃不会影响到其他虚拟机,应用程序只能通过配置的网络连接进行通信。 VMware ESX Server将虚拟机环境封装为一组文件,以便于备份、移动和复制。VMware ESX Server将物理机器的资源分离出来形成一个逻辑的资源池,并负责按需将系统资源分配给虚拟机使用,并确保服务器资源能被远程管理、自动预制和标准化。 ESX Server提供了过量使用内存的功能,即虚拟机的内存总和可以安全地超越服务器的物理内存总量,该特性可提高服务器内存的整体利用效率。2微软Hyper-V微软的Windows Server 2008是一个原生架构的虚拟机产品,可直接控制硬件资源,其中的Hypervisor部分被称为Hyper-V。Hyper-V在Windows Server 2008中仅是一个服务器角色,但其功能几乎涵盖了VMware ESX的所有功能范围,直接挑战VMware的行业霸主地位。Hyper-V的系统架构如图7-28所示。其中的每个分区都代表了一台虚拟机,父分区必须运行Windows Server 2008,其中包含了一个虚拟化堆栈,该堆栈包括了管理工具和自动操作组件(如WMI界面)。每个子分区可以运行各自的子操作系统。所有的操作系统都必须 运行在分区中。子分区和父分区之间的通信主要通过VMBus进行,VMBus使用共享内存在同一主机服务器上与虚拟机进行安全通信。Hyper-V采用了微内核架构,使得Hypervisor本身很小(只有300k左右),只有少量的程序运行在具有特权的Hypervisor层次上,也可保证系统整体更安全,系统的稳定性也得以大幅提高。(点击查看大图)图7-28 Hyper-V架构图Hyper-V采用了VSP/VSC架构,其中VSP是虚拟化服务提供方,运行在宿主操作系统之上,而VSC是虚拟化服务客户端,运行在虚拟机操作 系统之上,两者之间将通过VMBus组件进行连接。位于子分区的应用程序发出I/O操作请求后,将通过本地虚拟机操作系统平台的I/O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 英美文学经典作品导读的教学设计教案
- 关于珍惜友情高一作文11篇范文
- 纪念鲁迅有感课件
- 农民互助土地流转经营合同
- 一年级作文过春节放炮8篇
- 一张难忘的照片作文500字小学作文15篇
- 唐诗的鉴赏方法:古诗语言风格教案
- 2025年全国英语等级考试(PETS)二级试卷:英语词汇与语法同步练习试题
- 合同审核流程及文件存档规范
- 早发型卵巢功能不全课件
- 小学语文新课程标准最新版2022
- 室外雨污水、消防管网施工方案
- 疫情防控实战演练方案脚本
- 资产评估事务所投标服务方案总体工作方案评估工作关键性内容及重难点分析
- 思想道德与法治全册教案
- (高职)旅游景区服务与管理电子课件完整版PPT全书电子教案
- 拆卸与安装油箱加油管
- 某国有企业精细管理降本增效经验交流汇报材料企业降本增效.doc
- 沪科版七年级数学上册全套ppt课件
- SCH壁厚等级对照表
- 海洋声学基础讲义吴立新
评论
0/150
提交评论