一种分布式虚拟机监视器系统的构建方法技术方案

技术编号:2916700 阅读:219 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种分布式虚拟机监视器系统的构建方法,它就是采用最先进的虚拟化技术在硬件之上、操作系统之下,在多个物理结点上部署和构建分布式虚拟机监视器系统DVMM,通过DVMM将多台计算机的资源整合、虚拟化为虚拟资源并集中统一管理。根据应用需求,该方法既可以将多台机器的资源整合成具有单一系统映像的虚拟机供用户使用,以满足超级应用的资源需求;也可以在一台机器上创建多个虚拟机,从而将多个小规模的应用整合到一台机器上,以提高资源利用率。因此,本发明专利技术能够充分利用现有资源,满足各类应用的需求,具有广阔的应用前景和产生显著的经济效益。

【技术实现步骤摘要】
(一)
:本专利技术涉及一种计算机系统虚拟化技术,尤其是涉及一种以实现服务器机群虚拟化目标的分布式虚拟机监视器系统的构建方法。属于计算机
(二)
技术介绍
:虚拟化是一个广义的术语,在计算机方面通常是指计算和处理在虚拟的基础上而不是真实的基础上运行。计算机虚拟化技术是指对计算机系统的物理资源进行抽象的技术。计算机虚拟化技术可在计算机硬件和操作系统之间构建一个虚拟平台,实现在同一个硬件平台上构建相互隔离的多个运行域,每一个运行域中都可以分别运行自己的操作系统和应用软件。虚拟化技术起源于20世纪60年代,IBM公司在System/360计算机系统中首先运用虚拟化技术实现了虚拟机,随着System/370等系列机的成功推广,虚拟化技术逐渐成为大型机中必然采用的一项重要技术,主要目的是让更多的用户共享昂贵的硬件资源。二十世纪八十年代,随着集成电路技术的飞速发展,计算机硬件成本急剧降低,特别是随着PC等微型机的广泛使用,共享硬件资源的必要性随之降低,关于虚拟化技术的研究和开发工作几近停顿。二十世纪九十年代末以来,随着网络技术的迅速发展以及PC和服务器性能的大幅提高,各种新的网络应用不断涌现,同时也伴随着出现很多新的问题,如,安全性问题、可用性问题、提高服务器和PC机的资源利用率问题等。为了解决这些问题,虚拟化技术再次被使用,虚拟机及虚拟化技术又成为当今计算机界一个重要的研究热点。计算机虚拟化技术主要是通过软件手段对计算机中的重要的接口进行模拟和抽象。实现此类功能的软件称为虚拟化软件。根据虚拟化软件所处的位置以及它所虚拟的接口的不同,虚拟化技术又分为系统级虚拟化技术和进程级虚拟化技-->术。进程级虚拟化技术中的虚拟化软件称为运行时(Runtime),以虚拟应用二进制接口(ABI,Application Binary Interface)为目标,一般位于操作系统之上。系统级虚拟化技术中的虚拟化软件称为虚拟机监视器(VMM,Virtual MachineMonitor),以虚拟指令集系统架构(ISA,Instruction System Architecture)为目标,一般位于操作系统之下,硬件之上。当今,虚拟化技术研究的重点是基于ISA虚拟化构建虚拟机监视器VMM,也就是以系统级虚拟化研究为重点。系统级虚拟化的核心是构建虚拟机监视器,然后在其上创建虚拟机,将本来直接运行于实际硬件平台的操作系统放在虚拟机中运行,这样的操作系统称为客户操作系统(Guest OS),其中原本可直接运行的某些操作通过虚拟层来运行。以VMware虚拟x86指令为例,将其分为:(1)非敏感(non-sensitive)且是非特权(non-priviledged)的指令直接在物理处理机上运行。(2)敏感(sensitive)且是特权(priviledged)的指令陷入(trap)。(3)敏感(sensitive)但却是非特权(non-priviledged)的指令(在x86中有17条这样的指令)由VMM监测。ISA虚拟化的关键是识别和处理指令集中的非特权的敏感指令。按照对这些非特权敏感指令处理方式的不同,可以将虚拟化技术分为全虚拟化技术、部分虚拟化技术、预虚拟化技术和硬件虚拟化技术。全虚拟化是完全模拟客户软件运行所需要的硬件环境,客户操作系统和应用软件可以不经修改地运行在虚拟环境中;部分虚拟化是为客户软件模拟一个和物理环境不完全相同的虚拟硬件环境,需要修改客户操作系统,使之与VMM相互协作,共同完成执行客户软件的任务;预虚拟化是通过汇编器的支持对客户操作系统中的敏感指令进行静态半自动化地替换;硬件虚拟化技术是通过对ISA进行扩展,在处理器级对ISA虚拟化提供支持,从而使VMM的设计和实现大为简化,虚拟化的性能大为提高。具体介绍如下:全虚拟化(Full-Virtualization)方法:该方法提供了对物理硬件的完整模拟,采用软件模拟技术处理敏感指令,在虚拟层中完整地构造一个和物理硬件相当的环境,Guest操作系统可以不加任何修改地运行于虚拟环境中。该方法的优点是很明显的,即Guest操作系统可以不加任何修改地在虚拟机上直接运行,同时也具有很好的灵活性和扩展性。然而这种技术的缺陷也很明显,最大的问题就是每条特权指令的执行都要引起用户模式与特权模式的切换,导致虚拟机的运-->行效率很低。典型的服务器虚拟化系统VMware ESX Server和IBM system/370都采用了全虚拟化方法。部分虚拟化(Para-Virtualization)方法:该方法通过修改Guest源代码中涉及到的敏感指令,用超级调用(hypercall)来代替特权指令,让尽可能多的指令直接运行在物理处理器上。典型的服务器虚拟化系统Xen成功地使用了部分虚拟化方法。Xen通过用超级调用来“包装”多条特权指令的执行,Guest操作系统通过超级调用让VMM执行特权指令,这样就可以减少模式切换,提高执行效率。这个方法的效率可达到非虚拟化的常规执行效率的90%以上,但是,为之付出的代价也很大,需对Guest操作系统代码进行相当大范围的修改,移植成本较高,而且随着Guest操作系统的升级,其维护成本也很高。此外,将新处理器特性集成到VMM API的代价也比完全虚拟化方法要大得多。预虚拟化(Pre-Virtualization)方法:德国Karlsruhe大学、澳大利亚新南威尔士大学和IBM共同提出了预虚拟化方法。这是一种提供工具支持的半自动Guest系统构造方法,利用汇编器的支持,对Guest系统的代码进行扫描,将其中的部分特权指令进行静态替换,对无法静态处理的指令采用profile方法动态地寻找并手工替换。这个方法的指导思想是采用编译工具支持,尽可能地增加可以直接执行的指令,减少需要模拟的指令。采用这个方法基于微内核操作系统L4或者开源Linux构造虚拟机,可以运行经过静态翻译和人工修改的Linux Guest OS,其运行效率也可达到非虚拟化的常规执行效率的90%以上。该方法中Guest代码需要人工干预的汇编级半自动扫描和替换修改,也就是说依然需要获得源代码,至少是汇编代码。硬件虚拟化方法:随着虚拟化技术研究的蓬勃兴起和虚拟机应用快速普及,为了占领此
的优势地位,两大处理器厂商Intel和AMD针对IA-32体系架构的处理器进行了扩展,从硬件上支持虚拟化技术。Intel针对IA-32架构的硬件虚拟化技术称为VT-x(Virtual Technology for x86),AMD针对IA-32架构的硬件虚拟化技术称为SVC(Safe Virtual Machine)。以Intel的VT-x为例,它对IA32体系结构进行了如下扩展:一是增加了一种新的处理器工作模式,称为VMX(Virtual Machine Extensions)模式,用于运行虚拟机系统。其中又分为两个子操作模式,即VMX根(root)操作模式和-->VMX非根(not root)操作模式,VMX根操作模式用于运行VMM,VMX非根操作模式用于运行虚拟机VM,这两种模式都能够支持四个特权级(ring0-ring3)。二是定义了两种模式切换。由根模式进入非根模式的切换,称为VM en本文档来自技高网
...

【技术保护点】
一种分布式虚拟机监视器系统的构建方法,其特征在于:该构建方法步骤如下: 步骤一:扩展各结点的BIOS成为eBIOS(Extended Basic Input/Output System)。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操作...

【技术特征摘要】
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操作虚拟中断控制器,另一方面,截获硬件中断,根据中断对象所...

【专利技术属性】
技术研发人员:彭近兵祝明发肖利民龙翔
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1