基于openstack的Nova组件虚拟机的调度方法及其调度系统与流程

文档序号:12829299阅读:625来源:国知局
基于openstack的Nova组件虚拟机的调度方法及其调度系统与流程

本发明属于通信技术领域,具体涉及一种基于openstack的nova组件虚拟机的调度方法及基于openstack的nova组件虚拟机的调度系统。



背景技术:

云计算现已成为全球it行业发展的重要趋势,而云基础设施管理技术是基于虚拟化技术实现的供政府/企业/个人使用的云资源平台,它将网络、存储、计算等一系列虚拟资源进行组合,供政府/企业/个人用户按需使用。当前,云基础设施管理已经成为全球政府/企业云产业界公认的发展重点;国际和国内的云产业巨头加快技术研发、企业转型和联盟合作以抢占云计算发展的主导权和新兴市场空间。这种情况下,面对日益迫切的云计算发展需求,基于openstack的nova组件虚拟机优化调度系统对于云计算的迅速持续发展具有重要意义。

现有云计算应用系统随着云计算应用业务的快速增长,伴之产生的虚拟机运行阻塞及系统瓶颈等问题日益突出。现有nova组件虚拟机调度转发系统主要采用随机式、可用式和简单式,更为常用的是将采用随机方式将需迁移的虚拟机分配至计算节点中,未充分考虑到nova组件虚拟机运行阻塞及系统瓶颈等方面问题。

随着云计算应用业务的快速增长,伴之产生的nova组件虚拟机运行阻塞及系统瓶颈等问题日益突出。可见,设计一种具有虚拟机运行拥塞程度低及系统稳定的调度机制成为目前亟待解决的技术问题。



技术实现要素:

本发明所要解决的技术问题是针对现有技术中存在的上述不足,提供一种基于openstack的nova组件虚拟机的调度方法及基于openstack的nova组件虚拟机的调度系统,针对nova组件虚拟机运行阻塞及系统瓶颈等问题,至少部分解决虚拟机运行拥塞程度高及系统不稳定的问题。

解决本发明技术问题所采用的技术方案是该基于openstack的nova组件虚拟机的调度方法,包括步骤:

接收需迁移虚拟机的实例信息;

获取并汇总各计算节点信息,建立nova组件虚拟机调度热迁移模型;

根据nova组件虚拟机优化调度评价函数,逐一计算每一所述计算节点的信息向量,获得满足nova组件虚拟机优化调度评价函数的调度结果;

执行调度结果,将nova组件虚拟机分配至调度评价函数值最优的所述计算节点;

其中:nova组件虚拟机优化调度评价函数中:包括对所述计算节点的负载率p、空闲存储空间值m、虚拟机运行故障率λ的动态迭代计算;在获得满足nova组件虚拟机优化调度评价函数的调度结果之前,重复获取并汇总各计算节点信息的步骤以及计算每一所述计算节点的信息向量的步骤。

优选的是,定义xik为所述计算节点是否承担运行处理某虚拟机,k表示第k次迭代,即:

则,nova组件虚拟机优化调度评价函数为:

其中:l为迭代最大数,k≤l,且满足k=1,2,…,l的条件;θ、σ和分别为计算节点负载率p、空闲存储空间值m、虚拟机运行故障率λ的调整因子,分别为的第k次迭代平均值;

约束条件为:

并且:

某一所述计算节点的负载率为:

其中:为第i个计算节点在单位时间tτ内运行处理完成的虚拟机数量;

某一所述计算节点的空闲存储空间值m为即计算节点的可分配存储空间,为空闲存储空间率的倒数;

某一所述计算节点的虚拟机运行故障率λ为:

其中:为第i个计算节点在单位时间tτ内出现故障的虚拟机数量。

优选的是,对所述计算节点的负载率p、空闲存储空间值m、虚拟机运行故障率λ的动态迭代计算过程为:

某一所述计算节点的信息向量为:

其中:为包含负载率p、空闲存储空间值m、虚拟机运行故障率λ的所述计算节点的信息向量:

ηk为所述计算节点的信息向量的期望均值向量:

bk为所述计算节点的信息向量的方差均值向量:

其中:k表示本次迭代预测的该所述计算节点的信息向量,k+1表示以本次迭代的该所述计算节点的信息向量为基础迭代预测的下一次该所述计算节点的信息向量。

优选的是,每隔预置时间,以所述计算节点主动上报和/或定期被询问机制获取所述计算节点信息,并将剩余容量大于等于所述需迁移虚拟机的容量的所述计算节点的信息进行汇总。

优选的是,所述nova组件虚拟机调度热迁移模型中包括n个所述计算节点,各所述计算节点独立工作互不干扰。

一种基于openstack的nova组件虚拟机的调度系统,包括接收单元、获取单元、计算单元和执行单元,其中:

所述接收单元,用于接收需迁移虚拟机的实例信息;

所述获取单元,用于获取并汇总各计算节点信息,建立nova组件虚拟机调度热迁移模型;

所述计算单元,用于根据nova组件虚拟机优化调度评价函数,逐一计算所述获取单元汇总的每一所述计算节点的信息向量,获得满足nova组件虚拟机优化调度评价函数的调度结果;

所述执行单元,用于执行所述计算单元的调度结果,将nova组件虚拟机分配至调度评价函数值最优的所述计算节点;

其中:nova组件虚拟机优化调度评价函数中:包括根据对所述计算节点的负载率p、空闲存储空间值m、虚拟机运行故障率λ的动态迭代计算;在获得满足nova组件虚拟机优化调度评价函数的调度结果之前,重复从所述获取单元获取并汇总各计算节点信息的步骤以及在所述计算单元中计算每一所述计算节点的信息向量。

优选的是,所述计算单元包括定义模块和评价函数模块,其中:

在所述定义模块中,定义xik为所述计算节点是否承担运行处理某虚拟机,k表示第k次迭代,即:

在所述评价函数模块中,nova组件虚拟机优化调度评价函数为:

其中:l为迭代最大数,k≤l,且满足k=1,2,…,l的条件;θ、σ和分别为计算节点负载率p、空闲存储空间值m、虚拟机运行故障率λ的调整因子,分别为的第k次迭代平均值;

约束条件为:

并且:

某一所述计算节点的负载率为:

其中:为第i个计算节点在单位时间tτ内运行处理完成的虚拟机数量;

某一所述计算节点的空闲存储空间值m为即计算节点的可分配存储空间,为空闲存储空间率的倒数;

某一所述计算节点的虚拟机运行故障率λ为:

其中:为第i个计算节点在单位时间tτ内出现故障的虚拟机数量。

8.根据权利要求7所述的调度系统,其特征在于,所述评价函数模块包括信息向量模组,在所述信息向量模组中,对所述计算节点的负载率p、空闲存储空间值m、虚拟机运行故障率λ的动态迭代计算过程为:

某一所述计算节点的信息向量为:

其中:为包含负载率p、空闲存储空间值m、虚拟机运行故障率λ的所述计算节点的信息向量:

ηk为所述计算节点的信息向量的期望均值向量:

bk为所述计算节点的信息向量的方差均值向量:

其中:k表示本次迭代预测的该所述计算节点的信息向量,k+1表示以本次迭代的该所述计算节点的信息向量为基础迭代预测的下一次该所述计算节点的信息向量。

优选的是,在所述获取单元中,每隔预置时间,以所述计算节点主动上报和/或定期被询问机制获取所述计算节点信息,并将剩余容量大于等于所述需迁移虚拟机的容量的所述计算节点的信息进行汇总。

优选的是,所述nova组件虚拟机调度热迁移模型中包括n个所述计算节点,各所述计算节点独立工作互不干扰。

本发明的有益效果是:该基于openstack的nova组件虚拟机的调度方法及基于openstack的nova组件虚拟机的调度系统,综合了各计算节点的计算节点负载率p、空闲存储空间值m、虚拟机运行故障率λ等因素实时地分析而得到动态虚拟机转发迁移算法,将虚拟机实时的以nova组件虚拟机优化调度算法进行优化调度迁移转发,实现虚拟机按当前nova组件虚拟机优化调度评价函数最优的虚拟机调度热迁移方案进行热迁移及处理,并结合虚拟机优先权优先调度热迁移及处理,实现了虚拟机运行拥塞程度低及系统稳定的优势。

附图说明

图1为基于openstack的nova组件虚拟机调度机制的总体结构示意图;

图2为本发明实施例中nova组件虚拟机调度方法的软件结构示意图;

图3为本发明实施例中nova组件虚拟机调度方法的逻辑结构示意图;

图4为本发明实施例中nova组件虚拟机调度方法的流程图;

图5为本发明实施例中nova组件虚拟机调度方法的原理图;

图6为本发明实施例中nova组件虚拟机调度系统的结构示意图;

附图标记中:

1-接收单元;2-获取单元;3-计算单元;4-执行单元。

具体实施方式

为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明基于openstack的nova组件虚拟机的调度方法及基于openstack的nova组件虚拟机的调度系统作进一步详细描述。

本发明针对上述问题公开了一种基于openstack的nova组件虚拟机优化调度方法,主要针对虚拟机运行阻塞及系统瓶颈等问题,对nova组件虚拟机的优化调度机制进行分析和优化。该基于openstack的nova组件虚拟机调度方法的技术思想是:对各计算节点进行判断,并对需热迁移的虚拟机可能分配的计算节点进行优化调度;同时,由于各虚拟机具有不同优先等级,还同时考虑各虚拟机在分配中的优先等级,将需热迁移的虚拟机以nova组件虚拟机优化调度评价函数最优的调度方案执行到相应的计算节点上。从而,使得n个计算节点的承载处理能力和存储资源能够达到最优化利用、处理消息时间能够尽可能短、系统运行虚拟机故障率更低,以实现本发明的虚拟机运行拥塞程度低及系统稳定的优势。

本发明基于图1所示的基于openstack的nova组件虚拟机调度机制的总体总体结构示意图(虚拟机调度)来实现。图1中,nova是openstack计算的弹性控制器,负责管理整个云的计算资源、网络、授权。nova通过nova-api(api服务器)来对外提供处理接口,nova-api提供了云设施与外界交互的接口,它是外界用户对云实施管理的唯一通道。nova-computer(运算工作站)的主要任务是管理虚拟机实例的整个生命周期(不管是否迁移),通过消息队列接收请求并执行,从而对实例进行各种操作。nova-schedule(调度器)负责把nova-api调用送达给目标。调度器以守护进程方式运行,并根据调度算法从可用资源池中恰当地选择运算服务器。queue(消息队列,rabbitmqserver)记录信息顺序的列表。nova对请求应答进行异步调用,当请求接收后便立即触发一个回调。nova-conductor是在nova-compute之上的新的服务层。

通常情况下,如图1所示的基于openstack的nova组件虚拟机调度机制的总体结构示意图中,虚拟机调度(热迁移)总共有7个步骤,具体如下:

1.nova-api发出虚拟机热迁移请求到消息队列中;

2.nova-conducter从消息队列中获取需迁移虚拟机的实例信息;

3&4.nova-scheduler选择目标计算节点并返回给消息队列;

5.nova-conducter检测需热迁移虚拟机实例运行状态、目标计算节点是否运行、目标计算节点是否为源目标计算节点、目标计算节点是否有足够的存储空间等;

6.nova-conducter将检测结果返回给消息队列;

7.nova-compute根据从消息队列中获取的检测结果及需热迁移虚拟机实例信息执行需热迁移虚拟机从源计算节点到目标计算节点的迁移。

在本实施例中,nova组件虚拟机优化机制实现了具有虚拟机运行顺畅及系统稳定的nova组件虚拟机优化调度功能,尤其是针对其中的3&4步骤,其软件架构如图2中nova组件虚拟机调度方法的软件结构示意图所示,其中的nova-scheduler主要完成虚拟机实例的调度分配任务,而调度器根据调度算法从可用资源池中适合地计算节点,各计算节点用于承载被热迁移的虚拟机实例。

该基于openstack的nova组件虚拟机的调度方法,包括步骤:

接收需迁移虚拟机的实例信息;

获取并汇总各计算节点信息,建立nova组件虚拟机调度热迁移模型;

根据nova组件虚拟机优化调度评价函数,逐一计算每一计算节点的信息向量,获得满足nova组件虚拟机优化调度评价函数的调度结果;

执行调度结果,将nova组件虚拟机分配至调度评价函数值最优的计算节点;

其中:nova组件虚拟机优化调度评价函数中:包括对计算节点的负载率p、空闲存储空间值m、虚拟机运行故障率λ的动态迭代计算;在获得满足nova组件虚拟机优化调度评价函数的调度结果之前,重复获取并汇总各计算节点信息的步骤以及计算每一计算节点的信息向量的步骤。

在各nova组件虚拟机信息采集汇总后,虚拟机优化调度的逻辑结构如图3中nova组件虚拟机调度方法的逻辑结构示意图所示,本实施例调度方法中逻辑结构包含三个部分:各计算节点信息获取汇总、nova组件虚拟机优化调度算法分析、nova组件虚拟机优化调度算法执行。其中,各计算节点信息主要包含:计算节点的负载率p、计算节点的空闲存储空间值m(具体取空闲存储空间率的倒数)、计算节点的虚拟机运行故障率λ等。该nova组件虚拟机优化调度算法分析并实现了针对各计算节点的负载率p、空闲存储空间值m、虚拟机运行故障率λ进行虚拟机优化调度分析,并分析出各虚拟机的优化调度算法;nova组件虚拟机的优化调度算法执行保证了各nova组件虚拟机优化调度算法的执行。

在本实施例中,虚拟机运行顺畅及系统稳定的nova组件虚拟机优化调度算法主要在调度器中实现,算法落实为如图4所示的nova组件虚拟机优化调度算法的流程图中的各步骤,基于openstack的nova组件虚拟机优化调度算法进行虚拟机热迁移及处理,该算法根据各计算节点信息,采用实时主动兼被动收集各计算平台的信息并实时优化调度热迁移,明显优化了运行阻塞及系统瓶颈等方面指标。

图4nova组件虚拟机优化调度算法的流程图中的具体流程如下:

1)获取并汇总各计算节点信息

在该步骤中,每隔预置时间通过各计算节点主动上报和/或定期被询问机制获取的计算节点信息,并将这些信息进行汇总。在进行调度算法之前,可先筛选剩余容量大于等于需迁移虚拟机所需的容量的计算节点,进而获取这些计算节点信息,以保证计算节点能满足虚拟机的需求。

如图5nova组件虚拟机优化调度方法的原理图所示。该nova组件虚拟机优化调度热迁移模型有n个计算节点,各计算节点独立工作互不干扰。当需热迁移虚拟机到达调度器后,该待热迁移虚拟机以nova组件虚拟机优化调度评价函数最优的调度方案调度到相应的计算节点上并运行处理。本实施例中虚拟机的优先等级主要与时间相关,若到来的虚拟机在排队过程中被延迟则被赋予当前较高的调度优先权。

定义:xik为该计算节点是否承担运行处理某虚拟机,k表示第k次迭代,则有:

2)设置迭代初始参数

在该步骤中,设置迭代最大数l,根据实际情况例如可设置为50。

一般情况下,对步骤1)、2)的顺序可以不做限定,只需在进行迭代计算之前完成即可。

3)判断是否满足nova组件虚拟机优化调度评价条件

在该步骤中,根据基于运筹学、博弈优化及均衡等思想、工程数学理论的nova组件虚拟机优化调度评价条件即评价函数进行判断,当不满足nova组件虚拟机优化调度评价条件时应继续进行迭代。

其中,nova组件虚拟机优化调度评价函数为:

其中:l为迭代最大数,k≤l,且满足k=1,2,…,l的条件;θ、σ和分别为计算节点的负载率p、空闲存储空间值m、虚拟机运行故障率λ的调整因子,分别为的第k次迭代平均值;

并且:

约束条件为:

d(xik)为微积分计算。

其中,某一计算节点在单位时间内运行处理完成的虚拟机概率为:

其中:为第i个计算节点在单位时间tτ内运行处理完成的虚拟机数量,单位时间可以为1s、1min、1h、1day等,这里不做限制。

某一计算节点的虚拟机运行故障率λ为:

其中:为第i个计算节点在单位时间tτ内出现故障的虚拟机数量。

根据优化调度函数值,即根据公式(2)中

计算得到的节点信息值最优的即为满足nova组件虚拟机优化调度评价条件。例如,根据需迁移虚拟机的具体情况,涉及计算节点的负载率p、虚拟机运行故障率λ则最小的为最优,涉及空闲存储空间值m则最大的为最优。

4)若步骤3)结果为否,当前迭代次数加1

在该步骤中,当前迭代次数增加1次,也即k+1,k≤l,继续进行下一次迭代。在迭代过程中,k表示本次迭代预测的该计算节点的信息向量,k+1表示以本次迭代的该计算节点的信息向量为基础迭代预测的下一次该计算节点的信息向量。此时,某一计算节点的信息向量为:

其中:为包含计算节点负载率p、空闲存储空间值m、虚拟机运行故障率λ三方面的计算节点信息向量,即为:

ηk为计算节点信息向量的期望均值向量:

bk为计算节点信息向量的方差均值向量:

5)若步骤3)结果为是,nova组件虚拟机优化调度算法对虚拟机进行调度

在该步骤中,以nova组件虚拟机优化调度算法对各虚拟机进行调度迁移转发。其中,根据不同的优先等级,将符合优化调度函数值的计算节点优先分配给优先等级最高的虚拟机。

6)以nova组件虚拟机优化调度算法对节点信息进行调整

在该步骤中,根据步骤4)中迭代预测的计算节点的信息向量,分解得到计算节点的负载率p、空闲存储空间值m、虚拟机运行故障率λ,并对相应节点信息进行调整。

7)各计算节点信息获取汇总

在该步骤中,每隔预置时间通过各计算节点主动上报和定期被询问机制获取的计算节点信息,并将下一次迭代后的节点信息进行汇总,并且自动转到下一步骤进一步判断当前迭代次数是否大于最大迭代次数。

根据当前迭代次数是否大于最大迭代次数的结果,若达到最大迭代次数,则不再计算更新后的调度评价函数值是否为最优,直接进行计算节点调度;若未达到最大迭代次数,则将更新后的计算节点信息带入nova组件虚拟机优化调度评价函数,相应计算该计算节点是否满足调度评价函数的要求,以nova组件虚拟机优化调度算法对各虚拟机进行调度迁移转发。

如图6nova组件虚拟机调度系统的结构示意图所示,本实施例还相应提供一种基于openstack的nova组件虚拟机的调度系统,包括接收单元1、获取单元2、计算单元3和执行单元4,其中:

接收单元1,用于接收需迁移虚拟机的实例信息;

获取单元2,用于获取并汇总各计算节点信息,建立nova组件虚拟机调度热迁移模型;

计算单元3,用于根据nova组件虚拟机优化调度评价函数,逐一计算获取单元2汇总的每一计算节点的信息向量,获得满足nova组件虚拟机优化调度评价函数的调度结果;

执行单元4,用于执行计算单元3的调度结果,将nova组件虚拟机分配至调度评价函数值最优的计算节点;

其中:nova组件虚拟机优化调度评价函数中:包括根据对计算节点的负载率p、空闲存储空间值m、虚拟机运行故障率λ的动态迭代计算;在获得满足nova组件虚拟机优化调度评价函数的调度结果之前,重复从获取单元2获取并汇总各计算节点信息的步骤以及在计算单元3中计算每一计算节点的信息向量。

在获取单元2中,每隔预置时间,以计算节点主动上报和/或定期被询问机制获取计算节点信息,并将剩余容量大于等于需迁移虚拟机的容量的计算节点的信息进行汇总。同时,nova组件虚拟机调度热迁移模型中包括n个计算节点,各计算节点独立工作互不干扰。

其中,计算单元3包括定义模块和评价函数模块,其中:

在定义模块中,定义xik为计算节点是否承担运行处理某虚拟机,k表示第k次迭代,即:

在评价函数模块中,nova组件虚拟机优化调度评价函数为:

其中:l为迭代最大数,k≤l,且满足k=1,2,…,l的条件;θ、σ和分别为计算节点负载率p、空闲存储空间值m、虚拟机运行故障率λ的调整因子,分别为的第k次迭代平均值;

约束条件为:

并且:

某一计算节点的负载率为:

其中:为第i个计算节点在单位时间tτ内运行处理完成的虚拟机数量;

某一计算节点的空闲存储空间值m为即计算节点的可分配存储空间,为空闲存储空间率的倒数;

某一计算节点的虚拟机运行故障率λ为:

其中:为第i个计算节点在单位时间tτ内出现故障的虚拟机数量。

评价函数模块包括信息向量模组,在信息向量模组中,对计算节点的负载率p、空闲存储空间值m、虚拟机运行故障率λ的动态迭代计算过程为:

某一计算节点的信息向量为:

其中:为包含负载率p、空闲存储空间值m、虚拟机运行故障率λ的计算节点的信息向量:

ηk为计算节点的信息向量的期望均值向量:

bk为计算节点的信息向量的方差均值向量:

其中:k表示本次迭代预测的该计算节点的信息向量,k+1表示以本次迭代的该计算节点的信息向量为基础迭代预测的下一次该计算节点的信息向量。

本发明中基于openstack的nova组件虚拟机优化调度方法及基于openstack的nova组件虚拟机的调度系统,利用了生物领域迭代及自主学习思想,结合了每代种群迁移优化的理论,综合了运筹学、工程统计学、博弈优化及均衡等理论。其根据nova组件虚拟机调度热迁移实现流程,综合了各计算节点的计算节点负载率p、空闲存储空间值m、虚拟机运行故障率λ等因素实时地分析而得到动态虚拟机转发迁移算法,能够根据实时的各计算节点信息得到更优异的调度方案,相对更能适应实时的计算节点状态并根据各计算节点的动态信息状况全局化调度热迁移虚拟机,从而将虚拟机实时的以nova组件虚拟机优化调度算法进行优化调度迁移转发,实现虚拟机按当前nova组件虚拟机优化调度评价函数最优的虚拟机调度热迁移方案进行热迁移及处理,并结合虚拟机优先权优先调度热迁移及处理,实现了虚拟机运行拥塞程度低及系统稳定的优势。

可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

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