CN115858082A - 一种虚拟机迁移方法、装置、终端及存储介质 - Google Patents
一种虚拟机迁移方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN115858082A CN115858082A CN202111115072.7A CN202111115072A CN115858082A CN 115858082 A CN115858082 A CN 115858082A CN 202111115072 A CN202111115072 A CN 202111115072A CN 115858082 A CN115858082 A CN 115858082A
- Authority
- CN
- China
- Prior art keywords
- server
- virtual machine
- determining
- resource utilization
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种虚拟机迁移方法、装置、终端及存储介质,其中,所述方法包括:在至少一个服务器中,确定过载服务器;在所述过载服务器的第一虚拟机集合中,确定虚拟机的随机存储量满足第一条件的目标虚拟机;在所述目标虚拟机的资源利用率满足第二条件的情况下,将所述目标虚拟机确定为待迁移虚拟机;将所述待迁移虚拟机迁移至所述至少一个服务器中的目标服务器;其中,所述过载服务器与所述目标服务器不同;如此,可以保证服务器的性能,而且有效降低虚拟机迁移过程中的能源消耗,使得虚拟机迁移后的服务器的状态得到改善。
Description
技术领域
本申请涉及云计算领域,尤其涉及一种虚拟机迁移方法、装置、终端及存储介质。
背景技术
随着虚拟机上云应用工作量的增加,服务器资源消耗越来越多,如果不对虚拟机进行处理会造成服务器过载的问题,而且服务器上其他虚拟机提供的应用服务性能大幅下降。
发明内容
为解决上述技术问题,本申请实施例提供了一种虚拟机迁移方法、装置、终端及存储介质,可以保证服务器的性能,而且有效降低虚拟机迁移过程中的能源消耗,使得虚拟机迁移后的服务器的状态得到改善。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种虚拟机迁移方法,所述方法包括:
在至少一个服务器中,确定过载服务器;
在所述过载服务器的第一虚拟机集合中,确定虚拟机的随机存储量满足第一条件的目标虚拟机;
在所述目标虚拟机的资源利用率满足第二条件的情况下,将所述目标虚拟机确定为待迁移虚拟机;
将所述待迁移虚拟机迁移至所述至少一个服务器中的目标服务器;其中,所述过载服务器与所述目标服务器不同。
本申请实施例提供一种虚拟机迁移装置,所述装置包括:
第一确定模块,用于在至少一个服务器中,确定过载服务器;
第二确定模块,用于在所述过载服务器的第一虚拟机集合中,确定虚拟机的随机存储量满足第一条件的目标虚拟机;
第三确定模块,用于在所述目标虚拟机的资源利用率满足第二条件的情况下,将所述目标虚拟机确定为待迁移虚拟机;
迁移模块,用于将所述待迁移虚拟机迁移至所述至少一个服务器中的目标服务器;其中,所述过载服务器与所述目标服务器不同。
本申请实施例提供一种终端,所述终端至少包括:控制器和配置为存储可执行指令的存储介质,其中:
控制器配置为执行存储的可执行指令,所述可执行指令配置为执行上述提供的虚拟机迁移方法。
本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述提供的虚拟机迁移方法。
本申请实施例提供一种虚拟机迁移方法、装置、终端及存储介质,通过在至少一个服务器中,确定出过载服务器,并在过载服务器承载的虚拟机集合中,确定出随机存储量满足第一条件的目标虚拟机,然后在目标虚拟机的资源利用率满足第二条件的情况下,将目标虚拟机确定为待迁移虚拟机,这样,可以综合考虑虚拟机的资源利用率和随机存储量,从而可以精确地确定待迁移虚拟机,并使得待迁移的虚拟机的数量尽可能的少;最后将待迁移虚拟机迁移至至少一个服务器中的目标服务器上,这样可以保证服务器的性能,而且有效降低虚拟机迁移过程中的能源消耗,使得虚拟机迁移后的服务器的状态得到改善。
附图说明
图1为申请实施例提供的虚拟机迁移方法的实现流程示意图;
图2为本申请实施例提供的确定待迁移虚拟机方法的流程示意图;
图3为本申请实施例提供的资源调度方案示意图;
图4为本申请实施例提供的欠载检测算法的流程示意图;
图5为本申请实施例提供的服务器过载检测方法的流程示意图;
图6为本申请实施例提供的待迁移虚拟机的确定方法的流程示意图;
图7为本申请实施例提供的目标服务器的确定方法的流程示意图;
图8为本申请实施例提供的虚拟机迁移装置的结构示意图;
图9为本申请实施例提供的所述终端的组成结构示意图。
具体实施方式
为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。
为便于理解本申请实施例的技术方案,以下对本申请实施例的相关技术进行说明。
云平台资源管理和调度方式主要有:
1)基于应用分形预测的数学模型调度程序
通过预测服务器的未来负载趋势决定是否执行调度程序。
2)基于降序最佳适应(Best Fit Decreasing,BFD)算法的虚拟机迁移技术
根据BFD算法思路,将虚拟机按其资源需求量大小降序排列,然后依次将这些虚拟机从低负载的服务器上迁移到资源足够的服务器上,如果存在多类计算资源,则按照加权平均取平均值的方式进行排序,主要对服务器的资源利用率进行改进。
3)基于改进的降序最佳适应算法的虚拟机迁移技术
基于BFD算法改进,将检测到过载状态的服务器上的所有虚拟机按照中央处理器(Central Processing Unit,CPU)利用率降序排列,将这些虚拟机选择迁移路径最短的服务器作为目的服务器。
相关技术中进行虚拟机迁移的过程中,存在以下问题:
1)预测服务器的未来趋势变化程序时间复杂度太高,不适用于大型云计算系统。
2)需要进行大量的虚拟机迁移从而造成此段时间内用户体验感差,在迁移过程中还会带来大量的能源消耗,并且还有可能出现虚拟机上的应用服务在迁移过程中遭受破坏等问题。
3)仅考虑到虚拟机CPU资源迁移过程产生的能源消耗,未考虑到其他资源。如果服务器内存资源,网络带宽等资源过载时则该方法无法生效。未考虑目的服务器的负载均衡问题。
基于此,本申请实施例提供一种虚拟机迁移方法。为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
本申请实施例提供一种虚拟机迁移方法,图1为申请实施例提供的虚拟机迁移方法的实现流程示意图,如图1所示,所述虚拟机迁移方法包括以下步骤:
步骤S101:在至少一个服务器中,确定过载服务器。
这里,服务器为云计算管理平台中承载虚拟机的物理设备。云计算管理平台是一个复杂的大型系统,虚拟机是云计算管理平台的重要部分,它具有跨系统、资源隔离、可迁移等特点,高效的虚拟机集群部署与动态迁移操作可以将分散的虚拟机组成整体、能够满足大规模应用需求,可提高云计算管理平台的运行维护与服务质量,是云计算管理平台的重要组成部分。
在一些实施例中,过载服务器是指云计算管理平台中负载处于超负荷状态的服务器。过载主要是指服务器上的所有运行应用需要的资源超过设定的阈值上限。在这种状态下,过载服务器上运行的虚拟机会对服务器上的资源进行抢占,使分配给各虚拟机的资源不稳定,从而导致虚拟机上的应用程序服务质量降低,违反服务等级协议(Service LevelAgreement,SLA)。在本申请实施例中,可以采用局部回归鲁棒算法对服务器进行过载检测,计算出局部加权回归的参数估计值,并在考虑虚拟机迁移所需时间的情况下,利用估计值预测出下一时刻服务器的各个资源利用率值,并将当前时刻预测值与下一时刻的预测值进行倍乘,在倍乘后的预测值大于等于预设的阈值上限的时候,将服务器确定为过载服务器。
步骤S102:在所述过载服务器的第一虚拟机集合中,确定虚拟机的随机存储量满足第一条件的目标虚拟机。
这里,第一虚拟机集合是指过载服务器承载的虚拟机集合。随机存储量为每个虚拟机的随机存取存储器可存储的数据容量。第一条件为虚拟机的随机存储量大于第一虚拟机集合中虚拟机的最小随机存储量。将随机存储量大于第一虚拟机集合中虚拟机的最小随机存储量的虚拟机确定为目标虚拟机。
在一些实施例中,可获取过载服务器承载的第一虚拟机集合中多个虚拟机的CPU资源利用率值,根据虚拟机与虚拟机资源利用率值之间的对应关系,生成虚拟机资源利用率的二维数组,二维数组的参数分别为虚拟机名称和虚拟机的资源利用率值。按照CPU资源利用率值的降序排列方式对虚拟机进行排列,并按照预设的数据间隔,将排序后的第一虚拟机集合划分为多个虚拟机子集。在每个虚拟机子集中确定每个虚拟机的随机存储量,并对每个虚拟机子集按照随机存储量的升序进行排列,得到排列后的虚拟机子集。在每个虚拟机子集中确定随机存储量最小的虚拟机,然后根据每个虚拟机子集随机存储量最小的虚拟机,确定出第一虚拟机集合中随机存储量最小的虚拟机。在第一虚拟机集合中,根据虚拟机的随机存储量大小的升序排序,依次选择大于最小随机存储量的虚拟机作为目标虚拟机。
S103:在所述目标虚拟机的资源利用率满足第二条件的情况下,将所述目标虚拟机确定为待迁移虚拟机。
这里,虚拟机的资源利用率值为虚拟机对其所在的服务器的资源的需求量与该服务器的资源总量之间的比值。资源利用率值可以是多种类型资源对应的资源利用率值,如:CPU资源、内存资源、存储资源、输入/输出(Input/Output,I/O)接口资源和网络带宽资源分别对应的资源利用率值。
在确定出目标虚拟机后,按照预设的时间间隔,获取目标虚拟机在不同时刻的资源利用率值,并对所述多个资源利用率值求均值,在所述均值大于过载服务器的虚拟机资源利用率值的最大值的时候,将所述目标虚拟机确定为待迁移虚拟机。第二条件为目标虚拟机的不同时刻的资源利用率值的均值大于过载服务器上虚拟机资源利用率值的最大值。
在一些实施例中,当目标虚拟机的不同时刻的资源利用率值的均值与过载服务器上虚拟机资源利用率值的最大值相等的时候,则将目标虚拟机的不同时刻的资源利用率值的均值赋值给服务器上虚拟机资源利用率值的最大值,并将该目标虚拟机作为待迁移虚拟机。在目标虚拟机的不同时刻的资源利用率值的均值,小于过载服务器上虚拟机资源利用率值的最大值的时候,则继续遍历虚拟机的资源利用率数组,直到确定出待迁移虚拟机为止。
在一些实施例中,可预先建立一个待迁移虚拟机列表,用于存放确定出的待迁移虚拟机。
步骤S104:将所述待迁移虚拟机迁移至所述至少一个服务器中的目标服务器。
这里,所述过载服务器与所述目标服务器不同。目标服务器是至少一个服务器中负载正常,且能源效率大于待迁移虚拟机的最佳能源效率的服务器。能源效率为服务器的可用资源与服务器的总资源之间的比值。虚拟机的最佳能源效率为根据不同的虚拟机类型计算的保证每个虚拟机成正常运行且能耗最小的情况的值。
在一些实施例中,确定出待迁移虚拟机之后,还需要在至少一个服务器中确定出目标服务器,以将待迁移虚拟机迁移至目标服务器。由于确定出的待迁移虚拟机可能会有多个,将至少一个待迁移虚拟机存储至待迁移虚拟机列表,对待迁移虚拟机列表中的虚拟机按照资源利用率值的大小进行降序排列,然后遍历排序后的待迁移虚拟机列表,将虚拟机的最小资源利用率值设置为最佳能源效率。从至少一个服务器中,确定出负载正常的服务器,并通过确定负载正常服务器的能源效率,在能源效率大于待迁移虚拟机的最佳能源效率的时候,将该服务器确定为目标服务器。在能源效率等于待迁移虚拟机的最佳能源效率的时候,将服务器的可用资源与预设的最低可用资源进行比较,若服务器的可用资源大于预设的最低可用资源,则将该服务器确定为目标服务器。
在本申请实施例中,通过在至少一个服务器中,确定出过载服务器,并在过载服务器承载的第一虚拟机集合中,确定出随机存储量满足第一条件的目标虚拟机,然后在目标虚拟机的资源利用率满足第二条件的情况下,将目标虚拟机确定为待迁移虚拟机,这样,可以综合考虑虚拟机的资源利用率和随机存储量,从而可以精确地确定待迁移虚拟机,并使得待迁移的虚拟机的数量尽可能的少;最后将待迁移虚拟机迁移至目标服务器上,这样可以保证虚拟机的性能,而且可以有效降低虚拟机迁移过程中的能源消耗,使得虚拟机迁移后的服务器的状态得到改善。
在一些可实现的实施方式中,可以通过以下步骤从至少一个服务器中,确定出过载服务器,即步骤S101可以通过以下步骤实现:
步骤S1011:获取所述至少一个服务器在不同时刻的至少一个资源利用率值。
这里,服务器的资源利用率值为服务器上资源的使用容量与该服务器上资源总量之间的比值。服务器的资源利用率值可以是服务器上不同类型资源分别对应的资源利用率值:CPU资源、内存资源、存储资源、I/O接口资源和网络带宽资源分别对应的资源利用率值。
在一些实施例中,按照预设的时间间隔如每2个小时,获取服务器资源利用率值不为零的数据。也可以是采集前n个时刻的服务器资源利用率不为零的数据。将获取的至少一个资源利用率值存储在预设的资源利用率数组中。
步骤S1012:对所述至少一个资源利用率值进行预测,得到当前时刻每一所述资源利用率值的第一预测值和下一时刻每一所述资源利用率值的第二预测值。
这里,采用局部回归鲁棒算法,使用局部加权回归预测函数对所述至少一个资源利用率值进行预测,得到至少一个资源利用率值当前时刻的预测曲线即第一预测值g(0),和下一单位时刻的预设曲线,即第二预测值g(1)。
步骤S1013:将所述第一预测值和所述第二预测值进行倍乘,得到第三预测值。
这里,将所述第二预测值g(1)与资源利用率数组的长度和虚拟机的迁移时间之间的和相乘,再将乘积与所述第一预测值g(0)相加得到倍乘后的第三预测值,预测公式如公式(1)所示:
Utilization cpu=g(0)+g(1)*(n+tmg) (1);
其中,g(0)为第一预测值,g(1)为第二预测值,n为CPU资源利用率数组的长度,tmg为虚拟机迁移时间,Utilizationcpu为第三预测值,第三预测值为资源利用率值的预测曲线后m次的资源利用率,m为设置的m个单位时刻。
步骤S1014:确定所述第三预测值大于所述第一预设阈值的目标资源利用率值。
这里,第一预设阈值为服务器状态检测的阈值上限,可以根据不同服务器的负载能力进行设置,比如服务器的资源利用率超过90%以后不能正常工作了,则将第一预设阈值设置为90%。在所述第三预测值大于第一预设阈值的情况下,将第三预测值对应的资源利用率值确定为目标资源利用率值。
步骤S1015:将所述目标资源利用率值对应的服务器确定为所述过载服务器。
这里,将目标利用率值对应的服务器确定为过载服务器后,需要将过载服务器上的部分虚拟机或者全部虚拟机进行迁移。
在一些实施例中,当第三预测值即资源利用率值的预测曲线后m次的资源利用率小于第一预设阈值时,说明服务器负载正常,不需要对服务器上的虚拟机进行迁移。
在本申请实施例中,通过采用局部回归鲁棒算法对服务器当前时刻和下一时刻的资源利用率的进行预测,并在倍乘后的预测值大于资源利用率的阈值上限即第一预设阈值的时候,将服务器确定为过载服务器,可以综合考虑应用程序在高峰使用时段的任一或多个资源利用率的预测值,精确地确定出过载服务器,提升云计算管理平台的服务能力。
本申请实施例提供一种虚拟机迁移方法,其中虚拟机迁移方法中确定待迁移虚拟机的方法可以通过图2中的所示步骤实现。图2为本申请实施例提供的确定待迁移虚拟机方法的流程示意图,如图2所示,所述确定待迁移虚拟机方法包括以下步骤:
步骤S201:确定所述第一虚拟机集合中每一虚拟机的第一资源利用率值。
这里,第一虚拟机集合为过载服务器承载的多个虚拟机组成的集合。每一虚拟机的第一资源利用率值是指虚拟机对所在的服务器的资源的需求量与该服务器的资源总量之间的比值。资源利用率值可以是多种类型资源对应的资源利用率值,如:CPU资源、内存资源、存储资源、I/O接口资源和网络带宽资源分别对应的资源利用率值。
步骤S202:按照第一资源利用率值的降序排序方式,对所述第一虚拟机集合中的虚拟机进行排序,得到排序后的虚拟机集合。
这里,在确定出过载服务器上的每一虚拟机的第一资源利用率值后,根据第一资源利用率值的大小,按照降序排序方式由大到小对第一虚拟机集合中的虚拟机进行排序,得到排序后的虚拟机集合。
步骤S203:按照预设数量间隔,将所述排序后的虚拟机集合划分为多个虚拟机子集。
这里,预设数量间隔可以根据虚拟机集合中虚拟机的总数量来设置,可以根据预设的数量间隔,将排序后的虚拟机集合划分为多个虚拟机数量相等的虚拟机子集。
步骤S204:确定所述虚拟机子集中任一虚拟机的随机存储量。
这里,根据每一虚拟机的属性,确定每一虚拟机的随机存储量。
步骤S205:按照所述随机存储量的升序排序方式,对任一所述虚拟机子集中的虚拟机进行排序,确定出任一所述虚拟机子集中随机存储量最小的第一虚拟机。
这里,在每一虚拟机子集中,根据每一虚拟机的随机存储量的大小,按照由小到大的升序排序方式,对每一虚拟机子集中的虚拟机进行排序,得到排序后的每一虚拟机子集。由于排序后的每个虚拟机子集中的虚拟机的随机存储量是由小到大排序的,则排序后的每一虚拟机子集中第一个虚拟机即为该虚拟机子集中随机存储量最小的第一虚拟机。
步骤S206:根据多个所述第一虚拟机的随机存储量,确定出所述第一虚拟机集合中随机存储量最小的第二虚拟机。
这里,比较多个第一虚拟机的随机存储量,将随机存储量最小的虚拟机确定为第二虚拟机。
步骤S207:从所述多个虚拟机子集中,确定随机存储量大于所述第二虚拟机的目标虚拟机。
这里,根据每一虚拟机的随机存储量的大小,按照由小到大的升序排序方式,对每一虚拟机子集中的虚拟机进行排序,得到排序后的每一虚拟机子集,从任一排序后的虚拟机子集中,选择随机存储量的排序为第二的虚拟机作为目标虚拟机。
步骤S208:获取所述目标虚拟机在不同时刻的至少两个资源利用率值。
这里,遍历虚拟机资源利用率数组,获取目标虚拟机在不同历史时刻的至少两个资源利用率值。虚拟机资源利用率数组是一个二维数组,参数分别为虚拟机名称和资源利用率,用于存储虚拟机资源利用率。
步骤S209:确定所述至少两个资源利用率值的第一均值。
步骤S210:在所述第一均值大于所述第二条件的情况下,将所述第一虚拟机确定为所述待迁移虚拟机。
这里,第二条件为第一虚拟机集合中虚拟机的资源利用率的最大值。在第一均值大于虚拟机的资源利用率最大值的情况下,将第一虚拟机确定为待迁移虚拟机。
在一些实施例中,在第一均值等于虚拟机的资源利用率最大值的情况下,将第一均值赋值给虚拟机的资源利用率的最大值变量,然后将第一均值对应的虚拟机确定为待迁移虚拟机。在第一均值小于虚拟机的资源利用率最大值的情况下,则继续遍历虚拟机的资源利用率二维数组。虚拟机的资源利用率数组为一个二维数组,参数分别为虚拟机名称和资源利用率,用于存储虚拟机的资源利用率。
在本申请实施例中,综合考虑虚拟机的资源利用率和随机存储量,从而可以精确地确定待迁移虚拟机,并使得待迁移的虚拟机的数量尽可能的少。
在一些可实现的实施方式中,在确定出待迁移虚拟机之后,需要在至少一个服务器中确定出目标服务器,以将待迁移虚拟机迁移至目标服务器上。在本申请实施例中,可以通过以下步骤确定出目标服务器:
步骤一:在所述至少一个服务器中,确定负载均衡的服务器集合。
这里,负载均衡是指服务器的资源利用率在第一预设阈值和第二预设阈值之间。根据服务器的资源利用率,确定资源利用率大于第二预设阈值,小于第一预设阈值的服务器,为负载均衡的服务器。多个负载均衡的服务器组成负载均衡服务器集合。
步骤二:在所述服务器集合中,确定任一所述服务器的可用资源与所述服务器的总资源之间的第一比值。
这里,根据每一服务器的资源属性,确定服务器的可用资源量和服务器的总资源量,将服务器的可用资源量除以总资源量,得到第一比值。
步骤三:确定所述待迁移虚拟机所需的资源与所述服务器的总资源之间的第二比值。
这里,根据待迁移虚拟机的资源属性,确定待迁移虚拟机的资源需求即所需资源。将待迁移虚拟机所需的资源量除以服务器的总资源量,得到第二比值。
步骤四:在所述第一比值大于所述第二比值的情况下,将所述第一比值对应的服务器确定为所述目标服务器。
这里,在第一比值大于第二比值的情况下,说明负载均衡的服务器上的可用资源大于待迁移虚拟机所需要的资源,该服务器可以有足够的资源承载待迁移虚拟机,而且在迁移后,该服务器的资源利用率也不会过载,则将待迁移虚拟机迁移至该目标服务器。
步骤五:在所述第一比值等于所述第二比值的情况下,确定所述服务器的可用资源与预设可用资源之间的大小。
这里,在所述第一比值等于所述第二比值时,则比较服务器的可用资源量与预设的最低可用资源量之间的大小。
步骤六:在所述服务器的可用资源大于所述预设可用资源的情况下,确定所述服务器为所述目标服务器。
这里,在服务器的可用资源量大于预设的最低可用资源量时,说明第一比值对应的服务器有足够的资源承载待迁移虚拟机,则将该服务器确定为目标服务器,将待迁移虚拟机迁移至该目标服务器。
在本申请实施例中,通过考虑服务器的能源效率即第一比值以及虚拟机的能源效率即第二比值,确定出迁移距离最短,能耗最小的目标服务器,减少了迁移虚拟机过程中带来的能源消耗。
在一些可实现的实施方式中,还可以通过以下步骤确定至少一个服务器中的过载服务器:
步骤一:在所述至少一个服务器中,确定任一服务器的总资源利用率。
这里,根据服务器的资源属性,确定任一服务器的总资源利用率。服务器的资源属性至少包括以下之一:CPU资源、内存资源、存储资源、I/O接口资源和网络带宽资源。将各个资源属性对应的资源总量加在一起,得到服务器的总资源量。将服务器当前每一资源属性的资源使用量加在一起得到资源使用总量,将资源使用总量除以总资源量,得到总资源利用率。
步骤二:在所述总资源利用率大于第二预设阈值的情况下,将所述服务器确定为所述过载服务器。
这里,第二预设阈值可根据不同服务器的负载能力来进行设置,比如服务器的总资源利用率超过80%以后不能正常工作了,则将阈值设置为80%。则在服务器的总资源利用率大于80%时,将该服务器确定为过载服务器。
在本申请实施例中,可以根据服务器的总资源利用率确定出过载服务器。
在一些可实现的实施方式中,至少一个服务器中还包括欠载服务器,为了减少能源浪费,需要确定出欠载服务器,将欠载服务器上的虚拟机全部迁移至目标服务器,关闭欠载服务器。在本申请实施例中,可以通过以下步骤确定出欠载服务器:
步骤一:在所述至少一个服务器中,确定所述总资源利用率不为零的服务器。
这里,对服务器的总资源利用率不为零的服务器进行欠载检测。在一些实施例中,若服务器的总资源利用率为零,则说明该服务器上不存在资源消耗,直接将此服务器关闭或休眠。
步骤二:获取所述总资源利用率不为零的服务器在不同时刻的至少两个第二资源利用率值。
这里,按照预设的时间间隔,如每两个小时,获取所述总资源利用率不为零的服务器在不同历史时刻的第二资源利用率值。
步骤三:对所述至少两个第二资源利用率值进行拟合,得到所述至少两个第二资源利用率值的第二均值。
这里,对至少两个第二资源利用率值进行多项式拟合,通过拟合直线得到相应函数计算各个资源利用率的平均值:找出经过点最多的线,然后根据多项式求平均值方法求出均值。
步骤四:在所述第二均值不大于第三预设阈值的情况下,确定所述总资源利用率不为零的服务器为欠载服务器。
这里,第三预设阈值可以根据不同的服务器类型设置不同的阈值,比如将服务器的第三预设阈值设置为1%,服务器的总资源利用率未达到1%时,则将该服务器确定为欠载服务器。
步骤五:将与所述欠载服务器连接的第二虚拟机集合迁移至所述目标服务器。
这里,由于欠载服务器的总资源利用率太低,该服务器上承载的虚拟机的资源需求不高,运行该服务器存在资源浪费,则需要将将该服务器上的虚拟机全部迁移至目标服务器。
在本申请实施例中,通过采集服务器在不同历史时刻的至少两个总利用率值,通过线性拟合方式得到总资源利用率的平均值,根据第三预设阈值对服务器进行欠载检测,得到的检测结果更精确。
本申请提案提出一种云平台资源动态管理和调度算法,其特点如下:通过动态双阈值模型检测虚拟机状态,确定需要迁移的目标虚拟机,利用鲁棒性加权回归算法对服务器资源进行预测,改进传统的降序最佳适配算法确定最适合放置迁移过来的虚拟机的服务器,从而在保证服务质量的前提下达到降低云平台能源消耗的目的。
云平台的资源调度问题可看作是一种多维不规则物体的装箱问题,即将已有的m个物品放入n个箱子中,并且在满足每个箱子中存放物品的总容量不超过箱子的总容量的同时,使所用到的箱子总数最小,空间利用率最大。在实际的资源调度中,服务器看作是容量一定的箱子,上述提到的箱子的容量也就是服务器的最大可用资源;虚拟机看作是不规则物体,其大小就是这个虚拟机在服务器上占用的资源。因此,资源调度问题的优化目标是当多个虚拟机放置在服务器上时,满足该服务器上所有虚拟机占用的总资源不超过服务器自身可用资源的同时,稳定且高效地提供应用服务,而且不违反SLA协议,并尽可能最小化迁移带来的能耗。
本申请提出的云平台资源动态管理和调度方案实质上包括两部分:资源调度分析模型和动态资源调度,其中,动态资源调度又包括三部分,分别为服务器过载与欠载状态检测、需要进行迁移操作的源虚拟机选择和虚拟机迁移至所在对象的目的服务器选择。本申请的服务器欠载状态检测采用动态双阈值的方式对服务器的CPU资源、内存资源、存储资源、网络带宽资源和I/O接口资源分别进行检测,该方法充分考虑到服务器的各种资源状况而不仅仅是传统的只考虑CPU这一种资源的利用率。对资源利用率的欠载检测是通过采集一天中n个不同的时刻利用率值,通过线性拟合方式得到平均值,相较取n个值的平均值算法更加精确。而且动态双阈值的方式更加灵活,考虑到应用程序在高峰使用时段以及低峰使用时段的资源利用率,过载检测采用局部回归鲁棒算法,该算法可以预测出下一时刻的各个资源利用率,从而确定迁移时间。针对需要进行迁移的源虚拟机的选择,本申请采用将需要迁移的虚拟机按照资源利用率值从大到小将虚拟机数组进行排列,资源利用率越大的虚拟机享有的迁移优先级越高,从而确保迁移的虚拟机迁移之后,服务器的状态能得到最大改善,相比于相关技术的虚拟机迁移方案,能保证迁移的虚拟机尽可能少。最后,针对目的服务器的选择问题,本申请采用低能耗降序最佳适应算法(Low Energy ConsumptionBest Fit Decreasing,LECBFD),该算法基于BFD算法进行改进,主要解决迁移过程中未考虑到的能源消耗问题,选择迁移路径最短的服务器作为目的服务器,从而减少迁移带来的能源消耗。
本申请实施例包括两部分内容:资源调度分析模型和动态资源调度方法。
1、资源调度分析模型
通过以上分析可知,资源调度算法需要做出有效的虚拟机迁移方案,并保证每个服务器上的虚拟机占有的资源总容量不超过服务器资源容量动态阈值,最小化资源调度过程的能源消耗。下面采用分析模型的方式描述动态负载均衡问题,模型中用到的符号如表4.1所示。
表4.1分析模型相关符号说明
虚拟机j对资源r的需求记作的概率分布可以通过数据中心运行时对虚拟机状态的测量来进行估计,分为对CPU资源的需求,对内存资源的需求,对存储资源的需求,对I/O口资源的需求,对网络带宽资源的需求,由以下公式(4)矢量表示:
设置Iij为指标变量,如果虚拟机j放置在服务器i上,则Iij为1,否则为0;定义矩阵为虚拟机放置在服务器上的放置矩阵;虚拟机迁移时使用的资源调度算法是更新放置矩阵/>放置矩阵计算的限制条件是每个服务器i为放置其上的每个虚拟机分配资源r的总需求不超过/>的概率不小于1-ε,可以由以下公式(5)表示:
其中,ε为每个服务器过载概率的阈值,可以通过服务等级协议(Service LevelAgreement,SLA)协议确定,表示每个服务器违反SLA的风险。虚拟机迁移过程产生的能耗是由需要迁移的虚拟机所占用的资源容量和源服务器与目的服务器之间的距离决定的。假设Hik(Hik≥1)为从服务器i到服务器k的距离,那么虚拟机迁移到更新的位置I*所需的总消耗为公式(6)所示:
由上可知,资源调度问题的关键点在于求出公式(7)的最优解,即满足放置在一个服务器上的虚拟机的总需求容量不超过这个服务器能够提供的最大资源容量,并使得这个数据中心活跃的服务器数量最小同时不违反SLA协议。
2、动态资源调度方法
为了控制活跃服务器数量,减少不必要的能源消耗,本申请实施例采用动态双阈值的检测方式,将资源利用率数值和下限阈值(第二预设阈值)进行比较,若低于下限阈值则判定该服务器处于欠载状态;将资源利用率数值和上限阈值(第一预设阈值)进行比较,若高于上限阈值,则判定该服务器处于过载状态。通过这种动态双阈值检测方式,云计算管理平台可以实现有效的资源调度管理。在云计算管理平台上,资源调度的对象是虚拟机,资源调度就是对放置在服务器上的虚拟机进行迁移。由公式(6)可知,资源调度问题是一个非确定多项式问题,本申请实施例考虑能源消耗问题,基于降序最佳适应(Best FitDecreasing,BFD)算法设计一种低能耗降序最佳适应算法(Low Energy Consumption BestFit Decreasing,LECBFD)。下面分别从三个子问题对虚拟机调度提供解决方案:服务器状态检测;待迁移虚拟机的选择;目标服务器的选择。本申请实施例提供一种虚拟机迁移方法,虚拟机迁移方法的总体设计方案如图3所示,图3为本申请实施例提供的资源调度方案示意图,如图3所示:301为虚拟机,302为承载虚拟机的多个服务器,在对服务器进行过载检测31后,确定出过载服务器,并对过载服务器上的虚拟机进行虚拟机迁移资源需求预测32,然后将预测结果和服务器过载检测的结果都发送至虚拟机迁移控制器33,最后进行虚拟机迁移执行34。
(1)服务器状态检测
A、欠载检测
判断服务器欠载的指标是服务器上的总资源利用率低于阈值的下限,当服务器的资源使用欠载时,说明该服务器的资源利用率低下,但由于该服务器处于活跃状态,所以导致能源浪费,可以将放置在其上的虚拟机全部迁移出去,然后关闭服务器或者采用电源切换技术使其处于休眠节能状态。假设服务器i的资源利用率记为则容易得到资源利用率的矢量表达式(8):
本申请提供一种服务器欠载检测方法,图4为本申请实施例提供的欠载检测算法的流程示意图,如图4所示,所述服务器欠载检测方法可通过以下步骤实现:
步骤S401:确定服务器的资源利用率是否为零。
这里,在所述服务器的资源利用率不为零的情况下,执行步骤S402。在所述服务器的资源利用率零的情况下执行步骤S406。
步骤S402:获取不同时刻采集到的n个资源利用率值。
这里,若服务器的资源利用率不为零,则获取一天中n个不同历史时刻采集到的不同的资源利用率值。
步骤S403:通过拟合方式计算n个资源利用率值的平均值。
这里,对一天中n个不同时刻采集到的不同的资源利用率值进行多项式拟合,通过拟合直线得到相应函数计算各个资源利用率的平均值:找出经过点最多的线,然后根据多项式求平均值方法求出均值。
步骤S404:确定所述平均值是否小于第二预设阈值。
这里,第二预设阈值可以根据不同的服务器类型设置不同的阈值,比如将服务器的第二预设阈值设置为1%,服务器的资源利用率未达到1%则视为欠载。将该平均值与最低阈值进行比较,在平均值小于所述第二预设阈值的时候,则执行步骤S405;在平均值大于等于所述第二预设阈值的时候,执行步骤S406。
步骤S405:服务器欠载。
这里,平均值小于所述第二预设阈值的时候,该服务器欠载,需要将该服务器上的虚拟机迁移并关闭该服务器,否则不需要迁移虚拟机,保持服务器正常运行。
步骤S406:结束。
在本申请实施例中,通过采集一天中n个不同的时刻利用率值,通过线性拟合方式得到资源利用率的平均值,对服务器进行欠载检测,得到的检测结果更精确。
B、过载检测
服务器过载主要是指服务器上的所有运行应用需要的资源超过了设定的阈值上限。在过载状态下,过载服务器上运行的虚拟机会对该服务器上的资源进行抢占,使分配给各虚拟机的资源不稳定,从而导致虚拟机上的应用程序服务质量降低,违反SLA协议。对于过载检测算法而言,采用局部回归鲁棒(LRR)算法,该算法可以计算出局部加权回归参数估计值,并在考虑虚拟机迁移时间的情况下,利用这些估计值预测出下一时刻的各个资源利用率。
本申请实施例提供一种服务器过载检测方法,图5为本申请实施例提供的服务器过载检测方法的流程示意图,如图5所示,所述服务器过载检测方法可以通过以下步骤实现:
步骤S501:确定存放CPU利用率的数组长度是否为零。
这里,将获取到的一天中采集的前n个时刻的资源利用率不为0的数据存放在数组中,对存放各个资源利用率的数组长度进行计算,判断此长度是否为0,若为0,执行步骤S506;若不为零,执行步骤S502。若数组长度为零,说明各个资源利用率不满足过载检测,该服务器不过载。
步骤S502:采用鲁棒性加权回归算法预测CPU利用率的预估函数曲线。
这里,在数组长度大于零的时候,说明服务器满足过载检测条件。采用带参数的局部加权回归估测函数对这n个资源利用率值进行预测,分别得到各个资源利用率的预测曲线。
步骤S503:采用预估函数计算负载预测值,并将其转换为标准预测值。
这里,根据估测函数确定预测曲线此刻的第一预测值和下一时刻的第二预测值,并根据公式(1)将与虚拟机迁移时间和n的和相乘,计算预测曲线后n次的资源利用率。
步骤S504:确定标准预测值是否大于第一预设阈值。
这里,将倍乘后得到的标准预测值即第三预测值与阈值上限S1(第一预设阈值)进行比较,若大于等于阈值上限S1,则执行步骤S505,否则,执行步骤S506。
步骤S505:服务器过载。
这里,标准预测值即第三预测值大于等于第一预设阈值的时候,说明服务器过载,需要使用虚拟机选择法和虚拟机放置法对虚拟机进行迁移;若小于阈值上限,则服务器正常运行,不需要采取额外的虚拟机迁移措施。在一些实施例中,阈值上限S1(第一预设阈值)需要根据不同服务器的承受能力来进行设置,比如服务器的资源利用率超过90%以后不能正常工作了,则将第一预设阈值设置为90%。
步骤S506:结束。
(2)确定待迁移虚拟机
当确定出过载服务器后,需要将过载服务器上的虚拟机迁移至目标服务器。本申请实施例采用的选择待迁移虚拟机的标准是:分析出CPU资源、内存资源、存储资源、I/O接口资源和网络带宽资源中的哪一种资源或者哪几种资源过载,对过载资源利用率分别进行降序排列。例如:CPU资源利用率组按照CPU资源利用率降序排列,接着按照间隔d对这些虚拟机进行分组,组名用VG表示。然后将所有VG组内的虚拟机子集按照随机存储量(RAM)大小升序排列,选择RAM最小的虚拟机,从而使实时迁移的时间最小。
本申请实施例提供一种待迁移虚拟机的确定方法,图6为本申请实施例提供的待迁移虚拟机的确定方法的流程示意图,如图6所示,所述待迁移虚拟机的确定方法可以通过以下步骤实现:
步骤S601:初始化存放最大CPU利用率值的变量为0,初始化存放待迁移虚拟机的数组,初始化存放最小随机存储量的变量为0。
这里,CPU资源利用率组按照CPU资源利用率降序排列,确定出最大CPU利用率值max_cpu。创建存放max_cpu的变量,并初始化变量为零。
步骤S602:确定虚拟机的CPU资源利用率是否属于虚拟机CPU资源利用率数组。
这里,虚拟机CPU资源利用率数组为一个二维数组,参数分别为虚拟机名称和资源利用率,用于存储虚拟机CPU资源利用率。若虚拟机的CPU资源利用率属于虚拟机CPU资源利用率数组,则执行步骤S603,否则执行步骤S609。
步骤S603:遍历虚拟机集合,确定出最小随机存储量的虚拟机。
这里,CPU资源利用率组按照CPU资源利用率降序排列,接着按照间隔d对这些虚拟机组成的第一虚拟机集合进行划分,得到多个虚拟机子集。对每个虚拟机子集中的虚拟机按照随机存储量的值进行升序排序,确定出每个虚拟机子集内随机存储量最小的虚拟机,然后再进行排序,确定出第一虚拟机集合中随机存储量最小的虚拟机,并将该虚拟机的随机存储量记为min_ram。
步骤S604:获取虚拟机不同时刻的CPU利用率值。
这里,虚拟机集合中的虚拟机的随机存储量值大于min_ram时,采集该虚拟机在n个不同时刻的资源利用率值,并将其保存在vals数组中。
步骤S605:确定CPU利用率值的第一平均值。
这里,遍历vals数组,并求出保存的所有数值的和,记作sum_vals,用sum_vals除以该数组的长度,得到资源利用率值的第一平均值ave_vals。
步骤S606:确定存放最大CPU利用率的变量是否小于所述第一平均值。
这里,在存放最大CPU利用率的变量小于所述第一平均值的时候,执行步骤S607;否则执行步骤S602。将最大CPU利用率的变量max_cpu与第一平均值ave_vals进行比较,若max_cpu大于ave_vals,则继续遍历虚拟机CPU资源利用率数组vms_cpu_map。
步骤S607:将所述第一平均值赋值给最大CPU利用率的变量。
这里,在存放最大CPU利用率的变量小于所述第一平均值的时候,将第一第一平均值ave_vals赋值给最大CPU利用率的变量max_cpu。
步骤S608:将CPU利用率最大的虚拟机确定为待迁移虚拟机。
这里,将第一平均值对应的虚拟机即CPU利用率最大的虚拟机作为待迁移的虚拟机。在一些实施例中,将选择的虚拟机列表selected_vm存放所有待迁移的虚拟机,重复此过程,直至服务器检测不过载为止。
步骤S609:结束。
这样,可以综合考虑虚拟机的资源利用率和随机存储量,从而可以精确地确定待迁移虚拟机,并使得待迁移的虚拟机的数量尽可能的少。
同理,将上述确定待迁移虚拟机的方法应用于其他过载资源。若同时有几种资源过载现象存在则需在计算这几种资源的利用率总和之后应用上述方法。设定为虚拟机j总的资源利用率,/>为虚拟机j的CPU资源利用率,/>为虚拟机j的内存资源利用率,为虚拟机j的存储资源利用率,/>为虚拟机j的I/O接口资源利用率,/>为虚拟机j的网络带宽资源利用率,资源利用率总和的计算方式见公式(9):
此选择策略可使每次选择的虚拟机迁移后服务器的超载程度最大化降低,直至服务器资源状态正常时,这样持续性的选择才结束。采用这种策略进行虚拟机迁移的原因在于迁移虚拟机也会带来一定的能源消耗,并且在迁移过程中,虚拟机上的应用程序会受到不同程度的影响,所以要尽可能使迁移的虚拟机越少越好。
(3)选择目标服务器
当需要迁移的虚拟机selected_vm确认后,接下来就需要将这些虚拟机迁移到合适的目标服务器上。为了降低迁移虚拟机的功耗,本申请实施例采用一种低能耗降序最佳适应算法——LECBFD,该算法基于传统的启发式算法BFD(降序最佳适应)算法,BFD的实现流程是:将n个物品按照体积大小降序排列,按顺序将物品放入箱子中,检查所有的非空箱子,找到最接近当前选择的物品的体积的箱子放入,依次遍历,直到所有物品装入完成为止。对于本申请实施例的LECBFD算法,其与BFD算法的不同点在于将迁移过程中产生的能源消耗也作为一项参考。该算法对虚拟机迁移过程产生的能耗、SLA冲突以及减轻服务器过载有效性进行了综合考虑。
本申请实施例提供一种目标服务器的确定方法,图7为本申请实施例提供的目标服务器的确定方法的流程示意图,如图7所示,所述目标服务器的确定方法可以通过以下步骤实现:
步骤S701:设置最佳能源效率为最小资源利用率值,设置负载均衡服务器数组为空数组。
这里,首先将需要待迁移虚拟机的列表vm_list按资源利用率降序排列,接着遍历vm_list,将资源利用率最小值设置为最佳能源效率,并设置虚拟机的服务器列表为空。
步骤S702:确定选择的服务器是否在所述负载均衡服务器数组中。
这里,若选择的服务器在负载均衡服务器数组中,则执行步骤S703;否则执行步骤S712。
步骤S703:确定所述选择的服务器是否有足够的资源提供给待迁移虚拟机。
这里,若选择的服务器有足够的资源,则执行步骤S704;否则执行步骤S702。服务器足够的资源可通过服务器的剩余资源大于虚拟机所需要的资源进行设置。
步骤S704:确定所述服务器的能源效率。
这里,所述服务器的能源效率为服务器的可用资源量与该服务器的最大能源即总资源量之间的比值。可通过公式(10)计算服务器的能源效率:
步骤S705:确定所述服务器的能源效率是否大于所述最佳能源效率。
这里,若所述服务器的能源效率大于所述最佳能源效率,则执行步骤S706、S710至S712;否则执行步骤S707至步骤S712。
在一些实施例中,服务器的能源大于服务器上虚拟机所需要的能源才能保证应用程序高效执行。
步骤S706:确定该服务器为目标服务器。
这里,当服务器的能源效率大于设定的最佳能源效率时,该服务器即为目标服务器,且最佳能源效率即为此服务器的能源效率。
步骤S707:确定所述服务器的能源效率是否等于所述最佳能源效率。
这里,若所述服务器的能源效率等于所述最佳能源效率,则执行步骤S708;否则执行步骤S712。
步骤S708:确定所述服务器的可用资源是否大于预设的最低可用资源。
这里,若所述服务器的可用资源大于预设的最低可用资源,则执行步骤S709;否则执行步骤S712。
步骤S709:将所述服务器确定为目标服务器。
这里,在服务器的可用资源量大于预设的最低可用资源量时,说该服务器有足够的资源承载待迁移虚拟机,则将该服务器确定为目标服务器,将待迁移虚拟机迁移至该目标服务器。
步骤S710:确定是否存在负载均衡的服务器。
这里,若存在负载均衡的服务器,则执行步骤S711;否则执行步骤S701,继续遍历服务器列表,确定是否有负载均衡的服务器。
步骤S711:将待迁移虚拟机和目标服务器存储至虚拟机数组中。
这里,确定负载均衡服务器数组是否为空,如果数组不为空,则将待迁移的虚拟机和目标服务器放置在虚拟机放置预设数组中;若数组为空,则继续遍历需要迁移的虚拟机数组vm_list,直到负载均衡服务器数组不为空为止。
步骤S712:结束。
当所有待迁移虚拟机全部放置完毕,就实现了一次完整的资源调度。将这样的资源调度方案提交到资源管理子系统并由其实施到具体的服务器集群中,就可以完整的完成一次资源调度操作。
在本申请实施例中,将资源调度过程将分为服务器状态检测、待迁移虚拟机选择以及目标服务器确定三部分。通过改进原有的启发式降序最佳适应算法,增加通过拟合方式计算资源平均利用率,调整虚拟机放置位置,在保证虚拟机性能以及不违反SLA协议的前提下有效降低云计算管理平台中资源调度产生的能源消耗。
本申请实施例提供一种虚拟机迁移装置,图8为本申请实施例提供的虚拟机迁移装置的结构示意图,如图8所示,所述虚拟机迁移装置800包括:
第一确定模块801,用于在至少一个服务器中,确定过载服务器;
第二确定模块802,用于在所述过载服务器的第一虚拟机集合中,确定虚拟机的随机存储量满足第一条件的目标虚拟机;
第三确定模块803,用于在所述目标虚拟机的资源利用率满足第二条件的情况下,将所述目标虚拟机确定为待迁移虚拟机;
迁移模块804,用于将所述待迁移虚拟机迁移至所述至少一个服务器中的目标服务器;其中,所述过载服务器与所述目标服务器不同。
在上述装置中,所述第一确定模块801,包括:
第一获取子模块,用于获取所述至少一个服务器在不同时刻的至少一个资源利用率值;
预测子模块,用于对所述至少一个资源利用率值进行预测,得到当前时刻每一所述资源利用率值的第一预测值和下一时刻每一所述资源利用率值的第二预测值;
第一确定子模块,用于将所述第一预测值和所述第二预测值进行倍乘,得到第三预测值;
第二确定子模块,用于确定所述第三预测值大于所述第一预设阈值的目标资源利用率值;
第三确定子模块,用于将所述目标资源利用率值对应的服务器确定为所述过载服务器。
在上述装置中,所述第二确定模块802,包括
第四确定子模块,用于确定所述第一虚拟机集合中每一虚拟机的第一资源利用率值;
排序子模块,用于按照第一资源利用率值的降序排序方式,对所述第一虚拟机集合中的虚拟机进行排序,得到排序后的虚拟机集合;
划分子模块,用于按照预设数量间隔,将所述排序后的虚拟机集合划分为多个虚拟机子集;
第五确定子模块,用于确定所述虚拟机子集中任一虚拟机的随机存储量;
第六确定子模块,用于按照所述随机存储量的升序排序方式,对任一所述虚拟机子集中的虚拟机进行排序,确定出任一所述虚拟机子集中随机存储量最小的第一虚拟机;
第七确定子模块,用于根据多个所述第一虚拟机的随机存储量,确定出所述第一虚拟机集合中随机存储量最小的第二虚拟机;
第八确定子模块,用于从所述多个虚拟机子集中,确定随机存储量大于所述第二虚拟机的目标虚拟机。
在上述装置中,所述第三确定模块803,包括:
第二获取子模块,用于获取所述目标虚拟机在不同时刻的至少两个资源利用率值;
第九确定子模块,用于确定所述至少两个资源利用率值的第一均值;
第十确定子模块,用于在所述第一均值大于所述第二预设阈值的情况下,将所述第一虚拟机确定为所述待迁移虚拟机。
在上述装置中,所述装置还包括:
第四确定模块,用于在所述至少一个服务器中,确定负载均衡的服务器集合;
第五确定模块,用于在所述服务器集合中,确定任一所述服务器的可用资源与所述服务器的总资源之间的第一比值;
第六确定模块,用于确定所述待迁移虚拟机所需的资源与所述服务器的总资源之间的第二比值;
第七确定模块,用于在所述第一比值大于所述第二比值的情况下,将所述第一比值对应的服务器确定为所述目标服务器;
第八确定模块,用于在所述第一比值等于所述第二比值的情况下,确定所述服务器的可用资源与预设可用资源之间的大小;
第九确定模块,用于在所述服务器的可用资源大于所述预设可用资源的情况下,确定所述服务器为所述目标服务器。
在上述装置中,所述第一确定模块801,还包括:
第十一确定子模块,用于在所述至少一个服务器中,确定任一服务器的总资源利用率;
第十二确定子模块,用于在所述总资源利用率大于第二预设阈值的情况下,将所述服务器确定为所述过载服务器。
在上述装置中,所述第一确定模块801,还包括:
第十三确定子模块,用于在所述至少一个服务器中,确定所述总资源利用率不为零的服务器;
第三获取子模块,用于获取所述总资源利用率不为零的服务器在不同时刻的至少两个第二资源利用率值;
拟合子模块,用于对所述至少两个第二资源利用率值进行拟合,得到所述至少两个第二资源利用率值的第二均值;
第十四确定子模块,用于在所述第二均值不大于第三预设阈值的情况下,确定所述第二均值对应的服务器为欠载服务器;
迁移子模块,用于将与所述欠载服务器连接的第二虚拟机集合迁移至所述目标服务器。
对应地,本申请实施例提供一种终端,图9为本申请实施例提供的所述终端的组成结构示意图,如图9所示,所述终端900至少包括:控制器901和配置为存储可执行指令的存储介质902,其中:
控制器901配置为执行存储的可执行指令,所述可执行指令用于实现提供的虚拟机迁移方法。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种虚拟机迁移方法,其特征在于,所述方法包括:
在至少一个服务器中,确定过载服务器;
在所述过载服务器的第一虚拟机集合中,确定虚拟机的随机存储量满足第一条件的目标虚拟机;
在所述目标虚拟机的资源利用率满足第二条件的情况下,将所述目标虚拟机确定为待迁移虚拟机;
将所述待迁移虚拟机迁移至所述至少一个服务器中的目标服务器;其中,所述过载服务器与所述目标服务器不同。
2.根据权利要求1所述的方法,其特征在于,所述在至少一个服务器中,确定过载服务器,包括:
获取所述至少一个服务器在不同时刻的至少一个资源利用率值;
对所述至少一个资源利用率值进行预测,得到当前时刻每一所述资源利用率值的第一预测值和下一时刻每一所述资源利用率值的第二预测值;
将所述第一预测值和所述第二预测值进行倍乘,得到第三预测值;
确定所述第三预测值大于所述第一预设阈值的目标资源利用率值;
将所述目标资源利用率值对应的服务器确定为所述过载服务器。
3.根据权利要求1所述的方法,其特征在于,所述在所述过载服务器的第一虚拟机集合中,确定虚拟机的随机存储量满足第一条件的目标虚拟机,包括:
确定所述第一虚拟机集合中每一虚拟机的第一资源利用率值;
按照第一资源利用率值的降序排序方式,对所述第一虚拟机集合中的虚拟机进行排序,得到排序后的虚拟机集合;
按照预设数量间隔,将所述排序后的虚拟机集合划分为多个虚拟机子集;
确定所述虚拟机子集中任一虚拟机的随机存储量;
按照所述随机存储量的升序排序方式,对任一所述虚拟机子集中的虚拟机进行排序,确定出任一所述虚拟机子集中随机存储量最小的第一虚拟机;
根据多个所述第一虚拟机的随机存储量,确定出所述第一虚拟机集合中随机存储量最小的第二虚拟机;
从所述多个虚拟机子集中,确定随机存储量大于所述第二虚拟机的目标虚拟机。
4.根据权利要求1所述的方法,其特征在于,所述在所述目标虚拟机的资源利用率满足第二条件的情况下,将所述目标虚拟机确定为待迁移虚拟机,包括:
获取所述目标虚拟机在不同时刻的至少两个资源利用率值;
确定所述至少两个资源利用率值的第一均值;
在所述第一均值大于所述第二条件的情况下,将所述第一虚拟机确定为所述待迁移虚拟机。
5.根据权利要求1所述的方法,其特征在于,在在所述目标虚拟机的资源利用率满足第二条件的情况下,将所述目标虚拟机确定为待迁移虚拟机之后,所述方法还包括:
在所述至少一个服务器中,确定负载均衡的服务器集合;
在所述服务器集合中,确定任一所述服务器的可用资源与所述服务器的总资源之间的第一比值;
确定所述待迁移虚拟机所需的资源与所述服务器的总资源之间的第二比值;
在所述第一比值大于所述第二比值的情况下,将所述第一比值对应的服务器确定为所述目标服务器;
在所述第一比值等于所述第二比值的情况下,确定所述服务器的可用资源与预设可用资源之间的大小;
在所述服务器的可用资源大于所述预设可用资源的情况下,确定所述服务器为所述目标服务器。
6.根据权利要求1所述的方法,其特征在于,所述在至少一个服务器中,确定过载服务器,包括:
在所述至少一个服务器中,确定任一服务器的总资源利用率;
在所述总资源利用率大于第二预设阈值的情况下,将所述服务器确定为所述过载服务器。
7.根据权利要求6所述的方法,其特征在于,所述在所述至少一个服务器中,确定任一服务器的总资源利用率之后,所述方法还包括:
在所述至少一个服务器中,确定所述总资源利用率不为零的服务器;
获取所述总资源利用率不为零的服务器在不同时刻的至少两个第二资源利用率值;
对所述至少两个第二资源利用率值进行拟合,得到所述至少两个第二资源利用率值的第二均值;
在所述第二均值不大于第三预设阈值的情况下,确定所述第二均值对应的服务器为欠载服务器;
将与所述欠载服务器连接的第二虚拟机集合迁移至所述目标服务器。
8.一种虚拟机迁移装置,其特征在于,所述装置包括:
第一确定模块,用于在至少一个服务器中,确定过载服务器;
第二确定模块,用于在所述过载服务器的第一虚拟机集合中,确定虚拟机的随机存储量满足第一条件的目标虚拟机;
第三确定模块,用于在所述目标虚拟机的资源利用率满足第二条件的情况下,将所述目标虚拟机确定为待迁移虚拟机;
迁移模块,用于将所述待迁移虚拟机迁移至所述至少一个服务器中的目标服务器;其中,所述过载服务器与所述目标服务器不同。
9.一种终端,其特征在于,所述终端至少包括:控制器和配置为存储可执行指令的存储介质,其中:
控制器配置为执行存储的可执行指令,所述可执行指令配置为执行上述权利要求1至7任一项提供的虚拟机迁移方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令配置为执行上述权利要求1至7任一项提供的虚拟机迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111115072.7A CN115858082A (zh) | 2021-09-23 | 2021-09-23 | 一种虚拟机迁移方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111115072.7A CN115858082A (zh) | 2021-09-23 | 2021-09-23 | 一种虚拟机迁移方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115858082A true CN115858082A (zh) | 2023-03-28 |
Family
ID=85652229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111115072.7A Pending CN115858082A (zh) | 2021-09-23 | 2021-09-23 | 一种虚拟机迁移方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115858082A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116743589A (zh) * | 2023-08-15 | 2023-09-12 | 中移(苏州)软件技术有限公司 | 云主机迁移方法、装置及电子设备 |
-
2021
- 2021-09-23 CN CN202111115072.7A patent/CN115858082A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116743589A (zh) * | 2023-08-15 | 2023-09-12 | 中移(苏州)软件技术有限公司 | 云主机迁移方法、装置及电子设备 |
CN116743589B (zh) * | 2023-08-15 | 2023-11-21 | 中移(苏州)软件技术有限公司 | 云主机迁移方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Energy-efficient and quality-aware VM consolidation method | |
CN102546700B (zh) | 一种资源调度以及资源迁移的方法及设备 | |
Zhang et al. | Network-aware virtual machine migration in an overcommitted cloud | |
Tarafdar et al. | Energy and quality of service-aware virtual machine consolidation in a cloud data center | |
Kord et al. | An energy-efficient approach for virtual machine placement in cloud based data centers | |
CN107220108B (zh) | 一种实现云数据中心负载均衡的方法和系统 | |
CN105426241A (zh) | 一种基于云计算数据中心的统一资源调度节能方法 | |
CN103916438B (zh) | 基于负载预测的云测试环境调度方法及其系统 | |
Rajabzadeh et al. | Energy-aware framework with Markov chain-based parallel simulated annealing algorithm for dynamic management of virtual machines in cloud data centers | |
CN109447264B (zh) | 云计算环境下基于vham-r模型的虚拟机放置遗传优化方法 | |
Oxley et al. | Makespan and energy robust stochastic static resource allocation of a bag-of-tasks to a heterogeneous computing system | |
Li | An adaptive overload threshold selection process using Markov decision processes of virtual machine in cloud data center | |
Zhao et al. | A location selection policy of live virtual machine migration for power saving and load balancing | |
Khan | An efficient energy-aware approach for dynamic VM consolidation on cloud platforms | |
Liumei et al. | Towards energy efficient cloud: an optimized ant colony model for virtual machine placement | |
CN108089914A (zh) | 一种基于能耗的云计算虚拟机部署算法 | |
CN111176784A (zh) | 一种基于极限学习机和蚁群系统的虚拟机整合方法 | |
Shi et al. | Multi-objective container consolidation in cloud data centers | |
CN115858082A (zh) | 一种虚拟机迁移方法、装置、终端及存储介质 | |
CN109976879B (zh) | 一种基于资源使用曲线互补的云计算虚拟机放置方法 | |
Shao et al. | A dynamic virtual machine resource consolidation strategy based on a gray model and improved discrete particle swarm optimization | |
KR102129389B1 (ko) | 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법 및 장치 | |
More et al. | Energy-aware VM migration using dragonfly–crow optimization and support vector regression model in Cloud | |
Deiab et al. | Energy efficiency in cloud computing | |
Kaur et al. | A review on energy aware VM placement and consolidation techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |