一种资源调度以及资源迁移的方法及设备的制作方法

文档序号:7896866阅读:341来源:国知局
专利名称:一种资源调度以及资源迁移的方法及设备的制作方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种对物理服务器动态调度的方法及设备,以及根据调度的物理服务器对物理服务器中运行的虚拟机进行资源迁移的方法及设备。
背景技术
随着近年多核系统、集群、网格甚至云计算的广泛部署,虚拟化技术在应用上的优势日益体现,不仅降低了成本,而且还增强了系统安全性和可靠性。虚拟化技术可以在物理服务器上运行多个被虚拟化软件虚拟成的相互独立的虚拟机,每个虚拟机上都可以运行操作系统以及应用程序,运行在同一物理服务器上的多台虚拟机共享物理服务器的硬件资源。为了使运行在同一物理服务器本地的多台虚拟机上的应用程序正确执行,需要在多台虚拟机之间进行物理服务器硬件资源的调度,目前常用的调度方案包括对物理服务器的CPU和内存资源的本地优化调度,分别说明如下对CPU优化调度方式是根据虚拟机的虚拟CPU的负载状况为各虚拟机分配物理服务器的CPU资源,虚拟CPU的负载越大,分配的物理服务器的CPU资源越多,使得为虚拟机分配的物理服务器CPU资源能够满足虚拟机上运行的操作系统以及应用程序的需求。与CPU优化调度方式注重设计优化调度策略的方式不同,由于虚拟机内部的内存使用状况不易获取以及虚拟机的内存需求难以预测等困难,目前对内存优化调度方式只能简单假设每个虚拟机运行的应用程序优先级相同,以尽量减少应用程序的中断次数为目标,在多台虚拟机之间进行两两迭代的试探算法,为各虚拟机调度合适的物理服务器内存资源。上述为虚拟机调度物理服务器资源的方式局限在一台物理服务器的内部,即将一台物理服务器的硬件资源作为待调度的资源,为该物理服务器本地的多台虚拟机进行资源调度。而随着虚拟化技术的不断深入,以及诸如云计算等资源共享型业务的不断发展,通过跨越物理服务器边界,对大量物理服务器组成的全局资源池内实现资源的动态共享与资源调度已成为可能,上述针对一台物理服务器的内部的资源调度方式已不能满足全局资源池的资源调度需求。针对全局资源池,每台物理服务器上都运行了多台虚拟机,而每台虚拟机的上层又运行了各项应用程序,为了实时保证各项应用程序的正确运行,需要确保资源池中有足够的物理资源,但如果一味地增加资源池中的物理服务器,又可能因为部分物理服务器的空运行造成物理资源的浪费,以及空运行的物理服务器额外消耗了电能,因此,需要对资源池中的物理服务器的数量进行调度,使得物理资源满足应用程序运行的情况下,减少物理资源以及电能的浪费
发明内容
本发明实施例提供一种资源调度以及资源迁移的方法及设备,用以解决现有技术中物理资源调度不合理的问题。一种资源调度的方法,所述方法包括根据设定时长内虚拟机对物理资源需求的变化状态,将所述设定时长依次划分为多个调度时间段;确定每个调度时间段内承载虚拟机的物理服务器的数量,并在每个调度时间段到达时,运行该调度时间段对应数量的物理服务器;其中每个调度时间段对应数量的物理服务器能够满足该调度时间段内虚拟机对物理资源的需求,每个调度时间段对应物理服务器的数量不大于资源池内物理服务器的总数量。一种资源迁移的方法,所述方法包括在调度时间段到达时,比较本次调度时间段对应的物理服务器的数量与前一个调度时间段对应的物理服务器的数量;在本次调度时间段对应的物理服务器的数量大于前一个调度时间段对应的物理服务器的数量时,将P个物理服务器上电运行,并将在前一个调度时间段已运行的物理服务器中,资源短缺率达到门限值的物理服务器的至少一个虚拟机迁移至所述P个物理服务器中;在本次调度时间段对应的物理服务器的数量小于前一个调度时间段对应的物理服务器的数量时,将在前一个调度时间段已运行的物理服务器中,资源短缺率最高的P个物理服务器的虚拟机全部迁移至其他物理服务器中,并将资源短缺率最高的P个物理服务器下电;所述P是本次调度时间段对应的物理服务器的数量与前一个调度时间段对应的物理服务器的数量之差的绝对值。一种资源调度的设备,所述设备包括时间段划分模块,用于根据设定时长内虚拟机对物理资源需求的变化状态,将所述设定时长依次划分为多个调度时间段;数量确定模块,用于确定每个调度时间段内承载虚拟机的物理服务器的数量,其中每个调度时间段对应数量的物理服务器能够满足该调度时间段内虚拟机对物理资源的需求,每个调度时间段对应物理服务器的数量不大于资源池内物理服务器的总数量;调度模块,用于在每个调度时间段到达时,运行该调度时间段对应数量的物理服务器。一种资源迁移的设备,所述资源迁移的设备包括比较模块,用于在调度时间段到达时,比较本次调度时间段对应的物理服务器的数量与前一个调度时间段对应的物理服务器的数量;上电迁移模块,用于在本次调度时间段对应的物理服务器的数量大于前一个调度时间段对应的物理服务器的数量时,将P个物理服务器上电运行,并将在前一个调度时间段已运行的物理服务器中,资源短缺率达到门限值的物理服务器的至少一个虚拟机迁移至所述P个物理服务器中;下电迁移模块,用于在本次调度时间段对应的物理服务器的数量小于前一个调度时间段对应的物理服务器的数量时,将在前一个调度时间段已运行的物理服务器中,资源短缺率最高的P个物理服务器的虚拟机全部迁移至其他物理服务器中,并将资源短缺率最高的P个物理服务器下电;所述P是本次调度时间段对应的物理服务器的数量与前一个调度时间段对应的物理服务器的数量之差的绝对值。本发明有益效果如下本发明实施例按照设定时长内虚拟机对物理资源需求的变化状态,为每个调度时间段调度合理的物理服务器数量,并在每个调度时间段到达时,如果新增空闲的物理服务器,则将已有的虚拟机迁移至刚上电的空闲物理服务器,如果需要减少资源池中运行的物理服务器,则将待下电的物理服务器的虚拟机迁移至资源池中的其他物理服务器,使得全局资源池中的物理服务器的数量能够实时支持上层虚拟机对物理资源的需求,同时还最大程度地减少物理服务器的空运行造成的物理资源浪费以及电能的浪费。


图1为本发明实施例一中资源调度的方法示意图;图2为设定时长内虚拟机对物理资源需求的变化示意图;图3为M小时内VoIP业务在资源池的初始静态部署对物理资源需求的变化示意图;图4为资源池内物理服务器的动态调度过程示意图;图5为本发明实施例二中进行资源迁移的方法步骤示意图;图6(a)和图6(b)为本发明实施例三中资源调度的设备结构示意图;图7为本发明实施例四中资源迁移的设备结构示意图;图8为DSN平台资源融合架构示意图。
具体实施例方式本发明实施例为了平衡资源池中物理资源对各虚拟机的支持以及资源浪费的问题,提出一种针对全局资源池的资源调度以及资源迁移方案,按照设定时长内虚拟机对物理资源需求的变化状态,为每个调度时间段调度合理的物理服务器数量,并在每个调度时间段到达时,如果新增空闲的物理服务器,则将已有的虚拟机迁移至刚上电的空闲物理服务器,如果需要减少资源池中运行的物理服务器,则将待下电的物理服务器的虚拟机迁移至资源池中的其他物理服务器,使得全局资源池中的物理服务器的数量能够实时支持上层虚拟机对物理资源的需求,同时还最大程度地减少物理服务器的空运行造成的物理资源浪费以及电能的浪费。下面结合说明书附图对本发明实施例进行详细描述。实施例一如图1所示,为本发明实施例一中资源调度的方法示意图,本发明各实施例中涉及的资源调度是指对资源池中物理服务器的数量进行调度,也就是对资源池提供的物理资源数量进行调度,具体的调度方法如下步骤101 根据设定时长内虚拟机对物理资源需求的变化状态,将所述设定时长依次划分为多个调度时间段。根据对计算机业务以及通信业务的业务量的统计分析可知,业务量的波动在设定时长内具有一定的规律性,而业务量越高,表示虚拟机对物理资源的需求越大,因此,可以将设定时长按照业务量的变化状态划分为多个调度时间段。由于每个调度时间段内的业务量都不尽相同,因此,可以以调度时间段为单位,在每个调度时间段到达时执行后续步骤的调度操作。本实施例中涉及的设定时长可以是周期到达的时长,如设定时长是0:00 对:00,则在每天的0:00到达时,可以周期性地执行本实施例一的方案。步骤102 确定每个调度时间段内承载虚拟机的物理服务器的数量。由于在步骤101中是按照虚拟机对物理资源需求的变化状态来划分的调度时间段,在每个调度时间段内,虚拟机都有其对物理资源需求,因此,可以按照虚拟机对物理资源的需求为每个调度时间段设置对应的物理服务器的数量。具体的物理服务器数量设置方式为只要每个调度时间段对应数量的物理服务器能够满足该调度时间段内虚拟机对物理资源的需求,并且每个调度时间段对应物理服务器的数量不大于资源池内物理服务器的总数量,就能够确保资源池中的物理资源能够实时满足上层的虚拟机对物理资源的需求,避免出现物理资源不足导致虚拟机中运行的应用程序出现问题。较优地,为了避免出现物理服务器数量设置过多导致物理资源以及电能的浪费, 在为各调度时间段设置物理服务器数量时,还需要确保在每个调度时间段内调整运行的物理服务器的数量造成的损耗之和小于设定值,也就是说,由于每个调度时间段设置的物理服务器数量在满足虚拟机对物理资源需求的情况下可以有所变化,因此,要为每个调度时间段设置一个合适的物理服务器数量,使得所有调度时间段在整体上造成的物理服务器的调整运行的损耗尽可能小。步骤103 在每个调度时间段到达时,运行该调度时间段对应数量的物理服务器。在本步骤中,针对某一个调度时间段,如果该调度时间段对应的物理服务器的数量小于前一调度时间段对应的物理服务器的数量,则在本步骤中,运行该调度时间段对应数量的物理服务器是指将资源池中正在运行的若干台物理服务器的虚拟机迁移至其他物理服务器,并将所述若干台物理服务器下电;如果该调度时间段对应的物理服务器的数量大于前一调度时间段对应的物理服务器的数量,则在本步骤中,运行该调度时间段对应数量的物理服务器是指将若干台空闲的物理服务器上电运行,并将资源池中已运行在其他物理服务器上的虚拟机迁移至所述空闲的物理服务器上,使各物理服务器上承载的虚拟机相对均衡,避免出现部分物理服务器负载过大的问题。如果该调度时间段对应的物理服务器的数量与前一调度时间段对应的物理服务器的数量相同,则在本步骤中,可以不对运行物理服务器进行调度。通过本发明实施例中步骤101 步骤103的资源调度方案,在确保资源池中的物理资源能够很好地满足虚拟机对物理资源需求的情况下,还使所有调度时间段在整体上造成的物理服务器的调整运行的损耗尽可能小,减少物理服务器空运行的物理资源浪费以及电能的浪费。下面对本发明实施例一各步骤的具体实现方式进行详细说明。
1、针对步骤101的详细说明如下步骤101是统计多种虚拟机在设定时长内对物理资源需求的变化规律,并按照这种变化规律将设定时长进行划分,该划分结果可以是通过虚拟化网元的资源消耗模型进行估计得到的,也可以是在业务部署前期通过在设定时长内选定采样点,并在采样点提取业务规模对物理资源需求后仿真确定的。不论划分结果是通过资源消耗模型还是仿真方式确定的,其具体的划分方式包括但不限于以下两种方式第一种划分方式是根据虚拟机对物理资源需求的单调变化趋势来划分调度时间段。如图2所示,为设定时长内虚拟机对物理资源需求的变化示意图,以图2为例,具体的划分方式为第一步按照内虚拟机对物理资源需求连续变化的趋势相同的条件,将设定时长划分为多段。在图2中,A点至C点的曲线变化趋势是资源需求不断增加,C点至E点的曲线变化趋势是资源需求不断减少,因此,图2所示的设定时长将被划分为2段,第1段是AC段, 第2段是CE段。第二步按照同一段内的相邻两个调度时间段的虚拟机对物理资源需求的变化率之差的绝对值大于阈值条件,确定每一段中的时间拐点。虚拟机对物理资源需求的变化率可以看作是图2中曲线的斜率,以AC段曲线来说,虽然曲线的总体变化趋势都是增加,但AB段的斜率小于BC段的斜率,表示在AB段虚拟机对物理资源需求的变化率小于BC段段虚拟机对物理资源需求的变化率,且B点为拐点, 若AB段虚拟机对物理资源需求的变化率(可看作AB段的斜率)与BC段虚拟机对物理资源需求的变化率(可看作BC段的斜率)之差的绝对值大于阈值,则将AB段划分为一个调度时间段,将BC段划分为另一个调度时间段,B点为拐点。需要说明的是,假设在AB段中还有B/点,且AB/段的斜率与B/C段的斜率之差的绝对值也大于阈值,则AB/段与B/C段将分别作为两个调度时间段,B/点为拐点。因此,上述第二步可能需要被多次执行,直至同一调度时间段内没有使相邻两个时间段的斜率之差的绝对值大于阈值的拐点,或是划分得到的调度时间段的数量已达到最大值τ为止。第三步根据已确定的时间拐点划分调度时间段。仍以图2为例,假设确定的时间拐点为B点、C点和D点,则图2所示的设定时长将被划分为4个调度时间段,分别为AB段、BC段、⑶段和DE段。第二种划分方式是按照等长划分原则来划分调度时间段的。仍以图2所示的设定时长为例,具体的划分方式为第一步根据经验值或是按照公式(1)的方式确定单位时长。
权利要求
1.一种资源调度的方法,其特征在于,所述方法包括根据设定时长内虚拟机对物理资源需求的变化状态,将所述设定时长依次划分为多个调度时间段;确定每个调度时间段内承载虚拟机的物理服务器的数量,并在每个调度时间段到达时,运行该调度时间段对应数量的物理服务器;其中每个调度时间段对应数量的物理服务器能够满足该调度时间段内虚拟机对物理资源的需求,每个调度时间段对应物理服务器的数量不大于资源池内物理服务器的总数量。
2.如权利要求1所述的方法,其特征在于,在每个调度时间段内调整运行的物理服务器的数量造成的损耗之和小于设定值。
3.如权利要求1所述的方法,其特征在于,将所述设定时长依次划分为多个调度时间段,具体包括将设定时长划分为多段,其中,每段内虚拟机对物理资源需求连续变化的趋势相同; 针对每段,将该段划分为至少一个调度时间段,其中,同一段内的相邻两个调度时间段的虚拟机对物理资源需求的变化率大于阈值。
4.如权利要求1所述的方法,其特征在于,将所述设定时长依次划分为多个调度时间段,具体包括通过以下公式确定单位时长
5.如权利要求2所述的方法,其特征在于,在确定N个调度时间段时,所述确定每个调度时间段内承载所述虚拟机的物理服务器的数量,具体包括在满足虚拟机运行时,确定每个调度时间段可选的各物理服务器的数量; 根据各调度时间段可选的物理服务器的数量确定多个取值集合,其中,每个取值集合中的取值表示所有调度时间段对应的物理服务器数量;针对每个取值集合,确定各调度时间段内调整运行的物理服务器的数量造成的损耗之和;将损耗小于设定值的一个取值集合中的取值作为各调度时间段对应的物理服务器数量;所述N是大于1的整数。
6.如权利要求5所述的方法,其特征在于,确定每个调度时间段可选的各物理服务器的数量,具体包括通过以下公式确定一个调度时间段对应的物理服务器的数量与前一个调度时间段对应的物理服务器的数量的变化量
7.如权利要求6所述的方法,其特征在于,确定各调度时间段内调整运行的物理服务器的数量造成的损耗之和,具体包括针对第i个调度时间段每个可选的各物理服务器的数量,确定将第i_l个调度时间段对应的物理服务器的数量调整为第i个调度时间段的一个可选数量造成的第一损耗,以及在该可选数量条件下,第i+Ι至第N个调度时间段中的可选数量造成的第二损耗;从第i个调度时间段所有可选的各物理服务器的数量中,确定第一损耗和第二损耗之和最小的可选数量,并将确定的可选数量作为第i个调度时间段对应的物理服务器的数量;根据确定的各调度时间段对应的物理服务器的数量,确定各调度时间段内调整运行的物理服务器的数量造成的损耗之和。
8.一种根据权利要求1确定的每个调度时间段对应的物理服务器的数量进行资源迁移的方法,其特征在于,所述方法包括在调度时间段到达时,比较本次调度时间段对应的物理服务器的数量与前一个调度时间段对应的物理服务器的数量;在本次调度时间段对应的物理服务器的数量大于前一个调度时间段对应的物理服务器的数量时,将P个物理服务器上电运行,并将在前一个调度时间段已运行的物理服务器中,资源短缺率达到门限值的物理服务器的至少一个虚拟机迁移至所述P个物理服务器中;在本次调度时间段对应的物理服务器的数量小于前一个调度时间段对应的物理服务器的数量时,将在前一个调度时间段已运行的物理服务器中,资源短缺率最高的P个物理服务器的虚拟机全部迁移至其他物理服务器中,并将资源短缺率最高的P个物理服务器下电;所述P是本次调度时间段对应的物理服务器的数量与前一个调度时间段对应的物理服务器的数量之差的绝对值。
9.如权利要求8所述资源迁移的方法,其特征在于,在本次调度时间段对应的物理服务器的数量大于前一个调度时间段对应的物理服务器的数量时,将资源短缺率达到门限值的物理服务器的至少一个虚拟机迁移至所述P个物理服务器中,具体包括确定资源短缺率达到门限值的物理服务器中对物理资源需求增加的虚拟机;将确定的虚拟机迁移至P个物理服务器。
10.如权利要求9所述资源迁移的方法,其特征在于,将确定的虚拟机迁移至P个物理服务器,具体包括按照确定的所述虚拟机对业务连续性要求由低至高的顺序,依次将确定的虚拟机迁移至所述P个物理服务器。
11.如权利要求8所述资源迁移的方法,其特征在于,在本次调度时间段对应的物理服务器的数量小于前一个调度时间段对应的物理服务器的数量时,将资源短缺率最高的P个物理服务器的虚拟机全部迁移至其他物理服务器中,具体包括确定资源短缺率最高的P个物理服务器中各虚拟机对物理资源的需求; 将资源短缺率最高的P个物理服务器中各虚拟机迁移至所述其他物理服务器中空闲资源满足需求的物理服务器。
12.一种资源调度的设备,其特征在于,所述设备包括时间段划分模块,用于根据设定时长内虚拟机对物理资源需求的变化状态,将所述设定时长依次划分为多个调度时间段;数量确定模块,用于确定每个调度时间段内承载虚拟机的物理服务器的数量,其中每个调度时间段对应数量的物理服务器能够满足该调度时间段内虚拟机对物理资源的需求, 每个调度时间段对应物理服务器的数量不大于资源池内物理服务器的总数量;调度模块,用于在每个调度时间段到达时,运行该调度时间段对应数量的物理服务器。
13.如权利要求12所述的资源调度的设备,其特征在于,数量确定模块,还用于根据每个调度时间段内对应的物理服务器的数量,确定在每个调度时间段内调整运行的物理服务器的数量造成的损耗之和小于设定值。
14.如权利要求12所述的资源调度的设备,其特征在于,所述时间段划分模块,包括 第一划分子模块,用于将设定时长划分为多段,其中,每段内虚拟机对物理资源需求连续变化的趋势相同;第二划分子模块,用于针对每段,将该段划分为至少一个调度时间段,其中,同一段内的相邻两个调度时间段的虚拟机对物理资源需求的变化率大于阈值。
15.如权利要求12所述的资源调度的设备,其特征在于,所述时间段划分模块,包括 单位时长确定子模块,用于通过以下公式确定单位时长
16.如权利要求13所述的资源调度的设备,其特征在于,所述数量确定模块,包括 可选数量确定子模块,用于在时间段划分模块划分得到N个调度时间段时,确定在满足虚拟机运行时每个调度时间段可选的各物理服务器的数量;集合确定子模块,用于根据各调度时间段可选的物理服务器的数量确定多个取值集合,其中,每个取值集合中的取值表示所有调度时间段对应的物理服务器数量;损耗确定子模块,用于针对每个取值集合,确定各调度时间段内调整运行的物理服务器的数量造成的损耗之和;设置子模块,用于将损耗小于设定值的一个取值集合中的取值作为各调度时间段对应的物理服务器数量。
17.如权利要求16所述的资源调度的设备,其特征在于,可选数量确定子模块,具体用于通过以下公式确定一个调度时间段对应的物理服务器的数量与前一个调度时间段对应的物理服务器的数量的变化量,根据所述变化量的不同取值,确定每个调度时间段可选的各物理服务器的数量M
18.如权利要求16所述的资源调度的设备,其特征在于,损耗确定子模块,具体用于针对第i个调度时间段每个可选的各物理服务器的数量, 确定第一损耗和第二损耗,并确定第一损耗和第二损耗之和最小的可选数量,将确定的可选数量作为第i个调度时间段对应的物理服务器的数量,根据确定的各调度时间段对应的物理服务器的数量,确定各调度时间段内调整运行的物理服务器的数量造成的损耗之和, 其中,所述第一损耗是将第i_l个调度时间段对应的物理服务器的数量调整为第i个调度时间段的一个可选数量造成的损耗,第二损耗是在该可选数量条件下,第i+Ι至第N个调度时间段中的可选数量造成的损耗。
19.一种根据权利要求12确定的每个调度时间段对应的物理服务器的数量进行资源迁移的设备,其特征在于,所述资源迁移的设备包括比较模块,用于在调度时间段到达时,比较本次调度时间段对应的物理服务器的数量与前一个调度时间段对应的物理服务器的数量;上电迁移模块,用于在本次调度时间段对应的物理服务器的数量大于前一个调度时间段对应的物理服务器的数量时,将P个物理服务器上电运行,并将在前一个调度时间段已运行的物理服务器中,资源短缺率达到门限值的物理服务器的至少一个虚拟机迁移至所述 P个物理服务器中;下电迁移模块,用于在本次调度时间段对应的物理服务器的数量小于前一个调度时间段对应的物理服务器的数量时,将在前一个调度时间段已运行的物理服务器中,资源短缺率最高的P个物理服务器的虚拟机全部迁移至其他物理服务器中,并将资源短缺率最高的 P个物理服务器下电;所述P是本次调度时间段对应的物理服务器的数量与前一个调度时间段对应的物理服务器的数量之差的绝对值。
20.如权利要求19所述资源迁移的设备,其特征在于,所述上电迁移模块,包括虚拟机确定子模块,用于确定资源短缺率达到门限值的物理服务器中对物理资源需求增加的虚拟机;第一迁移子模块,用于将确定的虚拟机迁移至P个物理服务器。
21.如权利要求20所述资源迁移的设备,其特征在于,第一迁移子模块,具体用于按照确定的所述虚拟机对业务连续性要求由低至高的顺序,依次将确定的虚拟机迁移至所述P个物理服务器。
22.如权利要求19所述资源迁移的设备,其特征在于,所述下电迁移模块,包括 需求确定子模块,用于确定资源短缺率最高的P个物理服务器中各虚拟机对物理资源的需求;第二迁移子模块,用于将资源短缺率最高的P个物理服务器中各虚拟机迁移至所述其他物理服务器中空闲资源满足需求的物理服务器。
全文摘要
本发明公开了一种资源调度以及资源迁移的方法及设备,主要内容包括按照设定时长内虚拟机对物理资源需求的变化状态,为每个调度时间段调度合理的物理服务器数量,并在每个调度时间段到达时,如果新增空闲的物理服务器,则将已有的虚拟机迁移至刚上电的空闲物理服务器,如果需要减少资源池中运行的物理服务器,则将待下电的物理服务器的虚拟机迁移至资源池中的其他物理服务器,使得全局资源池中的物理服务器的数量能够实时支持上层虚拟机对物理资源的需求,同时还最大程度地减少物理服务器的空运行造成的物理资源浪费以及电能的浪费。
文档编号H04L29/08GK102546700SQ20101060349
公开日2012年7月4日 申请日期2010年12月23日 优先权日2010年12月23日
发明者于青, 彭晋, 许辉阳, 邓灵莉 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1