一种多虚拟机环境下的快速部署系统转让专利

申请号 : CN200810046677.3

文献号 : CN101216777B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 金海吴松袁金艳高巍邓莉钟阿林谭浩宇潘晓东

申请人 : 华中科技大学

摘要 :

本发明公开了一种多虚拟机环境下的快速部署系统,该系统采用三层结构,其中用户统一访问接口层为用户提供基于Web的服务访问图形化界面,它通过用户统一访问模块实现;异构虚拟机平台层包括相互独立的插件模块和虚拟机平台;快速部署服务管理层包括用户管理模块、虚拟机模板创建模块、虚拟机模板管理模块和增量部署模块。本发明屏蔽了底层虚拟机平台的异构性,为用户提供统一的应用环境部署服务访问接口,实现了各异构虚拟机平台之间的资源服务互操作。本发明与现有技术相比,不仅具有支持异构虚拟机平台的优点,还可提供应用软件的部署,提高了部署的效率和灵活性,提高了资源的利用率,系统的可扩展性好,易于管理,提高了资源利用的透明性。

权利要求 :

1.一种多虚拟机环境下的快速部署系统,其特征在于:包括位于服务器内的用户统一访问接口层,位于服务器或底层任一个节点机上的为用户提供服务的快速部署服务管理层,以及底层异构虚拟机平台层;

用户统一访问接口层为用户提供基于Web的服务访问图形化界面,它通过用户统一访问模块(1)予以实现;用户统一访问模块(1)将系统提供的各种服务展示给用户,并接受用户的服务访问请求,经过预处理后向下传递给快速部署服务管理层的各模块,并接收快速部署服务管理层返回的信息,提供给用户;

底层异构虚拟机平台层包括相互独立的插件模块(6.1,6.2,...,6.N)和虚拟机平台(7.1,7.2,...,7.N),虚拟机平台(7.1,7.2,...,7.N)用于直接管理底层各节点机的硬件资源,并通过插件模块(6.1,6.2,...,6.N)与上层快速部署服务管理层的各模块交互,处理快速部署服务管理层提交的服务并将处理的结果返回给快速部署服务管理层;

快速部署服务管理层包括用户管理模块(2)、虚拟机模板创建模块(3)、虚拟机模板管理模块(4)和增量部署模块(5);

用户管理模块(2)用于负责用户身份的管理,它接受用户统一访问模块(1)中用户的身份认证信息,对用户的身份认证信息进行预处理后再转交给底层异构虚拟机平台层对应的插件模块;

虚拟机模板创建模块(3)用于负责各种操作系统以及应用软件的模板的创建,它接受用户统一访问模块(1)中用户所需的基本操作系统以及应用软件的信息,对信息进行预处理后再转交给底层异构虚拟机平台层对应的插件模块;

虚拟机模板管理模块(4)采用索引和cache机制管理各操作系统模板与各应用软件模板之间的对应关系,负责虚拟机模板的更新;它接受用户统一访问模块(1)中用户所需的基本操作系统以及应用软件的信息,对这些信息进行处理,同时也与底层异构虚拟机平台层的插件模块交互获取底层模板存储信息,并将这些模板信息传递给增量部署模块(5);

增量部署模块(5)用于完成增量传输和增量部署,它将用户选择的请求信息进行预处理,再转交给虚拟机模板管理模块(4)进行处理,并将接收的返回结果发送给用户统一访问模块(1)。

2.根据权利要求1所述的快速部署系统,其特征在于:用户管理模块(2)包括用户注册模块(21)、用户登陆认证模块(22)以及用户数据库(23);

用户注册模块(21)用于接受并处理用户统一访问模块(1)中用户的注册请求,通过与用户数据库(23)进行交互,将用户的相关信息保存在用户数据库(23)中,并通过用户统一访问模块(1)反馈相应的信息给用户;

用户登陆认证模块(22)用于接受并处理用户统一访问模块(1)中用户的登陆认证请求,通过与用户数据库(23)进行交互对用户身份进行认证,并通过用户统一访问模块(1)返回用户是否登陆认证成功的信息;

用户数据库(23)用于存储用户的相关信息,并通过插件模块与虚拟机平台进行交互,获取用户的相关信息,接收底层返回的用户相关信息,并对数据库的信息进行更新,并将用户身份认证的最终结果发送给用户注册模块(21)和用户登陆认证模块(22)。

3.根据权利要求1或2所述的快速部署系统,其特征在于:虚拟机模板创建模块(3)包括基本系统模板的创建模块(31)、应用软件模板的创建模块(32)和虚拟机模板库(33);

基本系统模板创建模块(31)和应用软件模板创建模块(32)接受用户统一访问模块(1)中提出的模板创建信息,进行预处理后传递给插件模块(6),并接收插件模块(6)的反馈信息,最后将模板创建信息提供给用户并将创建的模板存入虚拟机模板库(33)中。

4.根据权利要求1或2所述的快速部署系统,其特征在于:虚拟机模板管理模块(4)包括模板操作模块(41)和模板存储模块(42)和模板数据库(43);

模板数据库(43)用于存储基本系统模板和应用软件模板的相关属性、它们之间的对应关系以及它们的存储信息;

模板操作模块(41)用于完成模板的查找、添加、删除和替换功能,接收上层用户统一访问模块(1)中用户所需要的基本系统和应用软件的相关信息,然后采用索引机制从模板数据库(43)中查找是否存在相应的模板以及基本系统模板与应用软件模板的对应关系,对模板数据库进行相关的操作,并接收数据库操作的结果信息;

模板存储模块(42)通过cache机制和虚拟机模板库(33)交互,获取虚拟机模板库中模板的存储关系,再将模板存储信息存储到模板数据库(43)中;同时也处理底层节点机上模板的存储信息,通过插件模块与虚拟机平台进行交互,获取各节点机上模板存储信息,再将模板关系以及模板存储信息存储到模板数据库(43)中。

5.根据权利要求1或2所述的快速部署系统,其特征在于:所述插件模块均包括插件用户身份接口(61)、插件模板创建接口(62)、插件模板管理接口(63)和插件模板部署接口(64),分别与快速部署服务管理层中的用户管理模块(2)、虚拟机创建模块(3)、虚拟机模板管理模块(4)和增量部署模块(5)相对应,完成各模块与虚拟机平台之间的交互。

6.根据权利要求4所述的快速部署系统,其特征在于:所述插件模块均包括插件用户身份接口(61)、插件模板创建接口(62)、插件模板管理接口(63)和插件模板部署接口(64),分别与快速部署服务管理层中的用户管理模块(2)、虚拟机创建模块(3)、虚拟机模板管理模块(4)和增量部署模块(5)相对应,完成各模块与虚拟机平台之间的交互。

说明书 :

技术领域

本发明属于计算系统虚拟化技术领域,具体涉及一种多虚拟机环境下的快速部署系统。

背景技术

近年来,计算系统资源规模的不断扩展极大地推动了计算系统虚拟化技术的发展。随着计算系统处理能力的快速增强、资源种类的日益丰富、应用需求的灵活多样,寻求新型的计算机理论模式已成为未来信息技术领域面临的重大挑战。
虚拟化计算系统能够动态组织多种计算资源,隔离具体的硬件体系结构和软件系统之间的紧密依赖关系,实现透明化的可伸缩计算系统架构,从而灵活构建满足多种应用需求的计算环境,提高计算资源的使用效率,发挥计算资源的聚合效能,并为用户提供个性化和普适化的计算资源使用环境。虚拟化技术是将底层物理设备与上层操作系统、软件分离的一种去耦合技术,它可以实现计算资源的高效灵活使用。虚拟化计算系统可以更加充分合理地利用计算资源,满足目益多样的计算需求,使人们能够透明、高效、可定制地使用计算资源,从而真正实现灵活构建、按需计算的理念。
目前的虚拟化技术大都基于单机资源的虚拟化,多机环境下的虚拟化技术尚处于初步研究阶段。如何有效组织和管理计算资源,以应对计算系统资源环境的复杂性特征和任务执行的高效透明需求之间的矛盾,是虚拟计算系统需要面对的重要科学问题。在这一背景下,多虚拟机资源的管理机制显得尤为重要。为满足用户的应用需求,为用户快速部署计算任务环境是多虚拟机管理系统中首要的一环。
现有的虚拟机管理器(VMM)如Xen、VMWare等在用户应用环境提供方面都只包括基本操作系统的部署以及底层硬件资源的分配,一些应用软件还需要用户自己安装,还不能方便地为用户提供一个应用环境。目前也有系统如Collective提供了虚拟应用的管理,但它采用的是集中管理模板的方式,主要关注系统的安全性,应用模板都依赖于基本模板,不能修改,一旦应用需求有所变化时,整个模板体系都得更新,灵活性不高,资源利用率不高。

发明内容

本发明的目的在于提供一种多虚拟机环境下的快速部署系统,该系统灵活性高,能提高底层资源的高效透明使用,最大程度的满足用户的需求。
本发明提供的多虚拟机环境下的快速部署系统,其特征在于:包括位于服务器内的用户统一访问接口层,位于服务器或底层任一个节点机上的为用户提供服务的快速部署服务管理层,以及底层异构虚拟机平台层;
用户统一访问接口层为用户提供基于Web的服务访问图形化界面,它通过用户统一访问模块予以实现;用户统一访问模块将系统提供的各种服务展示给用户,并接受用户的服务访问请求,经过预处理后向下传递给快速部署服务管理层的各模块,并接收快速部署服务管理层返回的信息,提供给用户;
底层异构虚拟机平台层包括相互独立的插件模块和虚拟机平台,虚拟机平台用于直接管理底层各节点机的硬件资源,并通过插件模块与上层快速部署服务管理层的各模块交互,处理快速部署服务管理层提交的服务并将处理的结果返回给快速部署服务管理层;
快速部署服务管理层包括用户管理模块、虚拟机模板创建模块、虚拟机模板管理模块和增量部署模块;
用户管理模块用于负责用户身份的管理,它接受用户统一访问模块中用户的身份认证信息,对用户的身份认证信息进行预处理后再转交给底层异构虚拟机平台层对应的插件模块;
虚拟机模板创建模块用于负责各种操作系统以及应用软件的模板的创建,它接受用户统一访问模块中用户所需的基本操作系统以及应用软件的信息,对信息进行预处理后再转交给底层异构虚拟机平台层对应的插件模块;
虚拟机模板管理模块采用索引和cache机制管理各操作系统模板与各应用软件模板之间的对应关系,负责虚拟机模板的更新;它接受用户统一访问模块中用户所需的基本操作系统以及应用软件的信息,对这些信息进行处理,同时也与底层异构虚拟机平台层的插件模块交互获取底层模板存储信息,并将这些模板信息传递给增量部署模块;
增量部署模块用于完成增量传输和增量部署,它将用户选择的请求信息进行预处理,再转交给虚拟机模板管理模块进行处理,并将接收的返回结果发送给用户统一访问模块。
本发明多虚拟机环境下的快速部署系统有效地解决了上述问题,不仅能为用户部署基本操作系统,还能够为用户部署所需的应用软件。本发明屏蔽了底层网格平台的异构性,一方面为用户提供统一的资源服务访问接口,另一方面保持各异构虚拟机平台之间的独立性,不同的平台多针对不同的应用。
该系统采用增量部署的思想,系统运作之前,在各节点机上已经保存了基本系统的模板,模板库中保存了应用软件模板即增量模板和基本系统模板,基于对虚拟机基本系统模板以及应用软件模板的管理,可以根据用户的需求,在当今最为流行的开源虚拟机Xen、QEMU和KVM上灵活地部署基本系统和应用软件,实现了一种具有高可用性、高性能和高灵活性的多虚拟机环境下的快速部署系统。具体而言,本发明具有以下优点和效果:
(1)高效性:本发明采用增量部署应用软件模板的方式,将软件模板传输到相应的基本系统模板上再进行整合,可以大大减少传输时间的开销。
(2)灵活性:模板机制的管理可以根据用户的需求灵活部署相应的操作系统以及相关的应用软件,而不像其它系统一样提供固定的应用环境。同时,模板管理在模板的更新以及模板的生命周期管理方面也很灵活。
(3)透明性:整个应用环境的部署过程涉及到各模块之间的通信、底层虚拟机平台的选择、硬件资源的分配等,这些对用户来说是完全透明的,用户不需要参与其中。
(4)可扩展性:插件技术的使用使得系统易于管理和维护,系统中的任何一个节点都可以为用户提供服务,再增加一个节点意味着可为更多的用户服务。系统配置简单,新的虚拟机平台可方便的纳入系统,可扩展性好。
(5)易于管理:各个虚拟机平台上的插件都是相互独立的,互不干扰,使得整个系统易于管理。

附图说明

图1是本发明多虚拟机环境下的快速部署系统的体系结构图;
图2是快速部署服务管理层用户管理模块的结构示意图;
图3是虚拟机模板创建模块的结构示意图;
图4是虚拟机模板管理模块的结构示意图;
图5是增量部署模块中增量传输的流程图;
图6是增量部署模块中增量部署的流程图;
图7是底层异构虚拟机平台层的结构示意图。

具体实施方式

下面结合附图对本发明作进一步详细的说明。
如图1所示,本发明系统采用三层架构:为用户提供统一访问接口的用户统一访问接口层;为用户提供服务的快速部署服务管理层;与底层硬件资源打交道的异构虚拟机平台层。
快速部署服务管理层是整个系统的核心,是连接用户访问接口层和异构虚拟机平台层的枢纽。快速部署服务管理层接受上层用户访问接口层的用户请求服务,对用户的请求服务进行预处理后再传递给底层异构虚拟机平台层进行处理,处理后的结果再传递给快速部署服务管理层,快速部署服务管理层再返回给用户统一访问接口层。
用户统一访问接口层为用户提供基于Web的服务访问图形化界面,它通过用户统一访问模块1予以实现。用户统一访问模块1将系统提供的各种服务展示给用户,并接受用户的服务访问请求,经过预处理后向下传递给快速部署服务管理层的各模块,快速部署服务管理层的各模块对信息进行处理完毕后再将结果返回用户统一访问模块1。
异构虚拟机平台层主要是指相互独立的虚拟机平台7.1,7.2,...,7.N。这些虚拟机平台直接管理底层各节点机的硬件资源,并通过插件模块6.1,6.2,...,6.N与上层快速部署服务管理层的各模块交互,处理快速部署服务管理层提交的服务并将处理的结果返回给快速部署服务管理层。N为虚拟机平台的个数,N≥1。为表述方便,下文中将插件模块6.1,6.2,...,6.N统称为插件模块6,将虚拟机平台7.1,7.2,...,7.N统称为虚拟机平台7。
快速部署服务管理层安装和配置比较灵活,既可以位于单独的管理中心的服务器上,也可以位于底层任一个节点机上。
快速部署服务管理层包括用户管理模块2、虚拟机模板创建模块3、虚拟机模板管理模块4和增量部署模块5四大模块。
用户管理模块2主要负责用户身份的管理,包括用户身份注册、身份绑定和身份验证等功能。用户管理模块2接受用户统一访问模块1中用户的身份认证信息,对用户的身份认证信息进行预处理后再转交给底层异构虚拟机平台层的插件模块6。插件模块6再与底层虚拟机平台7交互,将处理后的结果返回给用户管理模块2,用户管理模块2再返回给用户统一访问模块1。
虚拟机模板创建模块3主要负责各种常用的操作系统以及应用软件的模板的创建。一些常用的模板在系统运作之前就已经建立好并存放在相应的虚拟机模板库中,这样可以提高部署的效率。虚拟机模板创建模块3接受用户统一访问模块1中用户所需的基本操作系统以及应用软件的信息,对信息进行预处理后再转交给底层异构虚拟机平台层的插件模块6。插件模块6再与底层虚拟机平台7交互,将处理后的结果返回给虚拟机模板创建模块3,虚拟机模板创建模块3再将相关信息返回给用户统一访问模块1。
虚拟机模板管理模块4主要采用索引和cache机制管理各操作系统模板与各应用软件模板之间的对应关系,负责虚拟机模板的更新,使得虚拟机模板体制更加完善,更加灵活,可以更好的满足用户的需求,同时也有利于提高增量部署模块5的效率和性能。虚拟机模板管理模块4接受用户统一访问模块1中用户所需的基本操作系统以及应用软件的信息,对这些信息进行处理,同时也与底层异构虚拟机平台层的插件模块6交互获取底层模板存储信息,最后将这些模板信息传递给增量部署模块5。
增量部署模块5包括增量传输和增量部署两部分。增量传输和增量部署都与上层用户的需求有关,将用户选择的基本系统、应用软件等请求信息进行预处理,再转交给虚拟机模板管理模块4进行处理,虚拟机模板管理模块4通过插件模块6获得底层模板资源信息。增量部署模块5对获得的资源信息进行预处理,转交给插件模块6,再调用底层虚拟机平台7的相关部署操作,并将结果返回增量部署模块5,再提供给用户。
下面举例对本发明快速部署机制各功能模块的具体构成进行详细介绍。
如图2所示,快速部署服务管理层中的用户管理模块2由用户注册模块21、用户登陆认证模块22以及用户数据库23三部分组成。
用户注册模块21主要用于接受并处理用户统一访问模块1中用户的注册请求,通过与用户数据库23进行交互,将用户的相关信息保存在用户数据库23中,无论注册成功与否,用户注册模块21也会反馈相应的信息给用户。
用户登陆认证模块22主要用于接受并处理用户统一访问模块1中用户的登陆认证请求,通过与用户数据库23进行交互对用户身份进行认证,并返回用户是否登陆认证成功的信息。
用户数据库23主要用于存储用户的相关信息,并通过插件模块6中对应的用户管理接口与底层虚拟机平台7进行交互,获取用户的相关信息,再将底层用户相关信息返回给用户管理模块2并对用户数据库23进行更新,并将用户身份认证的最终结果返回给用户。
如图3所示,虚拟机模板创建模块3包括基本系统模板创建模块3 1、应用软件模板创建模块32和虚拟机模板库33,创建的模板存储在虚拟机模板库33中。
为了提高系统的效率,常用的基本系统模板和应用软件模板在系统运作之前就已经创建好并存放于虚拟机模板库33中,在用户统一访问接口层中会向用户展示本系统能够提供的基本系统和应用软件。对于本系统中没有的基本系统或应用软件,用户还可以提议,系统会根据用户的提议对模板库进行更新,添加新的基本系统或应用软件的模板。
基本系统模板创建模块31和应用软件模板创建模块32接受用户统一访问模块1中提出的模板创建信息并打包,再传递给插件模块6,插件模块6中对应的模板创建接口调用底层虚拟机平台7中的模板创建模块并获取相关信息,将信息反馈给基本系统模板创建模块31和应用软件模板创建模块32,最终将模板创建信息提供给用户并将创建的模板存入虚拟机模板库33中。
虚拟机模板库33主要用来存储基本系统模板创建模块31和应用软件模板创建模块32的创建模块,同时也为虚拟机模板管理模块4中的模板存储模块42提供模板存储信息。
如图4所示,虚拟机模板管理模块4包括模板操作模块41和模板存储模块42和模板数据库43。虚拟机模板管理模块4是为增量部署模块5服务的。
模板操作模块41主要完成模板的查找、添加、删除和替换功能,接收上层用户统一访问模块1中用户所需要的基本系统和应用软件的相关信息,然后采用索引机制从模板数据库43中查找是否存在相应的模板以及基本系统模板与应用软件模板的对应关系,对模板数据库进行相关的操作,数据库操作的结果信息再返回给模板操作模块41。
模板存储模块42主要通过cache机制和虚拟机模板库33交互,获取虚拟机模板库中模板的存储关系,再将模板存储信息存储到模板数据库43中;同时也处理底层节点机上模板的存储信息,通过插件模块6的对应接口与底层虚拟机平台7进行交互,获取各节点机上模板存储信息,再转交给虚拟机模板管理模块4的模板存储模块42,模板存储模块42再将模板关系以及模板存储信息存储到模板数据库43中。
模板数据库43主要用于存储基本系统模板和应用软件模板的相关属性、它们之间的对应关系以及它们的存储信息,是模板操作模块41和模板存储模块42的数据中心,也是虚拟机模板管理模块4运作的核心机制。
从功能结构上,增量部署模块5用于增量传输和增量部署两大功能。增量部署模块5既要与上层的用户统一访问模块1进行交互,又要通过插件模块6中对应的接口与底层异构虚拟机平台7进行交互。
增量部署模块5进行增量传输的流程图如图5所示。整个系统运作后,增量部署模块5接收上层用户统一访问模块1中的相关模板信息,进行预处理后,采用索引机制从模板库中查找相应的应用软件模板,如果查找成功,则通过插件模块6与底层虚拟机平台7交互,获得底层物理机的相关信息,看是否有合适的物理资源能为用户部署应用环境,如果有则将应用软件模板传输到目标机上,即所谓的增量传输,如果没有则向用户返回相关信息;如果查找失败则表示模板库中没有满足用户需求的应用软件,应该增加新的应用软件模板对模板库进行更新,并向用户返回相关信息。
增量部署模块5进行增量部署的流程图如图6所示。待增量传输结束后,通过插件模块6与底层虚拟机平台7交互,获得底层目标物理机的相关信息,将信息预处理后再转交给插件模块6,插件模块6中的增量部署接口与底层异构虚拟机平台7中的部署模块进行交互,调用相应的虚拟机平台的部署服务,再将结果返回到快速部署服务管理层中的用户管理模块2,最后返回给用户,整个部署过程对用户完全透明。
底层异构虚拟机平台层由多个虚拟机平台构成。如图7所示,每个虚拟机平台层均包括插件模块6和虚拟机平台7。
插件模块6包括插件用户身份接口61、插件模板创建接口62、插件模板管理接口63和插件模板部署接口64,分别与快速部署服务管理层中的用户管理模块2、虚拟机创建模块3、虚拟机模板管理模块4和增量部署模块5相对应。插件模块6是连接快速部署服务管理层中各模块与虚拟机平台7的枢纽,快速部署服务管理层中各模块对信息进行预处理后,转交给插件模块6,插件模块6再与底层虚拟机平台7交互,将处理后的结果返回给快速部署服务管理层中各模块。
虚拟机平台7自身包含多个功能模块,其中与本发明系统相关的功能模块包括虚拟机平台用户管理模块71、虚拟机平台模板创建模块72、虚拟机平台模板管理模块73和虚拟机平台部署模块74。这四个模块主要通过插件模块6中的四个接口与快速部署服务管理层中的相应模块进行交互,为快速部署服务管理层提供服务。
实例:
为了验证本发明系统的可行性和有效性,在真实环境下配置本发明系统,并对三个异构虚拟机平台进行实验。一个虚拟机平台采用Xen搭建,一个虚拟机平台采用QEMU搭建,另一个虚拟机平台采用KVM搭建。详细实验环境配置见表1所示。
节点机1充当前端机,采用RHEL5作为操作系统平台,在其上部署的服务有用户统一访问接口层的用户统一访问模块1以及快速部署服务管理层的用户统一访问模块2、虚拟机模板创建模块3、虚拟机模板管理模块4以及增量部署模块5。
节点机2装载Xen虚拟机平台,在其上部署的服务有插件模块6.1以及Xen虚拟机平台7.1。
节点机3装载QEMU虚拟机平台,在其上部署的服务有插件模块6.2以及QEMU虚拟机平台7.2。
节点机4装载KVM虚拟机平台,在其上部署的服务有插件模块6.3以及KVM虚拟机平台7.3。
用户或管理员通过用户统一访问接口层提交服务给快速部署服务管理层,快速部署服务管理层的各模块对相应的服务信息进行预处理,再传递到底层虚拟机平台层,底层虚拟机平台层的插件模块和虚拟机平台对应的模块对服务进行处理,将结果返回给快速部署服务管理层,最终由快速部署服务管理层返回给用户统一访问接口层,提供给用户。
表1:实验配置环境