选择虚拟化基础设施管理器的方法及装置与流程

文档序号:18188469发布日期:2019-07-17 05:28阅读:2556来源:国知局
选择虚拟化基础设施管理器的方法及装置与流程

本发明涉及云管理平台技术领域,尤其涉及选择vim(virtualizedinfrastructuremanager,虚拟化基础设施管理器)的方法及装置。



背景技术:

核心网云管理平台系统中的主要网元有:nfvo(networkfunctionsvirtualizationorchestrator,网络功能虚拟化协调器)、vnfm(virtualizednetworkfunctionmanager,虚拟化网络功能管理器)和vim(virtualizedinfrastructuremanager,虚拟化基础设施管理器)。

nfvo和vnfm配合实现vnf((virtualizednetworkfunction,虚拟化网络功能)的生命周期管理和资源的全局视图功能。

nfvo通过c6接口与vnfm交互,实现对vnfm资源分配申请的认证授权、弹性伸缩策略下发;并和vnfm配合实现:vnf实例初始化、vnf的扩容/缩容以及vnf实例的终止。

nfvo通过c7接口与vim交互,实现vnf与pnf(physicalnetworkfunction,物理网络功能)以及vnf与vnf相连网络资源的分配及管理、计算和存储硬件资源及虚拟化资源的性能kpi(keyperformanceindicator,关键绩效指标)采集、状态监控、资源变化上报以及故障上报。

vnfm实现vnf的生命周期管理,包括:vnf实例的初始化、vnf的扩容/缩容、vnf实例的终止。支持接收nfvo下发的弹性伸缩策略,实现vnf的弹性伸缩。

vnfm通过c5接口与vim交互,实现进行vnf相关计算、存储和网络虚拟化资源的分配和释放,以及虚拟化资源故障信息的上报、虚拟化资源性能信息(包括虚拟cpu使用率、虚拟内存占用率、虚拟网卡吞吐率等)的收集。

vnfm通过c10接口与vnf交互如下消息:

1)vnfm到vnf的消息

将vnf故障信息、虚拟机创建完成信息发送给vnf,便于vnf进行应用软件加载、资源故障信息收集及处理。

2)vnf到vnfm的消息

vnf加载完成信息,告知vnfm所创建的虚拟机上的业务可以提供服务;

vnf的性能信息,告知vnfm用于弹性伸缩。

vim主要负责基础设施层硬件资源和虚拟化资源的管理、监控和故障上报,面向上层vnfm提供虚拟化资源池。

vim通过c1接口与硬件资源交互,实现vlan、vxlan划分,对被管理云化系统所使用的ip-san、交换机(包括tor)、路由器、防火墙、负载均衡器、机框风扇、电源、物理服务器在内的硬件资源的状态进行管理和监控。

nfvo支持接入多个vnfm进行管理,根据vnfm的id进行区分,nfvo支持建立vnfm和vnfm作用域的vim之间的关系,nfvo和vnfm、vim之间的拓扑关系如图1所示。

vnfm支持对一个或多个vnf实例进行管理,所管理的vnf实例可以是同一类型,也可以是不同类型,通过vnf实例的id来区分不同vnf实例。支持对vnf实例所占用的虚拟化资源的状态信息进行采集,支持接收来自vim关于vnf实例所占用的虚拟化资源的变化情况、故障信息及监控信息,能够进行显示并进行相应的处理如:进行弹性伸缩等。

在nfv网络架构中,针对vnf实例所需资源的分配策略,通常采用的轮询调度方法是依次轮流使用vim。当vnf实例所需资源变化频繁时,这种调度方法容易造成vim资源不均衡。



技术实现要素:

本发明提出选择vim的方法及装置,以实现对vim资源的均衡使用。

本发明的技术方案是这样实现的:

一种选择vim的方法,该方法包括:

nfvo根据每个vim周期性发来的该vim的资源变化通知,维护各vim的剩余资源信息;

nfvo根据每个vim周期性发来的该vim的vnf实例任务状态变化通知,维护各vim的vnf实例任务列表,vnf实例任务列表中包含对应vim的正在执行的vnf实例任务;

对于任一vnfm下的vim队列,nfvo周期性地对该vim队列中的vim执行如下处理:

将任务列表不为空的各vim置入队尾,且,按照cpu剩余数量从多到少的顺序,将任务列表为空的各vim从队首往后排列;

当nfvo接收到vnfm发来的针对新创建的vnf实例的资源授权请求时,按照轮询策略从自身维护的该vnfm的vim队列中选择一个vim,将该vim的资源分配给新创建的vnf实例。

所述按照cpu剩余数量从多到少的顺序,将任务列表为空的各vim从队首往后排列进一步包括:

若存在cpu剩余数量相同的vim,则按照内存剩余容量的从大到小,将cpu剩余数量相同的各vim依次进行排列。

所述按照内存剩余容量的从大到小,将cpu剩余数量相同的各vim依次进行排列进一步包括:

若存在内存剩余容量相同的vim,则按照硬盘剩余容量的从大到小,将内存剩余容量相同的各vim依次进行排列。

所述按照轮询策略从自身维护的该vnfm的vim队列中选择一个vim之后、将该vim的资源分配给新创建的vnf实例之前进一步包括:

nfvo向选择的vim发送获取资源信息指令,当接收到该vim返回的该vim的剩余资源信息时,计算该vim的剩余资源是否满足该新创建的vnf实例所需的资源,若满足,则选定该vim;否则,返回所述按照轮询策略从自身维护的该vnfm的vim队列中选择一个vim的动作。

所述nfvo接收到vnfm发来的针对新创建的vnf实例的资源授权请求之前进一步包括:

nfvo接收运维人员发起的实例化vnf操作请求,该请求携带运维人员选择的vnfm标识和vnf实例所需的资源信息;

nfvo根据实例化vnf操作请求携带的vnfm标识,向对应vnfm发送实例化vnf请求;

vnfm接收该实例化vnf请求后,创建实例化vnf任务,并向nfvo返回vnf实例标识、vnf实例任务标识及实例化vnf任务状态。

一种选择vim的装置,该装置包括:

vim信息维护模块:根据每个vim周期性发来的该vim的资源变化通知,维护各vim的剩余资源信息;根据每个vim周期性发来的该vim的虚拟化网络功能vnf实例任务状态变化通知,维护各vim的vnf实例任务列表,vnf实例任务列表中包含对应vim的正在执行的vnf实例任务;

vim队列维护模块:对于任一vnfm下的vim队列,周期性地对该vim队列中的vim执行如下处理:将任务列表不为空的各vim置入队尾,且,按照cpu剩余数量从多到少的顺序,将任务列表为空的各vim从队首往后排列;

资源授权模块:接收到vnfm发来的针对新创建的vnf实例的资源授权请求时,按照轮询策略从自身维护的该vnfm的vim队列中选择一个vim,将该vim的资源分配给新创建的vnf实例。

所述资源授权模块按照cpu剩余数量从多到少的顺序,将任务列表为空的各vim从队首往后排列进一步包括:

若存在cpu剩余数量相同的vim,则按照内存剩余容量的从大到小,将cpu剩余数量相同的各vim依次进行排列。

所述资源授权模块按照内存剩余容量的从大到小,将cpu剩余数量相同的各vim依次进行排列进一步包括:

若存在内存剩余容量相同的vim,则按照硬盘剩余容量的从大到小,将内存剩余容量相同的各vim依次进行排列。

所述资源授权模块按照轮询策略从自身维护的该vnfm的vim队列中选择一个vim之后、将该vim的资源分配给新创建的vnf实例之前进一步包括:

向选择的vim发送获取资源信息指令,当接收到该vim返回的该vim的剩余资源信息时,计算该vim的剩余资源是否满足该新创建的vnf实例所需的资源,若满足,则选定该vim;否则,返回所述按照轮询策略从自身维护的该vnfm的vim队列中选择一个vim的动作。

所述装置位于nfvo上。

本发明通过动态维护vim的剩余资源以及vnf实例任务状态,实现了为vnf实例选择最优的vim,达到了vim资源的均衡使用。

附图说明

图1为nfvo和vnfm、vim之间的拓扑关系图;

图2为本申请一实施例提供的选择vim的方法流程图;

图3为本发明实施例提供的vnf实例化及资源授权方法流程图;

图4为本发明实施例提供的vim队列调整方法流程图;

图5为本发明实施例提供的nfvo维护的vim队列的结构示意图;

图6为本发明实施例提供的选择vim的装置的结构示意图。

具体实施方式

下面结合附图及具体实施例对本发明再作进一步详细的说明。

图2为本申请实施例提供的选择vim的方法流程图,其具体步骤如下:

步骤201:nfvo根据每个vim周期性发来的该vim的资源变化通知,维护各vim的剩余资源信息;根据每个vim周期性发来的该vim的虚拟化网络功能vnf实例任务状态变化通知,维护各vim的vnf实例任务列表,vnf实例任务列表中包含对应vim的正在执行的vnf实例任务。

步骤202:对于任一vnfm下的vim队列,nfvo周期性地对该vim队列中的vim执行如下处理:将任务列表不为空的各vim置入队尾,且,按照cpu剩余数量从多到少的顺序,将任务列表为空的各vim从队首往后排列。

步骤203:当nfvo接收到vnfm发来的针对新创建的vnf实例的资源授权请求时,按照轮询策略从自身维护的该vnfm的vim队列中选择一个vim,将该vim的资源分配给新创建的vnf实例。

图3为本发明实施例提供的vnf实例化及资源授权方法流程图,其具体步骤如下:

步骤301:nfvo接收运维人员发起的实例化vnf操作请求,该请求携带运维人员选择的vnfm标识和vnf实例所需的资源信息。

vnf实例所需的资源信息包括:vnf实例所需的资源的种类、规格和数量。资源主要指虚拟cpu、虚拟内存和虚拟硬盘。

步骤302:nfvo根据实例化vnf操作请求携带的vnfm标识,向对应vnfm发送实例化vnf请求。

步骤303:vnfm接收该实例化vnf请求后,创建实例化vnf任务,并向nfvo返回vnf实例标识、vnf实例任务标识及vnf实例任务状态;nfvo接收并保存vnfm返回的vnf实例任务记录,包括:vnf实例标识、vnf实例任务标识及vnf实例任务状态,并向运维人员返回vnf实例任务状态。

vnf实例任务状态包括:创建中、等待资源授权、资源授权完成、任务运行中、任务删除等状态,本步骤中的状态是:创建中。

步骤304:vnfm向nfvo发送资源授权请求,该请求携带vnf实例所需的资源信息。

步骤305:nfvo接收该资源授权请求后,根据该请求携带的vnf实例所需的资源信息,计算vnf实例所需的资源。

具体地,对于每类资源,nfvo根据vnf实例所需的该类资源的规格和数量,计算vnf实例所需的该类资源的总量。

步骤306:nfvo根据轮询策略,从自身维护的该vnfm的vim队列中选择一个vim。

步骤307:nfvo向选定的vim发送获取资源信息指令,当接收到该vim返回的该vim的剩余资源汇总信息时,计算该vim的剩余资源是否满足vnf实例所需的资源,若满足,则选定该vim,执行步骤308;否则,返回步骤306。

步骤308:nfvo将该vnf实例任务的标识放入自身维护的该vim的任务列表中,同时将选定的vim的标识返回给vnfm,并将vnf实例任务标识以及该vnf实例占用的资源信息发送给选定的vim,选定的vim记录该vnf实例任务标识,并根据该vnf实例占用的资源信息,更新自身的剩余资源信息。

图4为本发明实施例提供的vim队列调整方法流程图,其具体步骤如下:

步骤401:nfvo上电后,启动vim资源变更监听服务和vim中vnf实例任务状态监听服务。

步骤402:每个vim周期性地向nfvo发送资源变化通知,nfvo根据该资源变化通知更新自身维护的该vim的剩余资源信息。

具体地,vim将自身的各类资源(虚拟cpu、虚拟内存、虚拟硬盘等)的变化信息周期性地通知给nfvo。变化信息包括:变化的状态以及变化的量,变化的状态如:增加、占用或释放等,变化的量如:发生变化的资源规格以及数量。

nfvo维护维护每个vnfm下的所有vim的资源信息,该资源信息可表示为每类资源(虚拟cpu、虚拟内存、虚拟硬盘等)的规格和数量。

步骤403:每个vim周期性地向nfvo发送本vim的vnf实例任务状态变化通知,nfvo根据该通知,更新自身维护的各vim的vnf实例任务列表。

vnf实例任务状态变化通知包括:vnf实例任务标识以及该vnf实例任务的状态:运行中或删除。

当nfvo接收到vim发来的vnf实例任务状态变化通知时,进行如下处理:

若该通知中的vnf实例任务的状态为运行中,则根据该通知中的vnf实例任务标识查找自身维护的该vim的vnf实例任务列表,若该vnf实例任务标识已存在于该任务列表中,则不作进一步处理,否则,将该vnf实例任务标识添加到该任务列表中;

若该通知中的vnf实例任务的状态为删除,则根据该通知中的vnf实例任务标识查找自身维护的该vim的vnf实例任务列表,查找到后,将该vnf实例任务标识从该任务列表中删除。

图5为nfvo维护的vim队列的结构示意图,其中:

设定nfvo维护的vnfm一共有n个:vnfm1~n,每个vnfm具有唯一的vnfm标识;

每个vnfm具有一个vim队列,每个vim具有唯一的vim标识,每个vim下具有虚拟cpu、虚拟内存、虚拟硬盘等资源,每个vim具有自己的vnf实例任务列表,该任务列表中包含了正在执行的vnf实例任务标识。

步骤404:对于任一vnfm下的vim队列,nfvo对该vim队列中的vim执行如下处理:

对于任务列表不为空的各vim,将各vim置入队尾;

对于任务列表为空的各vim,按照cpu剩余数量从多到少的顺序,将各vim依次从队首往后排列;且,

若存在cpu剩余数量相同的vim,则按照内存剩余容量的从大到小,对cpu剩余数量相同的各vim依次进行排列;若存在内存剩余容量相同的vim,则按照硬盘剩余容量的从大到小,对内存剩余容量相同的各vim依次进行排列。

图6为本发明实施例提供的选择vim的装置的结构示意图,该装置位于nfvo上,该装置主要包括:vim信息维护模块61、vim队列维护模块62和资源授权模块63,其中:

vim信息维护模块61:根据每个vim周期性发来的该vim的资源变化通知,维护各vim的剩余资源信息;根据每个vim周期性发来的该vim的虚拟化网络功能vnf实例任务状态变化通知,维护各vim的vnf实例任务列表,vnf实例任务列表中包含对应vim的正在执行的vnf实例任务。

vim队列维护模块62:对于任一vnfm下的vim队列,根据vim信息维护模块61维护的各vim的剩余资源信息以及各vim的vnf实例任务列表,周期性地对该vim队列中的vim执行如下处理:将任务列表不为空的各vim置入队尾,且,按照cpu剩余数量从多到少的顺序,将任务列表为空的各vim从队首往后排列。

资源授权模块63:接收到vnfm发来的针对新创建的vnf实例的资源授权请求时,按照轮询策略从vim队列维护模块62维护的该vnfm的vim队列中选择一个vim,将该vim的资源分配给新创建的vnf实例。

进一步地,资源授权模块63按照cpu剩余数量从多到少的顺序,将任务列表为空的各vim从队首往后排列进一步包括:

若存在cpu剩余数量相同的vim,则按照内存剩余容量的从大到小,将cpu剩余数量相同的各vim依次进行排列。

进一步地,资源授权模块63按照内存剩余容量的从大到小,将cpu剩余数量相同的各vim依次进行排列进一步包括:

若存在内存剩余容量相同的vim,则按照硬盘剩余容量的从大到小,将内存剩余容量相同的各vim依次进行排列。

进一步地,资源授权模块63按照轮询策略从自身维护的该vnfm的vim队列中选择一个vim之后、将该vim的资源分配给新创建的vnf实例之前进一步包括:

向选择的vim发送获取资源信息指令,当接收到该vim返回的该vim的剩余资源信息时,计算该vim的剩余资源是否满足该新创建的vnf实例所需的资源,若满足,则选定该vim;否则,返回所述按照轮询策略从自身维护的该vnfm的vim队列中选择一个vim的动作。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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