发明名称 一种分布式虚拟机监视器系统的构建方法
摘要 本发明提供一种分布式虚拟机监视器系统的构建方法,它就是采用最先进的虚拟化技术在硬件之上、操作系统之下,在多个物理结点上部署和构建分布式虚拟机监视器系统DVMM,通过DVMM将多台计算机的资源整合、虚拟化为虚拟资源并集中统一管理。根据应用需求,该方法既可以将多台机器的资源整合成具有单一系统映像的虚拟机供用户使用,以满足超级应用的资源需求;也可以在一台机器上创建多个虚拟机,从而将多个小规模的应用整合到一台机器上,以提高资源利用率。因此,本发明能够充分利用现有资源,满足各类应用的需求,具有广阔的应用前景和产生显著的经济效益。
申请公布号 CN101398768A 申请公布日期 2009.04.01
申请号 CN200810225087.7 申请日期 2008.10.28
申请人 北京航空航天大学 发明人 彭近兵;祝明发;肖利民;龙翔
分类号 G06F9/455(2006.01)I 主分类号 G06F9/455(2006.01)I
代理机构 北京慧泉知识产权代理有限公司 代理人 王顺荣;唐爱华
主权项 1. 一种分布式虚拟机监视器系统的构建方法,其特征在于:该构建方法步骤如下:步骤一:扩展各结点的BIOS成为eBIOS(Extended Basic Input/OutputSystem)。eBIOS实现如下功能:探测本结点拥有的物理资源,通过与其他结点的eBIOS通信收集整个机群的资源信息,将整个机群的资源信息分类整合,生成全局物理资源信息;步骤二:各结点的VMM预留自用的内存资源,对余下资源构建“资源-结点映射表”,实现每一资源到其所在结点的映射;步骤三:对各类资源分别进行虚拟化,生成相应的虚拟资源池;资源虚拟化包括处理器资源虚拟化,内存资源虚拟化、输入/输出I/O(Input/Output)资源虚拟化和中断机制虚拟化;(一)处理器资源虚拟化:处理器资源虚拟化包括处理器的组织和指令集系统ISA(Instruction System Architecture)虚拟化;1、将整个机群范围内的处理器资源进行统一编号、统一管理,为每个虚拟处理器指定三个id,第一个是vcpu_id,用于在VMM中管理虚拟处理器,第二个是vlapic_id,用于向guest OS提供虚拟的apicid,第三个是vcpu_id_global,代表当前虚拟处理器在全局环境下的逻辑id,通过虚拟处理器的vcpu_id_global可以追踪到其所在的结点,以及与其对应的物理处理器;2、基于VT-x实现指令集虚拟化,为每个虚拟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(Programmable I/O,PIO),内存映射I/O(MemoryMap I/O,MMIO)和直接内存访问(Direct Memory Access,DMA),分别阐述如下:配置VMCS使PIO操作成为敏感行为,当客户操作系统执行PIO操作时,会触发VM exit,进入VMM,VMM查询I/O设备影射表,如果设备在本结点,则执行I/O指令,将结果填写到VMCS中,然后执行VM entry操作返回客户OS;如果设备不在本结点,则将I/O指令传递到目标结点,由目标结点执行I/O指令,将结果返回请求结点,请求结点相应地更新客户寄存器内容,然后执行VM entry返回客户系统;通过内存虚拟化模块,将用于MMIO的内存页面标记为不存在;当客户系统执行MMIO时,会引起缺页故障,进入VMM,在内存虚拟化模块的配合下可以发现本次操作是内存映射I/O操作,调用I/O虚拟化模块进行处理,若设备在本结点,则执行I/O指令,然后返回客户系统;如果设备在远程结点,则将指令传递到目标结点,由目标结点执行I/O指令,然后返回客户系统;对于DMA操作,由于其控制指令是PIO操作,所以会引起VM exit进入VMM,随后的处理过程类似于MMIO操作;(四)中断虚拟化以软件模拟的方式实现中断机制虚拟化,一方面,截获OS对中断控制器的操作,若目标中断控制器在本结点,则读取或修改虚拟中断控制器的内容以反映客户操作的效果;若目标中断控制器在远程结点,则将操作请求发送到目标结点,目标结点的VMM操作虚拟中断控制器,另一方面,截获硬件中断,根据中断对象所在结点,分别由本结点的VMM或远程结点的VMM修改虚拟中断控制器的内容,将硬件中断呈现给OS;步骤四:构建各类虚拟资源到物理资源的映射表,实现虚拟资源到物理资源的映射,以及物理资源到物理结点的映射;步骤五:创建管理虚拟机,在特定的结点上创建管理虚拟机(默认情况下是在第一个结点上创建),根据该结点所拥有的物理资源,按照一定的比例为管理虚拟机分配虚拟资源(比如默认按50%的比例分配),管理虚拟机的创建过程如下:
地址 100191北京市海淀区学院路37号北京航空航天大学计算机科学与工程学院