[发明专利]一种分布式虚拟机监视器系统的构建方法有效
申请号: | 200810225087.7 | 申请日: | 2008-10-28 |
公开(公告)号: | CN101398768A | 公开(公告)日: | 2009-04-01 |
发明(设计)人: | 彭近兵;祝明发;肖利民;龙翔 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京慧泉知识产权代理有限公司 | 代理人: | 王顺荣;唐爱华 |
地址: | 100191北京市海淀区学院路*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 虚拟机 监视器 系统 构建 方法 | ||
1.一种分布式虚拟机监视器系统的构建方法,其特征在于:该构建方法步骤如下:
步骤一:扩展各结点的BIOS成为eBIOS(Extended Basic Input/OutputSystem);eBIOS实现如下功能:探测本结点拥有的物理资源,通过与其他结点的eBIOS通信收集整个机群的资源信息,将整个机群的资源信息分类整合,生成全局物理资源信息;
步骤二:各结点的VMM预留自用的内存资源,对余下的内存资源,以及处理器资源和I/O资源构建“资源-结点映射表”,实现内存资源、处理器资源和I/O资源到其所在结点的映射;
步骤三:对各类资源分别进行虚拟化,生成相应的虚拟资源池;
资源虚拟化包括处理器资源虚拟化,内存资源虚拟化、输入/输出I/O(Input/Output)资源虚拟化和中断机制虚拟化;
(一)处理器资源虚拟化:处理器资源虚拟化包括处理器的组织和指令集系统ISA(Instruction System Architecture)虚拟化;
1、将整个机群范围内的处理器资源进行统一编号、统一管理,为每个虚拟处理器指定三个id,第一个是vcpu_id,用于在VMM中管理虚拟处理器,第二个是vlapic_id,用于向guest OS提供虚拟的处理器编号,第三个是vcpu_id_global,代表当前虚拟处理器在全局环境下的逻辑id,通过虚拟处理器的vcpu_id_global追踪到其所在的结点,以及与其对应的物理处理器;
2、基于硬件虚拟化技术实现指令集虚拟化,为每个虚拟CPU创建一个虚拟机控制结构VMCS(Virtual Machine Control Structure),当客户操作系统执行到敏感指令或者当敏感行为发生的时候,发生VM exit,VMM查询产生VM exit的原因,然后对指令或行为进行相应的模拟操作,在完成模拟指令或行为后,通过VM entry返回客户操作系统;
(二)内存资源虚拟化
结合共享虚拟内存SVM(Shared Virtual Machine)技术与影子页表技术实现分布式内存虚拟化,通过共享虚拟内存技术将分布于多个物理结点上的内存资源整合成一个虚拟的统一内存空间;通过影子页表技术实现对这个共享的虚拟内存空间的地址到真正的物理内存空间地址的翻译,这样,通过SVM技术与影子页表技术结合,将机群分布式的物理内存整合并虚拟化成具有单一地址空间的虚拟统一内存;
(三)I/O资源虚拟化
采用直接访问和指令传输相结合的方法实现分布式I/O资源的虚拟化,I/O操作分为程序控制I/O PIO(Programmable I/O),内存映射I/O MMIO(Memory Map I/O)和直接内存访问(Direct Memory Access,DMA),分别阐述如下:
配置VMCS使PIO操作成为敏感行为,当客户操作系统执行PIO操作时,会触发VM exit,进入VMM,VMM查询I/O设备映射表,如果I/O设备在本结点,则执行I/O指令,将结果填写到VMCS中,然后执行VM entry操作返回客户OS;如果I/O设备不在本结点,则将I/O指令传递到目标结点,由目标结点执行I/O指令,将结果返回请求结点,请求结点相应地更新客户寄存器内容,然后执行VM entry返回客户系统;
通过内存虚拟化模块,将用于MMIO的内存页面标记为不存在;当客户系统执行MMIO时,会引起缺页故障,进入VMM,在内存虚拟化模块的配合下发现本次操作是内存映射I/O操作,调用I/O虚拟化模块进行处理,若I/O设备在本结点,则执行I/O指令,然后返回客户系统;如果I/O设备在远程结点,则将指令传递到目标结点由目标结点执行I/O指令,然后返回客户系统;
(四)中断虚拟化
以软件模拟的方式实现中断机制虚拟化,一方面,截获OS对中断控制器的操作,若目标中断控制器在本结点,则读取或修改虚拟中断控制器的内容以反映客户操作的效果;若目标中断控制器在远程结点,则将操作请求发送到目标结点,目标结点的VMM操作虚拟中断控制器,另一方面,截获硬件中断,根据中断对象所在结点,分别由本结点的VMM或远程结点的VMM修改虚拟中断控制器的内容,将硬件中断呈现给OS;
步骤四:构建各类虚拟资源到物理资源的映射表,实现虚拟资源到物理资源的映射,以及物理资源到物理结点的映射;
步骤五:创建管理虚拟机,在第一个结点上创建管理虚拟机,将该结点所拥有的物理资源的50%分配给管理虚拟机作为虚拟资源;管理虚拟机的创建过程如下:
1、为虚拟机获得的每个虚拟CPU构建VMCS,用于控制虚拟CPU的运行;
2、根据虚拟机所获得的虚拟内存资源,构建硬件寻址所需要的影子页表以及分布式共享内存算法所需要的物理地址到机器地址映射表;
3、构建虚拟的中断控制结构;
4、根据虚拟机的资源配置,构建虚拟BIOS,以便向客户操作系统呈现可用的虚拟资源;
5、启动并运行管理虚拟机;
步骤六:通过系统管理程序的控制界面显示当前可用的各类虚拟资源;
1、VMM向管理虚拟机报告系统可用的虚拟资源信息,
2、管理虚拟机通过系统管理程序展现可用资源信息;
步骤七:系统管理员根据业务需求,参照当前可用的虚拟资源信息,通过创建、撤销和迁移虚拟机的方式,灵活地使用整个系统的资源,分布式虚拟机监视器根据管理员发出的不同命令,分别进行如下操作:
(一)创建虚拟机
当管理员下达创建虚拟机指令时,分布式虚拟机监视器执行如下操作:
1、管理结点的VMM查询虚拟资源集,判断现有资源能否满足虚拟机的要求,如果不能满足要求,则向系统管理程序报错,如果满足虚拟机要求则继续执行后续步骤;
2、管理结点的VMM为虚拟机分配所需要的虚拟资源,并相应地修改系统可用的虚拟资源集合;
3、管理结点的VMM向其他结点的VMM通报创建虚拟机指令以及为该虚拟机分配的资源信息;
4、各结点VMM根据本结点为待创建虚拟机贡献的资源情况,相应调整可用资源信息;
5、各结点VMM为本结点贡献的每个虚拟CPU构建对应的VMCS;
6、各结点VMM根据本结点贡献的虚拟内存资源,构建影子页表和物理地址到机器地址映射表;
7、各结点VMM为本结点贡献的每个虚拟CPU构建虚拟的中断控制结构;
8、管理结点的VMM为虚拟机构建虚拟BIOS,以便向客户操作系统呈现可用的虚拟资源;
9、管理结点的VMM启动并运行虚拟机;
(二)撤销虚拟机
当管理员下达撤销虚拟机指令时,分布式虚拟机监视器执行如下操作:
1、管理结点的VMM通知虚拟机停机;
2、管理结点的VMM通知其他结点的VMM撤销虚拟机;
3、各结点VMM分别回收虚拟机占用的本结点虚拟资源,并修改本结点当前可用的虚拟资源集合;
4、管理结点的VMM修改系统当前可用资源信息,撤消该虚拟机相关的管理信息;
(三)迁移虚拟机
当管理员下达迁移虚拟机指令时,分布式虚拟机监视器执行如下操作:
1、管理结点的VMM向源结点和目的结点发送迁移命令;
2、源结点的VMM向目的结点发出虚拟机迁移请求;
3、目的结点的VMM接受请求后,与源结点合作,将待迁移的虚拟机扩展为跨越源结点和目的结点的临时虚拟机;
4、目的结点的VMM将待迁移的虚拟机的每个虚拟CPU元数据迁移到目的结点上并重新启动,在目的结点重新启动虚拟CPU后,其访问的页面会逐渐通过分布式共享内存算法从源结点迁移至目的结点,最终完成整个虚拟机的迁移;
步骤八:动态检测并调整系统可用资源信息;
管理结点的eBIOS实时或固定间隔地与其他结点的eBIOS通信,探测机 群中结点的变化情况,修正全局资源信息并及时反映到管理界面,以便管理员能够及时发现机群结点的变化,对系统资源分配策略进行调整;
步骤九:虚拟机运行及与分布式虚拟机监视器交互;
1、分布式虚拟机监视器在创建虚拟机后启动虚拟机运行;
2、虚拟机基于所获得的虚拟资源独立地进行资源的管理和分配,调度和运行进程;
3、虚拟机通过VM exit和VM entry和VMM进行交互;当虚拟机执行在VMCS中设定的敏感指令时,或有中断、异常发生时,虚拟处理器会发生VM exit,控制权转到分布式虚拟机监视器,分布式虚拟机监视器根据引发VM exit的原因,进行针对性地处理,然后通过VM entry返回虚拟机。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810225087.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:自动化集成测试方法
- 下一篇:手持摄影机的光标定位方法