云资源高效利用的虚拟机迁移方法与流程

文档序号:11154577阅读:388来源:国知局
云资源高效利用的虚拟机迁移方法与制造工艺

本发明涉及云计算的研究领域,特别涉及一种云资源高效利用的虚拟机迁移方法。



背景技术:

云计算是近年来新兴的一种交付服务模式,提供按需使用的计算、存储、网络等IaaS资源服务。云计算通过采用虚拟化技术构建庞大的资源池,通过互联网为用户提供计算、存储、网络等IT资源,自云计算的概念提出后,学术界和工业界逐渐展开了广泛的研究。

在云环境中,用户请求创建虚拟机时,首先根据云平台中的部署策略完成初始化部署,但是云平台中的虚拟机并不是永久地存在的。随着时间的推移,云平台中的虚拟机会不断地增加或者减少,或随着业务变化,虚拟机的资源配置不断地增加或者减少;这样则会使得虚拟机在物理服务器中的分布情况发生较大的改变。通常来说,导致云环境中虚拟机增加和减少的原因主要有:应用系统迁移部署到云环境中、应用系统从云环境中撤离、由云平台中的弹性伸缩策略引起的虚拟机结点的动态增加以及减少、云环境中物理服务器的故障等等。这种变化改变了虚拟机在物理服务器中的初始部署情况,很有可能会出现虚拟机在部分物理机中过于密集,而在另外一部分的物理机中的分布却过于稀疏,这样的情况意味着某些物理机上只运行着少量的虚拟机,物理机中的资源利用率很低,长时间处于这样的状态不利于有效地利用物理资源,造成资源的浪费,同时也不利于节约能耗。此时,我们需要将多台物理机中的虚拟机迁移整合到一台物理机中,缓解许多物理机长期处于资源利用率低的情况。

在现有的虚拟机迁移整合方法中,大多都是考虑一种资源利用率的下限阈值(通常是CPU负载率),当发现物理机的实际资源利用率低于下限阈值的时候,就将物理机中的虚拟机全部迁移出来,重新部署到其他物理机上,这种通过检(监))测查询物理机资源利用率的方式有可能会导致过多的虚拟机迁移(即虽然物理机当前检测到的资源利用率较低,但是该物理机上仍然部署着许多的虚拟机,只不过是这些虚拟机实际使用的资源量很少,而虚拟机本身所分配的资源量却比较大),并且这些迁移整合方法中也较少考虑到平衡物理机各维度资源的使用,即若出现物理机内存占用很高,而CPU和网络带宽的使用却很少,也属于一种资源的浪费现象。因此,需要有一种资源高效利用的虚拟机动态迁移方法。



技术实现要素:

本发明的主要目的在于克服现有技术的缺点与不足,提供一种云资源高效利用的虚拟机迁移方法,可以有效地整合分布稀疏的虚拟机,并减少整合过程中的虚拟机迁移次数,同时考虑平衡物理服务器各维度资源的使用,很好地缓解许多物理机长时间处于资源利用率低的情况。

为了达到上述目的,本发明采用以下技术方案:

本发明一种云资源高效利用的虚拟机迁移方法,包括下述步骤:

S1、确定需要进行整合的服务器集合,将满足整合条件的多个服务器,通过迁移其中部分服务器中的虚拟机来减少活跃物理服务器的数量,并使得迁移整合之后的物理服务器的资源使用尽量地均衡;

S2、采用二分方式划分待整合的物理服务器集合;

所述二分方式为:将待整合的服务器集合划分为源物理服务器序列SList和目标物理服务器序列DList;

所述源物理服务器序列SList为需要将虚拟机迁移出去的物理服务器序列,所述目标物理服务器序列为接纳迁移虚拟机的物理服务器序列DList;

S3、将源物理服务器序列SList中的虚拟机迁移到目标物理服务器序列DList中。

作为优选的技术方案,步骤S1中,所述满足条件的多个服务器构成一个服务器集合SCSET,该集合中的物理服务器的空闲资源量小于设定的阈值SC_low,并且该集合中物理机的数量大于一个整合参数scSize。

作为优选的技术方案,考虑CPU、内存、网络带宽三种类型的资源,物理服务器pm已分配的资源量百分比allocatedRate按照CPU、内存、网络带宽三者的已分配百分比计算,即

其中cpuC表示物理服务器pm的CPU总量,pcpu表示物理服务器pm的空闲CPU资源量,用内存、网络带宽同理表示,则服务器集合SCSET可以表示如下:

SCSET={pm|allocatedRate(pm)≤SC_low}

并且有|SCSET|≥scSize。

作为优选的技术方案,步骤S2中,所述将待整合的服务器集合划分为源物理服务器序列SList和目标物理服务器序列DList具体为:

对于待整合的服务器集合,按照其中物理机的资源空闲量进行升序排序,然后将排序完的前半部分的物理机作为源物理服务器序列SList,将后半部分的物理机作为目标物理服务器序列DList,所述空闲资源量是指未分配给虚拟机的资源量,包括空闲的CPU、内存和网络宽带之和。

作为优选的技术方案,步骤S3中,所述将源物理服务器序列SList中的虚拟机迁移到目标物理服务器序列DList中具体为:

S21、遍历源物理服务器序列SList,对于其中的每一台物理机pm,将其中的虚拟机按照整体迁移的方式,在目标物理服务器序列DList中寻找合适的目标物理机tpm实施迁移,将pm中的所有虚拟机迁移到tpm中,若没有合适的物理机则不迁移pm中的任何虚拟机;

S22、继续处理下一台物理机,直至处理完SList中的所有物理机为止,完成虚拟机的迁移的所有过程。

作为优选的技术方案,在步骤S21中,所述在目标物理服务器序列DList中寻找合适的目标物理机tpm实施迁移具体为:

计算物理机pm已分配给虚拟机的CPU、内存、网络带宽资源量之和,接着在目标物理机序列DList中,选择空闲资源量大于pm已分配的资源量的物理服务器,包括下述三种情况:

若存在多个满足条件的物理机,那么选择其中一个目标物理机,使得该物理机在接受pm的虚拟机迁移之后,各类资源的使用最平衡;

若只存在一个满足条件的物理机,则直接完成迁移;

若不存在满足条件的物理机,则不迁移pm中的任何虚拟机。

作为优选的技术方案,物理机在接受pm的虚拟机迁移之后,物理服务器各类资源的均衡程度,使用平衡度来衡量单个物理服务器各类资源利用均衡程度,各类资源包括CPU、内存、网络带宽,资源利用率偏度计算如下所示:

其中ri表示物理服务器p的第i种资源的利用率,表示物理服务器p上各种资源利用率的平均值,即资源利用率偏度以量化的形式表示物理服务器p上各种资源利用的均衡程度,偏度值越大,表示各类资源利用率的差别越大,即资源利用平衡度低;偏度值越小,表示各类资源的利用率越接近,资源碎片少,如偏度的最小值是0,此时表示各类资源的利用率都相同,即平衡度最好,此外,还假定,若则skewness(p)=0。

作为优选的技术方案,所述整体迁移方式为将物理机中的所有虚拟机都迁移到同一台目标物理机中。

作为优选的技术方案,所述虚拟机的迁移为动态迁移的方式,所管理的云物理服务器集合视不同策略选择虚拟机的迁移实施,并选择某业务相对空闲期进行迁移,迁移策略分为:

1)对云物理服务器集合资源的使用状况和平衡度进行监测评估,触发动态迁移条件;

2)云物理服务器资源调度的最大时间期限,即云平台对资源优化管理所定义的时间间隔。

本发明与现有技术相比,具有如下优点和有益效果:

1、本发明资源高效利用的虚拟机迁移方法,同时考虑平衡物理服务器各维度资源的使用,改变传统云环境中主要根据CPU计算负载量或能耗最小作为迁移虚拟机的依据,使得资源综合利用率更佳。

2、云环境物理机经一段时间运营,由于各虚拟机应用变化,资源利用率不高,本发明可以有效地整合分布稀疏或不均衡使用的物理机,并减少整合过程中的虚拟机迁移次数,较好地缓解许多物理机较长时间处于资源利用率低的情况。

3、本发明资源高效利用的虚拟机迁移方法,通过设置整合条件,以一种二分的方式来迁移整合满足整合条件的物理机集合,可以有效地整合分布稀疏的虚拟机,并减少整合过程中的虚拟机迁移次数,同时考虑平衡物理服务器各维度资源的使用,很好地缓解许多物理机长期处于资源利用率低的情况。

附图说明

图1是本发明装置的方法流程图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例

如图1所示,本实施例云计算中一种资源高效利用的虚拟机迁移方法,包括:

步骤101:确定需要进行整合的服务器集合

所述整合服务器为:将满足整合条件的多个服务器,通过迁移其中部分服务器中的虚拟机来减少活跃物理服务器的数量,并使得迁移整合之后的物理服务器的资源使用尽量地均衡;

周期性地检测云平台各物理服务器的资源使用状态,将已分配给虚拟机的资源量占物理机资源总量百分比allocatedRate低于阈值SC_low的物理服务器加入集合SCSET中作为需要整合的物理服务器集合,并且为了避免发生频繁的虚拟机迁移,本方法设置一个整合参数scSize,当满足|SCSET|≥scSize时,进行后续的虚拟机迁移整合,否则不实施虚拟机的迁移整合。

如上所述,考虑CPU、内存、网络带宽三种类型的资源,物理服务器pm已分配的资源量百分比按照CPU、内存、网络带宽三者的已分配百分比计算,即

其中cpuC表示物理服务器pm的CPU总量,pcpu表示物理服务器pm的空闲CPU资源量,内存、网络带宽同理表示。则集合SCSET可以表示如下

SCSET={pm|allocatedRate(pm)≤SC_low}

并且有|SCSET|≥scSize。

步骤102:将待整合的服务器集合划分为源物理服务器序列SList和目标物理服务器序列DList两部分。

所述源物理服务器序列为需要将虚拟机迁移出去的物理服务器序列,所述目标物理服务器序列为接纳迁移虚拟机的物理服务器序列;

对于需要进行整合的物理服务器集合SCSET,首先按照空闲资源量(空闲的CPU、内存、网络带宽之和,指的是未分配给虚拟机的资源,是一种静态属性)对SCSET集合中的元素进行升序排序得到SortedSCSET,接着将SortedSCSET中前面一半元素作为源物理机序列SList,将SortedSCSET中后面一半的元素作为目标物理机序列DList,这种划分方式确保了目标物理机序列的空闲资源量比源物理机序列的空闲资源量更多。

划分了源物理机序列和目标物理机序列之后,明确了迁移只能从源物理机序列到目标物理机序列,很好地避免了一台虚拟机的多次迁移现象发生(即在一次迁移过程中,一台虚拟机被迁移到某台物理机之后,又再次被迁移到其他的物理机)。

步骤103:将源物理机序列SList中的虚拟机迁移到目标物理机序列DList中

遍历源物理机序列SList,对于其中的每一台物理机pm,将其中的虚拟机按照整体迁移的方式,即计算pm已分配给虚拟机的CPU、内存、网络带宽资源量之和,分别记为AllocatedCPU,AllocatedRAM,AllocatedBW,接着在目标物理服务器序列DList中,选择空闲资源量大于pm已分配的资源量的物理服务器tpm,确保能够容纳pm中的虚拟机,这里主要分为三种情况,假设满足条件的tpm的集合为tpmSet;

第一种情况:

|tpmSET|>1,即在DList中存在多个物理机满足上述的条件,那么选择其中一个目标物理机tpm,使得该物理机在接受pm的虚拟机迁移之后,各类资源的使用最平衡,将pm中的虚拟机全部迁移到tpm中,同时将pm切换至休眠模式或者关闭;

第二种情况:

|tpmSET|=0,即不存在满足条件的物理机,那么不迁移pm中的任何虚拟机。继续处理SList中的下一台物理机,即在迁移的处理过程中,可能会出现部分的源物理机并没有实施迁移;

第三种情况:

|tpmSET|=1,即只存在一个满足条件的物理服务器tpm,则直接将pm中的所有虚拟机都迁移至tpm中,同时将pm切换至休眠模式或者关闭;

遍历源物理机序列SList,继续处理下一台物理机,直至处理完SList中的所有物理机为止,完成虚拟机的迁移的整个过程。

在本实施例中,物理机在接受pm的虚拟机迁移之后,物理服务器各类资源的均衡程度,使用平衡度来衡量单个物理服务器各类资源利用均衡程度,各类资源包括CPU、内存、网络带宽,资源利用率偏度计算如下所示:

其中ri表示物理服务器p的第i种资源的利用率,表示物理服务器p上各种资源利用率的平均值,即资源利用率偏度以量化的形式表示物理服务器p上各种资源利用的均衡程度,偏度值越大,表示各类资源利用率的差别越大,即资源利用平衡度低;偏度值越小,表示各类资源的利用率越接近,资源碎片少,如偏度的最小值是0,此时表示各类资源的利用率都相同,即平衡度最好,此外,还假定,若则skewness(p)=0。

本发明实施方式提供的云计算中一种资源高效利用的虚拟机迁移方法,通过设置整合条件,以一种二分的方式来迁移整合满足整合条件的物理机集合,可以有效地整合分布稀疏的虚拟机,并减少整合过程中的虚拟机迁移次数,同时考虑平衡物理服务器各维度资源的使用,很好地缓解许多物理机长期处于资源利用率低的情况。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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