虚拟Xen虚拟化技术

xen  时间:2021-01-04  阅读:()

7.5.2 Xen虚拟化技术

本节中将以主流的Xe n体系架构为例说明虚拟化系统的一般技术架构和工作原理。

1 Xe n体系结构Xe n Hype rvis or

Xen Hypervisor 即Xen的VMM位于操作系统和硬件之间负责为上层运行的操作系统内核提供虚拟化的硬件资源负责管理和分配这些资源并确保上层虚拟机称为域之间的相互隔离。Xe n采用混合模式 因而设定了一个特权域用以辅助Xen管理其他的域并提供虚拟的资源服务该特权域称为Domain 0而其余的域则称为DomainU。

Xe n的体系架构如图7-25所示。Xe n向Do ma in提供了一个抽象层其中包含了管理和虚拟硬件的API。 Do m0内部包含了真实的设备驱动原生设备驱动 可直接访问物理硬件负责与Xe n提供的管理AP I交互并通过用户模式下的管理工具来管理Xe n的虚拟机环境。

Xen向Do main提供了VCPU、虚拟MMUMemo ry Management Unit等基本的虚拟硬件和基本机制事件通道 并向Domain提供了虚拟域管理API 控制接口 。对Domain设备的访问 Xen也提供了相应的硬件接口 安全硬件接口 以保证设备访问得以安全进行。

在Xe n体系架构中涉及到的基本概念包括

控制接口仅能被Do m0使用用于帮助Do m0控制和管理其他的Do main。控制接口提供的具体功能包括Domain的创建、销毁、暂停、恢复及迁移对其他Domain的CPU调度、 内存分配及设备访问等。

安全硬件接口提供除虚拟CPU、MMU之外的所有硬件虚拟工作包括DMA/IO、驱动程序、虚拟的PCI地址配置、虚拟硬件中断等。该接口只能被具有原生设备驱动的Do ma in使用而向其他Do ma in则仅通过设备通道提供虚拟硬件服务。VCPU Xen为每个Domain建立了VCPU结构用以接收Gue st O S中传递的指令其中大部分的指令被VCPU直接提交到物理CPU执行而对于特权指令则需要经过确认后交由Xe n代为执行。

虚拟MMU用于帮助Guest O S完成虚拟地址到机器地址的转换。 Xen系统中增加了客户物理地址层 因而地址由原来的二层结构变为三层结构。Xe n通过虚拟MMU仍能使用硬件MMU来完成地址转换。

事件通道是用于Do main和Xen之间、Do main相互之间的一种异步事件通知机制用于处理Guest OS中的虚拟中断、物理中断以及Domain之间的通信。设备管理器位于Dom0和IDDIndependent Device Domain中可作为系统BIO S的扩展用于向所有的设备提供通用的管理接口并负责在Domain启动时加载特定的设备驱动、建立管理设备通道、提供硬件设备配置接口并处理设备访问错误。

2 C PU虚拟化

1半虚拟化

对CPU指令集不提供硬件支持的情况 Xen只能采取半虚拟化的方案通过修改Guest OS的内核对有缺陷的指令进行替换。在这种模式下 Xen位于操作系统和硬件之间为其上运行的Guest OS内核提供虚拟化的硬件环境 因而Xen具有最高

特权级而Guest OS被迫迁移到相对低的特权级中称为特权解除Privilege Deprivile ging 。x86架构中 C P U提供了4个特权级0环到3环以及分段和分页的内存保护机制但目前多数操作系统中均只使用到了0环和3环两个特权级对应地存在两种特权解除方式 0/1/3模型操作系统运行在1环、 VMM运行在0环、应用程序运行在3环和0/3模型操作系统和应用程序运行在3环 VMM运行在0环 。无论采用哪种模型 Xe n都将替代原操作系统内核占据最高的特权级 因而在Xe n 下运行的Guest OS内核将无法执行某些特权指令并将产生一般保护性错误 Xen 必须通过超级调用向Guest OS提供执行这些特权指令执行的接口。

2硬件虚拟化

面前x86架构中通过引入新的指令和处理器运行模式使得VMM和Guest OS运行在不同的模式下 Guest OS只能在受控模式下运行而在需要VMM进行监控和模拟时由硬件支持模式的切换。在硬件虚拟化方式下不需要对Guest OS内核进行修改而是直接由硬件完成指令的捕获。

3 内存虚拟化

在半虚拟化模式下 Xe n的内存虚拟化通过内存分段保护机制使得Xe n和Guest O S共存于同一个内存地址空间中简化了Xe n对Do ma in内存的分配和管理工作同时利用内存分页机制 Xen可保证各Do ma in在内存上的有效隔离。

Xe n需要确保任意两个非特权Do ma in不会访问到同一内存区虚拟域 因而每一页或页目录的更新必须经过Xe n的确认 以保证每个Do ma in只能控制自己的页表。通过修改Guest OS的内核 Xen可让Guest OS也参与到内存管理工作中来 Xen 可更多关注于内存虚拟化中更重要的内存隔离工作 同时也可让硬件MMU在Guest OS的三层地址转换中发挥作用。

在物理内存的管理中 Xe n引入了VMwa re最先采用的气球驱动模型来调节分配给各Domain的物理内存。

气球驱动可作为驱动程序运行在Guest OS 即Domain中 Guest OS通过该驱动与Xe n通信。当Do ma in需要更多内存时将通过气球驱动向Xe n提交内存申请请求 Xe n可向气球驱动减压以便将将气球驱动所占用的部分空闲内存或通过气球驱动从其他Do ma in回收的内存分配给提交请求的Do main。如果Xen的可用空余内存过低需要从某个Domain回收部分占用的内存 Xen可向气球驱动加压使气球膨胀 Guest OS将回收页面、释放内存以便给本地气球分配足够的内存空间然后气球驱动将分配到的页面传给Xe n Xe n将这些空闲内存集中起来备用。相关的工作原理如图7-26所示。

4 I/O虚拟化

在半虚拟化模式下 Xe n采用了分离设备驱动模型来实现I/O的虚拟化。该模型将设备驱动划分为前端驱动程序、后端驱动程序和原生驱动三个部分其中前端驱动在Do mU中运行而后端驱动和原生驱动在Do m0 IDD中运行。前端驱动负责将Guest O S的I/O请求传递到Dom0 IDD中的后端驱动后端驱动对I/O请求解析并映射到物理设备提交给相应的设备驱动程序控制硬件完成I/O操作。后端驱动检查接收到的I/O请求的有效性并进行虚拟设备地址到物理设备地址的转换。转换之后后端驱动将通过Dom0 IDD中Guest OS提供I/O接口 间接地控制原生设备驱动完成提交的请求。

前端驱动和后端驱动之间I/O请求的传递是通过Xe n内部的一个环形队列I/O环来实现的其结构参见图7-27所示。 I/O环实际上是Xen提供的一块供Do mU和Do m0 IDD访问的共享内存。

针对大量DMA数据在Do mU和Do m0 IDD之间的高效传递需求 Xen提供了授权表Grant Tab le机制。每个Domain都有一个授权表用以指明其内部哪些页面可以被哪些Domain所访问。而Xen内部存在一个活动授权表Active Grant Tab le用于缓存来自各Do ma in授权表的活动表项内容。

当DomU中的Guest OS需要进行DMA操作时前端驱动会为对应的数据页面生成一个授权描述Grant Reference,GR并将授权描述和请求一起放入I/O环。当Do m0 I DD从I/O环中取出请求时将根据授权描述 向Xe n请求锁定该页面。Xen接收到请求后在活动授权表或Guest OS的授权表中确认是否已授权特权域访问该页面通过检查后表明该页面可安全地进行DM A操作。Do m0 I DD在接收到Xe n的响应后即可开始向真实硬件发送DM A请求了。

7.5.3其他虚拟化产品

1 VMware VI Virtual Infrastructure

其实VMware VI不是一款服务器虚拟化软件而是一组服务器虚拟化软件的组合包具体包括了

VMware ESX Server用于虚拟化服务器、存储和网络的平台。

VMware VMFS Virtual Machine F ile S ystem 用于存储虚拟化的高性能群集文件系统。

VMware Virtual SMP为虚拟机提供多处理器支持。

VMware VirtualCenter为IT基础架构提供集中化管理、操作自动化和优化。VMware High Availab ility HA 为虚拟机提供经济高效的高可用性。

VMware DRS Distributed Resource Scheduler 为虚拟机提供动态平衡和资源分配。

VMware VMotion虚拟机实时迁移且服务不中断。

VMware Conso lidated Backup用于虚拟机的集中式备份软件。

VMware ESX Server采用半虚拟化技术可直接将其安装到服务器裸机上并配置虚拟机而无需宿主操作系统。VMware ESX Server将每个虚拟机与服务器硬件和其他虚拟机进行隔离 以确保单个虚拟机崩溃不会影响到其他虚拟机应用程序只能通过配置的网络连接进行通信。 VMware ESX Server将虚拟机环境封装为一组文件 以便于备份、移动和复制。

VMware ESX Server将物理机器的资源分离出来形成一个逻辑的资源池并负责按需将系统资源分配给虚拟机使用并确保服务器资源能被远程管理、 自动预制和标准化。 ESX Server提供了过量使用内存的功能 即虚拟机的内存总和可以安全地超越服务器的物理内存总量该特性可提高服务器内存的整体利用效率。

2微软Hype r-V

微软的Windows Server 2008是一个原生架构的虚拟机产品可直接控制硬件资源其中的Hypervisor部分被称为Hyper-V。 Hyper-V在Windows Server 2008中仅是一个服务器角色但其功能几乎涵盖了VMware ESX的所有功能范围直接挑战VMwa re的行业霸主地位。

Hyper-V的系统架构如图7-28所示。其中的每个分区都代表了一台虚拟机父分区必须运行Windows Server 2008其中包含了一个虚拟化堆栈该堆栈包括了管理工具和自动操作组件如WMI界面 。每个子分区可以运行各自的子操作系统。所有的操作系统都必须运行在分区中。

子分区和父分区之间的通信主要通过VMBus进行 VMBus使用共享内存在同一主机服务器上与虚拟机进行安全通信。

Hyper-V采用了微内核架构使得Hypervisor本身很小只有300k左右 只有少量的程序运行在具有特权的Hypervisor层次上也可保证系统整体更安全系统的稳定性也得以大幅提高。

Hyper-V采用了VSP/VSC架构其中VSP是虚拟化服务提供方运行在宿主操作系统之上而VSC是虚拟化服务客户端运行在虚拟机操作系统之上两者之间将通过VMBus组件进行连接。位于子分区的应用程序发出I/O操作请求后将通过本地虚拟机操作系统平台的I/O堆栈调用虚拟的设备驱动VSC 。VSC接收到I/O请求后通过VMBus将请求转发到父分区的对应VSP VSP对操作请求进行验证和处理后最终通过本地的I/O堆栈和硬件设备驱动访问物理设备完成操作。Hyper-V可支持4 CPU的Windows Server 2008虚拟机和2 CPU的Windows Server 2003虚拟机。当然该特性并非Hyper-V所独有。多处理器虚拟机可支持更高的工作负载但管理更多的处理器也将带来额外的处理负荷 因而应该按需使用多处理器虚拟机。

buyvm美国大硬盘VPS,1Gbps带宽不限流量

buyvm正式对外开卖第四个数据中心“迈阿密”的块存储服务,和前面拉斯维加斯、纽约、卢森堡一样,依旧是每256G硬盘仅需1.25美元/月,最大支持10T硬盘。配合buyvm自己的VPS,1Gbps带宽、不限流量,在vps上挂载块存储之后就可以用来做数据备份、文件下载、刷BT等一系列工作。官方网站:https://buyvm.net支持信用卡、PayPal、支付宝付款,支付宝付款用的是加元汇率,貌似...

DiyVM独立服务器:香港沙田服务器,5M带宽CN2线路,L5630*2/16G内存/120G SSD硬盘,499元/月

diyvm怎么样?diyvm商家VPS主机均2GB内存起步,三个地区机房可选,使用优惠码后每月69元起;DiyVM独立服务器开设在香港沙田电信机房,CN2线路,5M带宽,自动化开通上架,最低499元/月,配置是L5630*2/16G内存/120G SSD硬盘。DiyVM是一家成立于2009年的国人主机商,提供的产品包括VPS主机、独立服务器租用等,产品数据中心包括中国香港、日本大阪和美国洛杉矶等,...

小渣云(36元/月)美国VPS洛杉矶 8核 8G

小渣云 做那个你想都不敢想的套餐 你现在也许不知道小渣云 不过未来你将被小渣云的产品所吸引小渣云 专注于一个套餐的商家 把性价比 稳定性 以及价格做到极致的商家,也许你不相信36元在别人家1核1G都买不到的价格在小渣云却可以买到 8核8G 高配云服务器,并且在安全性 稳定性 都是极高的标准。小渣云 目前使用的是美国超级稳定的ceranetworks机房 数据安全上 每5天备份一次数据倒异地 支持一...

xen为你推荐
.net虚拟主机哪里有支持net4.0的虚拟主机网站域名注册有没有免费的域名申请info域名注册百度还收录新注册的info域名吗?com域名空间域名和空间是什么意思域名服务什么是域名服务?域名服务的主要作用是什么?美国服务器托管美国服务器租用有哪些系列?海外域名我想了解一下“国内域名”,“国外域名”以及“海外服务器”这三个方面的一些知识域名备案什么是域名备案?成都虚拟空间空间服务商那个好重庆虚拟空间重庆有几个机场?
国外vps 免费com域名申请 dns是什么 个人空间申请 全站静态化 网络空间租赁 空间首页登陆 网站加速软件 上海电信测速 美国盐湖城 服务器论坛 阿里云邮箱申请 97rb cdn服务 乐视会员免费领取 葫芦机 nic 西部主机 linux命令vi 赵蓉 更多