异构虚拟化平台的资源管理方法、系统、设备及存储介质与流程

文档序号:14479094阅读:359来源:国知局

本发明实施例涉及云计算技术,尤其涉及一种异构虚拟化平台的资源管理方法、系统、设备及存储介质。



背景技术:

一般大众型企业it(internettechnology,互联网技术)架构非常复杂,包含多种厂商与平台的硬件产品,使用多种虚拟化技术类型,例如,基于x86服务器的vmware(virtualmachineware,虚拟机软件)、kvm(kernel-basedvirtualmachine)虚拟化、基于power架构的powervm和powerkvm虚拟化、金属裸机管理等,甚至企业有些应用跑在公有云上。

对于多种虚拟化类型,企业内部通常会使用对应的虚机化管理平台来进行主机的管理,例如,x86平台的vmware使用vcenter进行管理;基于x86的kvm虚拟化使用开源的openstack进行管理;对于powervm与powerkvm的虚拟化会通过ibm的powervc(powervirtualizationcenter)系统进行管理。这种多套系统管理,各自为政的方案,大大增加了运维的工作量,不利于对资源的统一管理。

由于多套异构虚拟化产品交替复杂使用,给使用者带来了很多不方便:

(1)需要维护人员维护多套系统,而且要对整个架构进行复杂的规划,例如分配网络、如何合理利用存储与计算资源等,给维护人员带来了相当大的困难;

(2)即便进行了复杂的规划之后,还会遇到租户网络无法打通、资源利用不充分等一系列问题;

(3)对技术人员要求较高,需要熟练掌握虚拟化的各个平台功能、各个平台的使用、运维、问题排查等多方面的知识。

因此,中大型企业私有云项目方案中,多套虚拟化管理平台对计算、存储、网络资源的统一混合解决方案非常关键。



技术实现要素:

本发明提供一种异构虚拟化平台的资源管理方法、系统、设备及存储介质,以实现统一管理异构虚拟化平台的资源,合理分配各虚拟化类型的资源。

第一方面,本发明实施例提供了一种异构虚拟化平台的资源管理方法,包括:

对多种虚拟化类型进行资源池的划分;

在所述多种虚拟化类型之上封装统一接口层,其中,所述统一接口层提供rest(representationalstatetransfer,表述性状态传递)接口;

根据用户的注册信息,将所述注册信息对应的虚拟化类型作为控制器注册到所述统一接口层,以建立控制器与资源池的对应关系;

根据所述用户的资源调用请求,通过所述统一接口层调用所述资源调用请求对应的控制器,以访问该控制器对应的资源池,实现资源调用。

进一步的,将所述注册信息对应的虚拟化类型作为控制器注册到所述统一接口层,包括:

所述统一接口层接收云管平台通过所述rest接口发送的所述注册信息;

所述统一接口层确定所述注册信息对应的虚拟化类型,并根据所述虚拟化类型的认证信息对所述注册信息进行验证;

验证通过后,所述统一接口层存储所述注册信息和所述虚拟化类型的信息,实现所述虚拟化类型作为控制器注册到所述统一接口层。

进一步的,通过所述统一接口层调用所述资源调用请求对应的控制器,以访问该控制器对应的资源池,包括:

所述统一接口层接收云管平台通过所述rest接口发送的用户登录信息,并进行用户身份校验;

校验通过后,所述统一接口层接收云管平台通过所述rest接口发送的所述资源调用请求,其中,所述资源调用请求包括:控制器标识及请求的操作;

所述统一接口层调用所述控制器标识对应的控制器,根据所述请求的操作在该控制器对应的资源池中调用所请求的资源,返回给所述云管平台。

进一步的,在通过所述统一接口层调用所述资源调用请求对应的控制器,以访问该控制器对应的资源池之后,所述方法还包括:

云管平台显示用户所请求的资源池的总量和当前使用情况。

进一步的,所述多种虚拟化类型包括:vmware虚拟化、kvm虚拟化、powervm虚拟化、powerkvm虚拟化、金属裸机虚拟化和docker虚拟化。

进一步的,对多种虚拟化类型进行资源池的划分,包括:

将openstack环境下的vmware主机划分在第一主机组内,将所述第一主机组与zone(域)关联,作为vmware计算资源池;

将openstack环境下的x86主机划分在第二主机组内,并将所述第二主机组与az(avaliablezone,可用域)关联,作为kvm计算资源池;

通过powervc的主机聚合组对主机进行划分,将powervc系统管理下的powervm虚拟化平台作为powervm计算资源池,以及将powervc系统管理下的powerkvm虚拟化平台作为powerkvm计算资源池;

划分金属裸机xcat计算资源池、openstack环境下的ironic计算资源池和docker计算资源池;

划分存储资源池,其中,每种虚拟化类型对应一个存储资源池,或者,所述多种虚拟化类型中至少两种虚拟化类型共用一个存储资源池;

划分网络资源池,其中,每种虚拟化类型对应一个网络资源池,或者,所述多种虚拟化类型中至少两种虚拟化类型共用一个网络资源池。

第二方面,本发明实施例还提供了一种异构虚拟化平台的资源管理系统,包括:云管平台、统一接口层、资源池和控制器;

所述资源池通过对多种虚拟化类型进行资源池的划分得到;

所述统一接口层在多种虚拟化类型之上封装得到,提供表述性状态传递rest接口;

所述控制器是将用户的注册信息对应的虚拟化类型作为控制器注册到所述统一接口层得到,其中,每种虚拟化类型的资源池对应至少一个控制器;

所述云管平台,用于提供用户操作界面,通过所述统一接口层调用资源调用请求对应的控制器,以访问该控制器对应的资源池,实现资源调用。

进一步的,所述统一接口层具体用于:

接收所述云管平台通过所述rest接口发送的所述注册信息;

确定所述注册信息对应的虚拟化类型,并根据所述虚拟化类型的认证信息对所述注册信息进行验证;

验证通过后,存储所述注册信息和所述虚拟化类型的信息,实现所述虚拟化类型作为控制器注册到所述统一接口层。

第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的异构虚拟化平台的资源管理方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的异构虚拟化平台的资源管理方法。

本发明实施例的技术方案,将异构虚拟化平台细分为资源池,呈现给使用者的是资源池内的可用资源,使得用户只需关心要用哪种资源池的资源、所需使用量以及可用资源量,而非停留在技术、运维和问题排查等方面;建立统一接口层,将多种虚拟化技术统一由一个平台管控,去平台化,化繁为简,解决了异构虚拟化平台的资源管理问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例一提供的异构虚拟化平台的资源管理方法的流程图;

图2是本发明实施例二提供的异构虚拟化平台的资源管理系统的结构框图;

图3是本发明实施例二提供的异构虚拟化平台的资源管理模型示意图;

图4是本发明实施例三提供的计算机设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1是本发明实施例一提供的异构虚拟化平台的资源管理方法的流程图,本实施例可适用于对多种虚拟化平台进行统一管理资源的情况,涉及power架构、x86架构、金属裸机环境等多种主机类型,该方法可以由异构虚拟化平台的资源管理系统来执行,该系统可以通过软件和/或硬件的方式实现。如图1所示,该方法具体包括如下步骤:

步骤110,对多种虚拟化类型进行资源池的划分。

其中,本步骤可以对所有虚拟化类型均进行资源池划分,即支持各种虚拟化类型。当用户需要使用某种虚拟化类型时,按照步骤130针对该虚拟化类型在统一接口层进行相应控制器的注册,由此用户便可以通过统一接口层来管理该虚拟化类型。本实施例中的多种虚拟化类型可以包括:vmware虚拟化、kvm虚拟化、powervm虚拟化、powerkvm虚拟化、金属裸机虚拟化和docker虚拟化。当然,随着技术的发展,以后出现的新的虚拟化类型也可以包含在本发明保护范围之内,当有新的虚拟化类型出现时,可以针对该新的虚拟化类型添加资源池。

由于用户基本不关心自己要申请的是什么虚拟化类型的资源,更侧重于自己申请了多大资源,申请下来的资源使用量是多少,而管理员则关心总体资源有多少剩余,在资源用尽的情况下增加更多的资源节点。因此,考虑在异构虚拟化平台基础上进行资源池的划分,具体细化为计算资源池、存储资源池和网络资源池。针对每种虚拟化类型,均可以建立对应的计算资源池、存储资源池和网络资源池,部署不同的资源池控制器来进行资源管理。

步骤120,在多种虚拟化类型之上封装统一接口层,其中,该统一接口层提供rest接口。

步骤130,根据用户的注册信息,将该注册信息对应的虚拟化类型作为控制器注册到统一接口层,以建立控制器与资源池的对应关系。

其中,在多种虚拟化类型之上封装一层统一接口层(l1),l1层经过封装后,对上层(即云管平台)提供rest接口。l1层采用注册机制,也就是,将用户已部署完成的虚拟化类型作为控制器注册至l1层,并由l1层统一管理各控制器的认证,通过统一接口层,将异构资源纳管起来,提供rest接口给上层云管平台(l2)调用,减轻云管平台对各虚拟化平台的兼容性工作,起到承上启下的作用。

需要说明的是,一个虚拟化类型可以注册多个控制器。虚拟化类型作为控制器注册至l1层以后,对应于同一个虚拟化类型的控制器及资源池便建立了对应关系。l1层可以管理其上注册的所有控制器,通过l1层和控制器即可实现资源的调用,而非每次资源调用均要到对应的底层环境中去进行身份认证并调用资源。

步骤140,根据用户的资源调用请求,通过统一接口层调用资源调用请求对应的控制器,以访问该控制器对应的资源池,实现资源调用。

其中,云管平台提供用户业务逻辑层面的界面操作,按照rest格式发送信息(例如,注册信息、登录信息、资源调用请求等)给统一接口层,通过统一接口层调用对应的资源,完成资源的申请以及使用。

本发明实施例的技术方案,将异构虚拟化平台细分为资源池,呈现给用户的是资源池内的可用资源,使得用户只需关心要用哪种资源池的资源、所需使用量以及可用资源量,而非停留在技术、运维和问题排查等方面;建立统一接口层,将多种虚拟化技术统一由一个平台管控,去平台化,化繁为简,解决了异构虚拟化平台的资源管理问题。

在上述技术方案的基础上,步骤130中将注册信息对应的虚拟化类型作为控制器注册到统一接口层,包括:统一接口层接收云管平台通过rest接口发送的注册信息;统一接口层确定注册信息对应的虚拟化类型,并根据虚拟化类型的认证信息(例如从该虚拟化类型的底层环境中获取该虚拟化类型的认证信息)对注册信息进行验证;验证通过后,统一接口层存储上述注册信息和该虚拟化类型的信息,实现该虚拟化类型作为控制器注册到统一接口层。

其中,注册信息可以包括:ip地址、用户名、密码等,还可以携带令牌(token)。认证信息可以包括令牌(token),可以按照预设规则生成,存在有效时间。虚拟化类型的信息可以包括:虚拟化类型的服务器(service)、端点(endpoint)等信息以及token信息。

示例性的,用户在云管平台上将openstack环境的kvm虚拟化平台的ip、用户名、密码、token等组成注册信息,按照rest格式发送给l1层,l1层从底层openstack环境下获取对应虚拟化类型的认证信息(例如token),如果认证信息与用户注册信息中的token一致,则验证通过,统一接口层存储kvm虚拟化平台的服务器(service)、端点(endpoint)等虚拟化类型的信息,并将获取到的注册信息(例如token)进行记录,token过期后会自动再次获取。具体的,kvm虚拟化平台的服务器(service)、端点(endpoint)等信息可以存储于l1层的数据库中,包括token等的注册信息可以存储于l1层的缓存中。l1层信息存储完毕,即完成了控制器的注册,建立了同一虚拟化类型的控制器与资源池的对应关系。

在上述技术方案的基础上,步骤140通过统一接口层调用资源调用请求对应的控制器,以访问该控制器对应的资源池,包括:统一接口层接收云管平台通过rest接口发送的用户登录信息,并进行用户身份校验;校验通过后,统一接口层接收云管平台通过rest接口发送的资源调用请求,其中,资源调用请求包括:控制器标识及请求的操作;统一接口层调用上述控制器标识对应的控制器,根据请求的操作在该控制器对应的资源池中调用所请求的资源,返回给云管平台。

其中,用户在云管平台输入用户登录信息,由统一接口层对用户登录信息进行校验,确认为合法用户后,才允许进行资源调用,以保证安全性。具体的,统一接口层可以利用注册控制器时存储的注册信息对用户登录信息进行校验,信息一致,则校验通过;也可以利用具有时效性的令牌token进行校验,l1层的令牌token和用户侧的令牌token生成方式一致。统一接口层接收到资源调用请求,解析该资源调用请求(例如获得控制器标识及请求的操作),利用控制器标识所对应的控制器调用对应的资源,以实现用户请求的操作,用户请求的操作可以是调用资源以创建虚拟机、创建防火墙、创建网络等功能。例如,资源调用请求中的操作包含get类型和post类型,postbody表示创建虚机,getid/services表示获得虚机列表等。

示例性的,用户已经注册了一个x86的控制器,控制器上有x86的计算资源池、存储资源池和网络资源池。用户登录云管平台后,通过云管平台申请资源时,可以选择所要使用的控制器、计算资源池、存储资源池和网络资源池,填写申请计算资源量、存储占用资源量和网络资源池中的ip,并填写所要进行的操作(例如,postbody),由此得到资源调用请求。统一接口层接收到云管平台的该资源调用请求后,调用与该资源调用请求中控制器标识对应的控制器,根据请求的操作调用对应的资源(例如根据请求的操作postbody完成虚拟机的创建),实现资源的使用。

进一步的,云管平台显示用户所请求的资源池的总量和当前使用情况。方便用户查看资源情况。

具体的,以现有的虚拟化类型为例,对多种虚拟化类型进行资源池的划分,包括:

(1)计算资源池的划分

将openstack环境下的vmware主机划分在第一主机组内,将第一主机组与zone(域)关联,作为vmware计算资源池;

将openstack环境下的x86主机划分在第二主机组内,并将第二主机组与az(availabilityzone,可用域)关联,作为kvm计算资源池;

通过powervc的主机聚合组对主机进行划分,将powervc系统管理下的powervm虚拟化平台作为powervm计算资源池,以及将powervc系统管理下的powerkvm虚拟化平台作为powerkvm计算资源池;

划分金属裸机xcat计算资源池、openstack环境下的ironic计算资源池和docker计算资源池。

根据实际需求,有些计算资源池可以合并为一个,例如,金属裸机xcat计算资源池和openstack环境下的ironic计算资源池,可以合并为裸机计算资源池。此外,在划分计算资源池的同时,还可以完成计算资源池相关的调用设置,例如,有哪些镜像、类型模板(flavor)、网络,是在这个计算资源池下创建的资源,会相应调度到这个计算资源池下。

(2)存储资源池的划分

可以对每种虚拟化类型均划分一个存储资源池,也可以是几种虚拟化类型共用一个存储资源池,还可以是所有虚拟化类型共用一个存储资源池。存储资源池与计算资源池具有关联关系,指明某个计算资源池使用的是哪个存储资源池。

(3)网络资源池的划分

可以对每种虚拟化类型均划分一个网络资源池,也可以是几种虚拟化类型共用一个网络资源池,还可以是所有虚拟化类型共用一个网络资源池。同样的,网络资源池与计算资源池也可以具有关联关系,指明某个计算资源池使用的是哪个网络资源池。

可选的,可以通过以下方式实现网络资源池的共用:网络资源池采用大二层网络,并采用vlan模式,通过路由之间打通,实现各网络资源池之间的通信。

实施例二

图2是本发明实施例二提供的异构虚拟化平台的资源管理系统的结构框图,本实施例所提供的异构虚拟化平台的资源管理系统可执行本发明实施例一所提供的异构虚拟化平台的资源管理方法,具备执行方法相应的功能模块和有益效果。与实施例一相同或相应的术语解释,本实施例不再赘述。

如图2所示,该系统包括:云管平台210、统一接口层220、资源池230和控制器240。

资源池230通过对多种虚拟化类型进行资源池的划分得到,资源池230包括:计算资源池231、存储资源池232和网络资源池233;

统一接口层220在多种虚拟化类型之上封装得到,提供rest接口;

控制器240是将用户的注册信息对应的虚拟化类型作为控制器注册到220统一接口层得到,其中,每种虚拟化类型的资源池230可对应多个控制器240;

云管平台210,用于提供用户操作界面,通过统一接口层220调用资源调用请求对应的控制器240,以访问该控制器240对应的资源池230,实现资源调用。

进一步的,云管平台210具体用于:接收用户的注册信息、登录信息或资源调用请求,并按照rest格式向统一接口层220发送注册信息、登录信息或资源调用请求。

进一步的,对应于注册控制的过程,统一接口层220具体用于:接收云管平台210通过rest接口发送的注册信息;确定注册信息对应的虚拟化类型,并根据该虚拟化类型的认证信息(例如从该虚拟化类型的底层环境中获取该虚拟化类型的认证信息)对注册信息进行验证;验证通过后,存储注册信息和该虚拟化类型的信息,实现该虚拟化类型作为控制器注册到统一接口层220。

进一步的,对应于调用资源的过程,统一接口层220具体用于:接收云管平台210通过rest接口发送的用户登录信息,并进行用户身份校验;校验通过后,接收云管平台210通过rest接口发送的资源调用请求,其中,资源调用请求包括:控制器标识及请求的操作;调用上述控制器标识对应的控制器240,根据上述请求的操作在该控制器240对应的资源池230中调用所请求的资源,返回给云管平台210。

进一步的,云管平台210还用于:显示用户所请求的资源池的总量和当前使用情况。

本实施例提供的异构混合虚拟化平台的资源管理系统,将异构虚拟化平台细分为资源池,呈现给用户的是资源池内的可用资源,使得用户只需关心要用哪种资源池的资源、所需使用量以及可用资源量,从而将用户引导至更关心业务以及资源的利用上,而非总停留在技术、运维和问题排查等方面。另外,通过建立统一接口层,将多种虚拟化技术统一由一个平台管控,去平台化,化繁为简,解决了异构虚拟化平台的资源管理问题。

图3是本发明实施例二提供的异构虚拟化平台的资源管理模型示意图,如图3所示,l2层为云管平台;l1层为统一接口层,对上层提供rest接口;wsgi(webservergatewayinterface,web服务器网关接口),用于实现l1层对资源池的访问。划分的资源池如下:powervc系统下包括powervm资源池和powerkvm资源池;openstack环境下包括vmware资源池和kvm资源池;docker资源池;金属裸机xcat资源池;ironic资源池。图中的资源池包括计算资源池、存储资源池和网络资源池,其关系参见实施例一中的描述,此处不再赘述。

实施例三

图4是本发明实施例三提供的计算机设备的结构示意图,如图4所示,该计算机设备包括处理器410和存储器420;计算机设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;计算机设备中的处理器410和存储器420可以通过总线或其他方式连接,图4中以通过总线连接为例。

存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的异构虚拟化平台的资源管理方法对应的程序指令/模块。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的异构虚拟化平台的资源管理方法。

存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

实施例四

本发明实施例四还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的异构虚拟化平台的资源管理方法。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1