一种管理与配置虚拟机的系统和方法

文档序号:6638316阅读:150来源:国知局
专利名称:一种管理与配置虚拟机的系统和方法
技术领域
本发明涉及系统集成及应用技术的数字化产品领域,特别是涉及一种管理与配置计算机系统虚拟机的系统和方法。
背景技术
虚拟化技术(Virtualization Technology,VT)是指在一套完整的计算机硬件平台上,通过软件方法或硬件装置,将一组硬件虚拟成多组硬件,并提供给多个独立运行的软件系统(通常是操作系统)作为独立运行环境的技术。具备虚拟化技术的计算机装置可以并行的运行多个独立的操作系统,这些操作系统之间除了运行过程中分享硬件资源(如内存、I/O中断、存储和CPU)外,互相保持独立,可以看作是多个独立的计算机在运行。
目前典型的虚拟化技术有英特尔的VT-i和VT-x技术,其中VT-x是应用于台式机和X86服务器平台上的虚拟化技术,而VT-i则是应用于安腾平台上的虚拟化技术。此外,还有AMD的Pacifica虚拟化技术。
在现有已经公开的虚拟化技术架构中,重点是实现对于硬件资源的虚拟化,从而在一台计算机上可以并行地运行多个操作系统,这些独立运行的操作系统通常被称为虚拟机(Virtual Machine,VM),这些操作系统相互之间不干扰,比如一个虚拟机能访问的内存是另一个虚拟机所不能访问的,通过这样实现多个操作系统之间的隔离。
在这种虚拟化技术中,通过在实际的硬件层面上增加一组专门给虚拟机监视器(Virtual Machine Monitor,VMM)使用的指令,虚拟处理器资源、存储资源以及I/O资源,使得用户应用程序不需要任何修改就可以运行在虚拟机上,这就提供了一个非常广的创新应用范围。
虚拟化技术的出现使得计算机的应用出现很多和以往不同的特点,同时也大大提高了计算机系统的效率、灵活性和安全性,使得虚拟化技术的应用步入桌面平台。
对于服务器桌面平台而言,虚拟化技术的应用可以大大提高虚拟化解决方案的可靠性和可支持性,实现改善的可靠性和容错备援功能。而且,因为虚拟化技术而增强的虚拟化解决方案可以通过与服务器整合、传统移植和安全性保护等而受到用户的青睐。
对于客户机桌面平台而言,虚拟化技术的硬件独立性为高度可用和更安全的客户虚拟化分区提供了基础。家庭用户可以创建虚拟“分区”,隔离多个用户环境,如分配专门资源来支持电脑游戏、办公和个人录像类环境。
而且,随着CPU不断向多内核平台移植,还可以使用基于虚拟化技术的分区和额外处理内核,在服务器和/或客户端内部创建独特组合,来支持专门应用。
但是,目前的虚拟化技术系统管理和配置实现手段是在计算机系统上架设一个管理的操作系统(即虚拟机),管理分配所有的资源,然后由这个操作系统来启动其它的操作系统,这样的管理和配置实现方式比较大的弊病在于需要一个管理的操作系统,先要启动这个操作系统,然后才能启动真正应用的操作系统,这样既浪费计算机系统资源,也让多个操作系统在同一个硬件平台启动时非常繁琐。而且,被启动的操作系统的某些行为还要受限于这个管理的操作系统,这种方式给计算机用户带来很多操作上的不便。

发明内容
本发明的目的在于以计算机领域的虚拟化技术为基础,提出一套虚拟化多操作系统预启动(Pre-boot)配置和管理的系统和方法,从而在多操作系统的虚拟化平台中,实现虚拟机的配置和管理。
实现本发明的技术方案如下一种管理与配置虚拟机的系统,包括至少一个虚拟机,虚拟机监视器,硬件,还包括管理与配置模块,用于管理配置存储所述虚拟机的虚拟硬件信息;当所述系统上电时先从所述的管理与配置模块中读取管理与配置所述虚拟机的信息,所述虚拟机监视器根据所述信息启动所述虚拟机。
相应地,一种管理与配置虚拟机的方法,其特征在于,包括以下步骤步骤一计算机系统上电后,在自检的过程中,检测系统是否支持虚拟机;步骤二初始化虚拟机监视器;步骤三检测管理与配置模块;步骤四自检完成后,根据用户的选择,完成虚拟机管理与配置;如果用户不选择,则直接进入步骤五;步骤五操作系统装载器(OS Loader)读取虚拟机管理与配置模块信息保存区中的管理与配置信息,写入系统信息表,并启动虚拟机监视器。所述管理与配置虚拟机的系统,还包括可扩展固件接口(Extensible FirmwareInterface,EFI)模块或者基本输入输出系统(Basic Input-Output System,BIOS),用于调节所述硬件;所述管理与配置模块包括在可扩展固件接口模块或者基本输入输出系统中。
进一步地,所述管理与配置模块包括基本输入输出系统或者可扩展固件接口的设定模块。
系统完成自检后,用户选择进入基本输入输出系统(BIOS)或者可扩展固件接口设定模块中;然后,设定模块从管理与配置模块保存区中读取当前系统的管理与配置信息,用户通过设定界面管理与配置信息数据,也可以恢复出厂设置,完成后保存退出,或者废弃修改退出。
所述设定模块还包括系统虚拟化设置模块,用于完成虚拟化分区的设置与管理。
用户通过设定界面中的系统虚拟化设置选项,选择进入虚拟化设置模块的设置与管理信息界面,在所述界面完成虚拟机的管理与配置。
可选择地,所述管理与配置模块包括可扩展固件接口执行指令器(EFIShell)管理与配置模块。
首先,完成自检后,用户选择进入可扩展固件接口执行指令器状态,在执行指令器(Shell)的命令行下,执行可扩展固件接口执行指令器管理与配置模块;其次,可扩展固件接口执行指令器管理与配置模块首先检查设置与管理信息的状态,如果有,则读取设置与管理信息;如果无则读取出厂设置;如果无出厂设置则将整个系统设置成单一分区;最后,通过可扩展固件接口执行指令器管理与配置模块界面,修改设置与管理信息数据,也可以将系统设置到出厂状态,然后保存或不保存设置与管理信息,也可以直接退出可扩展固件接口执行指令器管理与配置模块界面。
本发明的有益效果是本发明通过把管理与配置程序置于虚拟机监视器更底层的可扩展固件接口或者基本输入输出环境中,一方面简化管理与配置的过程与系统资源的占用和约束,另外一方面用户可以以非常传统的基本输入输出系统或者可扩展固件接口设定模式,或者以单独运行于可扩展固件接口执行指令器模式下的应用程序的模块来管理和配置虚拟机监视器,然后通过可扩展固件接口的操作系统装载器应用将配置结果传递给虚拟机监视器,虚拟机监视器根据配置信息,自动在后台完成多个操作系统的启动。
通常用户并不是每次都会改变虚拟机监视器的配置,所以,当设置完成生效后,每次启动并不需要进入该程序,而是直接通过操作系统装载器(OSLoader)将参数传递给虚拟机监视器,虚拟机监视器根据相应参数完成多个操作系统的启动过程。在这种情况下,用户的操作使用习惯没有改变,同时又能体验到真正运行多个独立的操作系统。


图1为本发明管理与配置虚拟机的系统框架图;图2为本发明系统虚拟化设置示意图;图3为实施例一实现本发明管理与配置虚拟机的方法流程图;图4为实施例二实现本发明管理与配置虚拟机的方法流程图;图5为实施例三实现本发明管理与配置虚拟机的方法流程图。
具体实施例方式
本发明涉及到计算机从上电(Power On)到虚拟机监视器正式启动的整个过程,操作系统(OS)在虚拟机监视器(VMM)控制下启动的过程不包含在本发明中,本发明只描述从上电(Power On)到虚拟机监视器(VMM)启动过程中,完成虚拟机监视器(VMM)的管理与配置。
本发明还将涉及可扩展固件接口(EFI)技术,下面我们先对其进行介绍可扩展固件接口(EFI)是1999年出现的用以取代沿用多年的基本输入输出系统(BIOS)的新一代接口程序,关于可扩展固件接口的介绍,详见UEFI论坛关于EFI技术的介绍http://www.UEFI.org。EFI介于硬件设备以及操作系统(比如Windows或者Linux)之间,提供支持鼠标的图形界面,用户通过鼠标操作可以配置计算机,它与纯文本、界面单调的普通BIOS明显不同。与传统的BIOS不同,EFI使用全球最广泛的高级语言C语言进行编写,这就意味着有更多的工程师可以参与EFI的开发工作,添加许多更有价值的功能。为了保证充裕的容量,EFI彻底抛弃了ROM,其文件系统存储在硬盘独立划定的区域内。
EFI具备的基本功能为无需操作系统的磁盘管理、启动管理工具;远程配置、引导;脱离操作系统的平台管理工具。
EFI的工作模式可以简单归纳为启动系统,标准固件平台初始化,接着从加载EFI驱动程序库以及及执行相关程序,在EFI系统启动菜单中选取所要进入的系统并向EFI提交启动引导代码,正常的话将进入系统,否则将中止启动服务并返回EFI系统启动菜单。EFI可以替代BIOS的功能,而且在特殊功能得到了强化。比如系统死机后,用户可以进入EFI,通过改变配置,载入不同的驱动程序等手段解决操作系统出现的问题。EFI包括TCP/IP网络协议,用户可以在EFI界面使用网络资源,进行远程诊断,而这样的远程诊断不需要DOS、Linux等系统。工程师们也可以按照不同的需要为EFI增加新的功能,诸如更加详细实用的诊断功能、自我配置程序、列出系统可能发生的故障等等。EFI向用户提供了更直观的界面和更简化的操作;更为丰富的功能。性能增强更加简单。
实施例一如图1及图3所示,本发明实施例的管理与配置虚拟机的系统多个虚拟机1,以及虚拟机监视器2,硬件4,还包括可扩展固件接口(EFI)模块或者基本输入输出系统(BIOS),用于调节所述硬件,可扩展固件接口(EFI)模块或者基本输入输出系统(BIOS)中还包括管理与配置模块3,用于管理配置所述虚拟机监视器。
管理与配置模块3中还包括基本输入输出系统或者可扩展固件接口的设定(Setup)模块。
设定(Setup)模块还包括系统虚拟化设置模块,用于完成虚拟化分区的设置与管理。
系统的CMOS增加2个数据区,其中一个数据区用来保存出厂设置,这部分是只读的,另外一个数据区为用户可以改变的管理和设置数据。
为进一步详细说明本实施例,下面结合管理与配置模块系统说明其工作过程(1)检测系统是否支持虚拟机技术当系统上电时,在基本输入输出系统(BIOS)或者可扩展固件接口(EFI)的自检(POST)过程中,检测虚拟机(VM)1状态,即检测系统是否支持虚拟化技术(VT),检测的方式为系统是否能够执行VMX指令,如果能执行VMX指令,则该系统支持虚拟化技术(VT),反之则系统不支持VT,不再进行后续的初始化过程,直接返回。
判断是否支持VT的执行指令可以是Mov EAX 1CPUIDAND ECX 0X10JZ nosupport(2)初始化虚拟机监视器(VMM)2检测完成后,根据虚拟化技术(VT)的供应商以及版本要求,利用VMXON指令初始化虚拟机监视器(VMM)2及各个寄存器。
(3)检测管理与配置模块3信息如果管理与配置模块3的信息状态为空,则将出厂设置信息设为管理与配置模块3信息,如无出厂设置,则将整个系统设置成一个虚拟机;如果管理与配置模块3信息的状态不为空,则从管理配置模块3信息保存区中读取数据。
出厂设置信息保存在CMOS中只读或者禁止修改的存储区域。
(4)设定(Setup)管理与配置完成自检(POST)之后,用户选择进入基本输入输出系统(BIOS)或者可扩展固件接口(EFI)的设定(Setup)模块中,设定模块(Setup)从管理与配置模块3信息保存区中读取当前的设置信息,用户可以通过设定(Setup)模块的显示界面来调整管理与配置信息数据,完成后保存退出,或者放弃修改退出。在设定(Setup)模块中,用户也可以完成恢复出厂设置这样的操作。当用户选择恢复出厂设置的操作后,设定(Setup)模块直接把管理与配置模块3信息的状态设为空即可。退出设定(Setup)界面后,系统重新启动,系统完成自检(POST)过程后,操作系统装载器(OS Loader)读取管理与配置信息,写入系统信息表(System Table),然后启动虚拟机监视器(VMM)2,虚拟机监视器(VMM)2根据系统信息表(System Table)中的信息配置整个系统,并逐一启动相应的虚拟机(VM)1。
恢复出厂设置是在管理与配置模块中的一个子过程,其目的是恢复到系统的出厂设置。恢复出厂设置的方法是读取设置与管理信息状态,如果非空,则置空。
在设定(SETUP)模块的显示界面的主菜单上,还增加一个系统虚拟化设置模块,用户选择该模块进入虚拟化分区的管理与配置信息界面,如图2所示,用户在该界面可以对包括虚拟机处理器、内存、硬盘等的管理与配置。在该页面,用户可以选择恢复到出厂设置,将虚拟化分区的管理与配置状态改变到出厂设置状态。
虚拟机的管理与配置信息保存在计算机可以修改的CMOS存储空间,该部分可以为外部程序读写。
实施例二如图4所示,作为本发明的另一个实施例,管理与配置虚拟机系统是通过可扩展固件执行指令管理与配置模块(EFI Shell)完成的。
与实施例一相同的是,当系统上电时,在自检的过程中,首先检测VT状态,然后检测管理信息。与实施例一不同的是,用户选择进入可扩展固件执行指令管理与配置模块(EFI Shell)的状态,在命令行下,执行可扩展固件执行指令管理与配置模块(EFI Shell)。
可扩展固件执行指令管理与配置模块(EFI Shell)执行如下操作
首先检查设置与管理信息的状态,如果有,则读取设置与管理信息,如果无则读取出)厂设置,如果无出厂设置,则将整个系统设置成单一虚拟机;然后,启动可扩展固件执行指令管理与配置模块的用户交互界面。
通过该界面,用户可以修改设置与管理信息;可以将设置恢复到出厂状态,可以保存和不保存设置与管理信息,也可以直接退出设置与管理程序。退出设置与管理程序后,根据可扩展固件执行指令管理与配置模块(EFIShell)的状态决定下一步操作,如果退出可扩展固件执行指令管理与配置模块(EFI Shell),则系统继续完成启动过程,操作系统装载器(OSLoader)读取设置与管理信息(当管理与配置信息非空时)或者出厂设置信息(当管理与配置信息为空时),并按照指定的格式写入系统信息表(System Table);操作系统装载器(OsLoader)启动虚拟机监视器(VMM),虚拟机监视器(VMM)读取系统信息表(System Table)中的信息,按照该信息来管理与配置当前系统,并启动相应操作系统。
可扩展固件接口执行指令(EFI Shell)管理与配置模块修改的信息可以保存在主板的闪存(Flash)中,随计算机一起提供给最终客户;也可以保存在硬盘的隐藏分区中,随机器一起提供给最终客户;也可以保存在光盘,或者U盘(USB硬盘或者USB软盘)中,作为系统的附件提供给客户;还可以保存在服务网站上,可以通过HTTP、FTP以及文件共享的方式下载到系统供用户使用。
实施例三如图5所示,在本实施例中,管理与配置虚拟机的系统不包括设定(SETUP)模块,也不包括可扩展固件执行指令管理与配置模块。
用户不需要改变虚拟机系统的管理与配置信息,而是直接启动系统。当系统上电时,在自检(POST)的过程中,首先检测系统是否支持虚拟机技术(VT),然后检测虚拟机的管理与配置信息。与实施例一不同的是,用户既不选择进入设定(Setup)模块,也不选择进入可扩展固件执行指令管理与配置模块(EFI shell)。完成自检(POST)过程后,操作系统装载器(OSLoader)读取管理与配置信息,写入操作系统信息表(System Table),并启动虚拟机监视器(VMM),虚拟机监视器(VMM)根据操作系统信息表(System Table)中的信息配置整个系统,并逐一启动相应虚拟机。
本发明提出了一种在可扩展固件接口(EFI)或者基本输入输出系统(BIOS)下对虚拟机监视器进行管理与配置的系统和方法,是在可扩展固件接口(EFI)环境下提供界面接口对虚拟机的硬件资源进行分配的一种实现,其在预启动(Pre-boot)阶段基于可扩展固件接口(EFI)或者基本输入输出系统(BIOS)对虚拟机特性进行初始化,确定待启动的虚拟机,分配每个虚拟机的硬件资源,构建虚拟机环境和硬件资源分配表,并启动虚拟机监视器(VMM),虚拟机监视器(VMM)根据配置信息对每个虚拟机的硬件资源进行分配,并启动每个虚拟机。
本发明把计算机的管理与配置置于虚拟机监视器(VMM)之下的可扩展固件接口(EFI)环境中,由于基本输入输出系统(BIOS)或者可扩展固件接口(EFI)在计算机架构中本身就是管理整个系统的层次,因此在该层次管理虚拟机监视器(VMM)的信息,符合整个计算机体系架构的设计;而且在基本输入输出系统(BIOS)或者可扩展固件接口(EFI)完成虚拟机监视器(VMM)的管理与配置之后,可以使得虚拟机监视器(VMM)层去掉多余的管理工作,而专注于各个基于虚拟机监视器(VMM)的虚拟机的启动以及整个系统部件的虚拟化过程;同时由于去掉一个专门负责管理和维护虚拟机监视器(VMM)的操作系统,整个系统的负载有效的分配给真正的任务操作系统上,提高了系统的效率,使用户感觉到真正有多个操作系统在同时运行,而不是几个操作系统运行在一个操作系统之下,真正符合用户的使用习惯,使用户对系统的管理更简洁明了。
尽管在具体实施方式
中为说明本发明而进行了详细的描述,但是这并不意味着是对本发明的限定。本领域的技术人员在不脱离本发明技术方案的主旨的情况下,对本发明所作的变化,是在本发明的保护范围内的。
权利要求
1.一种管理与配置虚拟机的系统,包括至少一个虚拟机(1),虚拟机监视器(2),硬件(4),其特征在于,还包括管理与配置模块(3),用于管理配置存储所述虚拟机(1)的虚拟硬件信息;当所述系统上电时先从所述的管理与配置模块(3)中读取管理与配置所述虚拟机(1)的信息,所述虚拟机监视器(2)根据所述信息启动所述虚拟机(1)。
2.根据权利要求1所述的管理与配置虚拟机的系统,其特征在于,所述系统有一可扩展固件接口模块,用于调节所述硬件;所述管理与配置模块(3)包括在可扩展固件接口模块中。
3.根据权利要求1所述的管理与配置虚拟机的系统,其特征在于,所述系统有一基本输入输出系统,用于调节所述硬件;所述管理与配置模块(3)包括在基本输入输出系统中。
4.根据权利要求2或3所述的管理与配置虚拟机的系统,其特征在于,所述管理与配置模块(3)还包括基本输入输出系统或者可扩展固件接口的设定模块。
5.根据权利要求4所述的管理与配置虚拟机的系统,其特征在于,所述设定模块还包括系统虚拟化设置模块,用于完成虚拟化分区的设置与管理。
6.根据权利要求2所述的管理与配置虚拟机的系统,其特征在于,所述管理与配置模块(3)还包括可扩展固件接口解释器管理与配置模块,用于完成虚拟化分区的设置与管理。
7.根据权利要求2或3中任一项所述的管理与配置虚拟机的系统,其特征在于,所述管理与配置模块(3)包括出厂信息和管理与配置信息,所述出厂信息保存在CMOS中只读或者禁止修改的存储区域;所述管理与配置信息保存在可以修改的CMOS存储空间,所述可以修改的CMOS存储空间可以为外部程序读写。
8.一种管理与配置虚拟机的方法,其特征在于,包括以下步骤步骤一计算机系统上电后,在自检的过程中,检测系统是否支持虚拟机(1);步骤二初始化虚拟机监视器(2);步骤三检测管理与配置模块(3);步骤四自检完成后,根据用户的选择,完成虚拟机管理与配置;如果用户不选择,则直接进入步骤五;步骤五操作系统装载器读取虚拟机管理与配置模块(3)信息保存区中的管理与配置信息,写入系统信息表,并启动虚拟机监视器(2)。
9.根据权利要求8所述的管理与配置虚拟机的方法,其特征在于,所述步骤四包括下列过程首先,完成自检后,用户选择进入基本输入输出系统或者可扩展固件接口设定模块中;然后,设定模块从管理与配置模块(3)保存区中读取当前系统的设置信息,用户通过设定界面配置与管理信息数据,或者恢复出厂设置,完成后保存退出,或者废弃修改退出。
10.根据权利要求9所述的管理与配置虚拟机的方法,其特征在于,通过所述设定界面中的系统虚拟化设置选项,选择进入系统虚拟化设置模块的设置与管理信息界面,在所述界面完成虚拟机的管理与配置。
11.根据权利要求8所述的管理与配置虚拟机的方法,其特征在于,所述步骤四包括下列过程首先,完成自检后,用户选择进入可扩展固件接口执行指令器状态,在执行指令器的命令行下,执行可扩展固件接口执行指令器管理与配置模块;其次,可扩展固件接口执行指令器管理与配置模块首先检查设置与管理信息的状态,如果有,则读取设置与管理信息;如果无则读取出厂设置;如果无出厂设置则将整个系统设置成单一分区;最后,通过可扩展固件接口执行指令器管理与配置模块界面,修改设置与管理信息数据,也可以将系统设置到出厂状态,然后保存或不保存设置与管理信息,或者直接退出可扩展固件接口执行指令器管理与配置模块界面。
全文摘要
一种管理与配置虚拟机的系统和方法,包括至少一个虚拟机(1),虚拟机监视器(2),硬件(4),管理与配置模块(3),当计算机系统上电后,在自检的过程中,检测系统是否支持虚拟机(1);初始化虚拟机监视器(2);检测管理与配置模块(3);在自检完成后,根据用户的选择,完成虚拟机管理与配置;如果用户不选择,则直接进入下一步;操作系统装载器读取虚拟机管理与配置模块(3)信息保存区中的管理与配置信息,写入系统信息表,并启动虚拟机监视器(2)。本发明把计算机的管理与配置虚拟机监视器(VMM)通过管理与配置模块完成,减少一个专门负责管理和维护虚拟机监视器(VMM)的操作系统,提高了系统的效率,使用户对系统的管理更简洁明了。
文档编号G06F9/455GK1916854SQ20051009323
公开日2007年2月21日 申请日期2005年8月19日 优先权日2005年8月19日
发明者金峰, 田宏萍 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1