CN105656969A - 一种虚拟机迁移决策方法及装置 - Google Patents
一种虚拟机迁移决策方法及装置 Download PDFInfo
- Publication number
- CN105656969A CN105656969A CN201410680289.6A CN201410680289A CN105656969A CN 105656969 A CN105656969 A CN 105656969A CN 201410680289 A CN201410680289 A CN 201410680289A CN 105656969 A CN105656969 A CN 105656969A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- migration
- information
- physics
- difference
- 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.)
- Withdrawn
Links
- 238000013508 migration Methods 0.000 title claims abstract description 149
- 230000005012 migration Effects 0.000 title claims abstract description 149
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012423 maintenance Methods 0.000 abstract description 4
- 238000012544 monitoring process Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 4
- 230000007812 deficiency Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/34—Signalling channels for network management communication
- H04L41/342—Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种虚拟机迁移决策方法及装置,包括获取物理节点的网络流量统计信息,以及物理节点内各个虚拟机的网络流量占用信息;判断物理节点的网络流量统计信息是否满足阈值信息,阈值信息为物理节点正常工作下的流量信息;若不满足,根据各个虚拟机预设的流量占用信息,分别确定各个虚拟机的网络流量占用信息与流量占用信息的差值;根据差值,对虚拟机执行迁移。本发明通过以上技术方案,解决了现有方案中因虚拟机迁移导致网络出现阻塞,且无法进行动态决策的问题。根据物理节点的网络流量统计信息,以及物理节点内各个虚拟机的网络流量占用信息,判断是否需要对虚拟机进行迁移,动态决策虚拟机的迁移,减少系统维护的人工参与度。
Description
技术领域
本发明涉及云计算和网络虚拟化领域,尤其涉及一种虚拟机迁移决策方法及装置。
背景技术
随着云计算技术和网络虚拟化技术的发展,OpenStack提供了一套部署云的操作平台或工具集,为云计算基础设施服务提供解决方案。OpenStack具有开源、互操作性、可移植性、易用性的特点,而且还提供开发的API(ApplicationProgrammingInterface,应用程序编程接口),以便进行二次开发,能够方便地与其他系统进行集成,赢得业界越来越多的关注。
虚拟机的迁移是指将源物理主机上运行的虚拟机操作系统及应用程序移动到目标物理主机上,并且在目标主机上能够正常运行。OpenStack自带虚拟机的迁移功能,允许一个正在运行的虚拟机实例从一个计算节点迁移到另一个计算节点,但是虚拟机的迁移需要操作人员手动的在界面操作,因操作人员在虚拟机迁移时无法了解全网的网络利用情况,不明确如何迁移才能达到最优的效果,可能会出现迁移后网络出现更加拥塞的局面,所以目前的实现无法实现动态监测、动态决策、动态迁移的目的。
发明内容
本发明提供了一种虚拟机迁移决策方法及装置,解决了现有方案中因虚拟机迁移导致网络出现阻塞,且无法进行动态决策的问题。
为解决上述技术问题,本发明提供了一种虚拟机迁移决策方法,包括:
获取物理节点的网络流量统计信息,以及所述物理节点内各个虚拟机的网络流量占用信息;
判断所述物理节点的网络流量统计信息是否满足阈值信息,所述阈值信息为所述物理节点正常工作下的流量信息;
若不满足,根据所述各个虚拟机预设的流量占用信息,分别确定所述各个虚拟机的网络流量占用信息与流量占用信息的差值;
根据所述差值,对虚拟机执行迁移。
在本发明的一种实施例中,所述网络流量统计信息包括所述物理节点的当前实际物理网卡带宽占用量;
所述判断所述物理节点的网络流量统计信息是否满足阈值信息,所述阈值信息为所述物理节点正常工作下的流量信息具体包括:
根据所述物理节点的最大实际物理网卡带宽占用量,确定所述物理节点正常工作下的物理网卡带宽占用量;
判断所述物理节点的当前实际物理网卡带宽占用量是否满足所述物理节点正常工作下的物理网卡带宽占用量。
在本发明的一种实施例中,所述根据所述差值,对虚拟机执行迁移具体包括:
判断所述差值是否为正;
对所述差值为正的至少一个虚拟机执行迁移。
在本发明的一种实施例中,所述网络流量占用信息包括所述虚拟机的当前实际出口带宽占用量;
所述根据所述各个虚拟机预设的流量占用信息,分别确定所述各个虚拟机的网络流量占用信息与流量占用信息的差值具体包括:
分别预设所述各个虚拟机的最大出口带宽量;
根据所述各个虚拟机预设的最大出口带宽量,分别计算所述各个虚拟机的当前实际出口带宽占用量与最大出口带宽量的差值。
在本发明的一种实施例中,所述对所述差值为正的至少一个虚拟机执行迁移具体包括:
将所述差值为正的虚拟机添加至待迁移虚拟机列表;
在所述待迁移虚拟机列表中,确定至少一个需要迁移的虚拟机,使迁移所述至少一个需要迁移的虚拟机后的物理节点的网络流量统计信息满足所述阈值信息;
将所述至少一个需要迁移的虚拟机作为待迁移虚拟机,对所述待迁移虚拟机执行迁移。
在本发明的一种实施例中,所述在所述待迁移虚拟机列表中,确定至少一个需要迁移的虚拟机,使迁移所述至少一个需要迁移的虚拟机后的物理节点的网络流量统计信息满足所述阈值信息具体包括:
在所述待迁移虚拟机列表中,判断迁移所述差值最大的虚拟机后的物理节点的网络流量统计信息是否满足所述阈值信息;
若满足,则将所述差值最大的虚拟机确定为需要迁移的虚拟机,否则判断迁移所述差值最大的虚拟机以及差值次大的虚拟机后的物理节点的网络流量统计信息是否满足所述阈值信息,若满足,则将所述差值最大的虚拟机以及差值次大的虚拟机确定为需要迁移的虚拟机,否则直到判断出迁移虚拟机后的物理节点的网络流量统计信息满足所述阈值信息。
在本发明的一种实施例中,
在所述将所述至少一个需要迁移的虚拟机作为待迁移虚拟机,对所述待迁移虚拟机执行迁移之前,还包括:
将所述待迁移虚拟机列表中的所有虚拟机按照所述差值由大到小依次排列;
对所述依次排列后的前至少一个虚拟机的流量进行限制;
在所述将所述至少一个需要迁移的虚拟机作为待迁移虚拟机,对所述待迁移虚拟机执行迁移之后,还包括:
若所述前至少一个虚拟机中包括未迁移的虚拟机,则取消对所述未迁移虚拟机的流量限制。
在本发明的一种实施例中,在所述根据所述差值,对虚拟机执行迁移之前,还包括:
获取其他物理节点的网络流量统计信息;
根据所述其他物理节点的网络流量统计信息,选择满足虚拟机迁入条件的物理节点,使迁入虚拟机后的物理节点的网络流量统计信息仍满足所述阈值信息,将所述选择的物理节点作为所述至少一个虚拟机执行迁移的目标物理节点。
本发明还提供一种虚拟机迁移决策装置,包括:
获取模块,用于获取物理节点的网络流量统计信息,以及所述物理节点内各个虚拟机的网络流量占用信息;
判断模块,用于判断所述获取模块获取的物理节点的网络流量统计信息是否满足阈值信息,所述阈值信息为所述物理节点正常工作下的流量信息;
确定模块,用于若所述判断模块判断为不满足,根据所述各个虚拟机预设的流量占用信息,分别确定所述各个虚拟机的网络流量占用信息与流量占用信息的差值;
迁移模块,用于根据所述确定模块确定的差值,对虚拟机执行迁移。
在本发明的一种实施例中,所述网络流量统计信息包括所述物理节点的当前实际物理网卡带宽占用量;
所述确定模块还用于根据所述物理节点的最大实际物理网卡带宽占用量,确定所述物理节点正常工作下的物理网卡带宽占用量;
所述判断模块具体用于判断所述物理节点的当前实际物理网卡带宽占用量是否满足所述物理节点正常工作下的物理网卡带宽占用量。
在本发明的一种实施例中,
所述判断模块还用于判断所述确定模块确定的差值是否为正;
所述迁移模块具体用于对所述差值为正的至少一个虚拟机执行迁移。
在本发明的一种实施例中,所述网络流量占用信息包括所述虚拟机的当前实际出口带宽占用量;
所述确定模块包括:
设置子模块,用于分别预设所述各个虚拟机的最大出口带宽量;
计算子模块,用于根据所述各个虚拟机预设的最大出口带宽量,分别计算所述各个虚拟机的当前实际出口带宽占用量与最大出口带宽量的差值。
在本发明的一种实施例中,还包括:
添加模块,用于将所述差值为正的虚拟机添加至待迁移虚拟机列表;
所述确定模块还用于在所述待迁移虚拟机列表中,确定至少一个需要迁移的虚拟机,使迁移所述至少一个需要迁移的虚拟机后的物理节点的网络流量统计信息满足所述阈值信息;
所述迁移模块具体用于将所述至少一个需要迁移的虚拟机作为待迁移虚拟机,对所述待迁移虚拟机执行迁移。
在本发明的一种实施例中,
所述判断模块还用于在所述待迁移虚拟机列表中,判断迁移所述差值最大的虚拟机后的物理节点的网络流量统计信息是否满足所述阈值信息;
所述确定模块具体用于若所述判断模块判断为满足,则将所述差值最大的虚拟机确定为需要迁移的虚拟机,否则所述判断模块还用于判断迁移所述差值最大的虚拟机以及差值次大的虚拟机后的物理节点的网络流量统计信息是否满足所述阈值信息,所述确定模块具体用于若所述判断模块判断为满足,则将所述差值最大的虚拟机以及差值次大的虚拟机确定为需要迁移的虚拟机,否则直到所述判断模块判断出迁移虚拟机后的物理节点的网络流量统计信息满足所述阈值信息。
在本发明的一种实施例中,还包括:
排列模块,用于将所述待迁移虚拟机列表中的所有虚拟机按照所述差值由大到小依次排列;
限制模块,用于对所述排列模块依次排列后的前至少一个虚拟机的流量进行限制;
取消模块,用于若所述前至少一个虚拟机中包括未迁移的虚拟机,则取消对所述未迁移虚拟机的流量限制。
在本发明的一种实施例中,还包括:
所述获取模块还用于获取其他物理节点的网络流量统计信息;
选择模块,用于根据所述获取模块获取的其他物理节点的网络流量统计信息,选择满足虚拟机迁入条件的物理节点,使迁入虚拟机后的物理节点的网络流量统计信息仍满足所述阈值信息,将所述选择的物理节点作为所述至少一个虚拟机执行迁移的目标物理节点。
本发明的有益效果:
本发明提供一种虚拟机迁移决策方法及装置,结合OpenStack框架和OpenStack提供的服务,根据物理节点的网络流量统计信息,以及物理节点内各个虚拟机的网络流量占用信息,判断是否需要对物理节点内的虚拟机进行迁移,克服了OpenStack现有迁移方式的不足,能动态监测虚拟机的网络流量占用情况,动态决策虚拟机的迁移,减少系统维护的人工参与度。通过获取并存储网络流量统计信息实现,实现对虚拟机网络流量占用情况的分析来决策是否触发虚拟机的动态迁移,以及对虚拟机网络流量的动态管控,此外,还可通过修改原有OpenStack主机选择算法,增加对网络的过滤条件,优化了虚拟机迁移时主机选择算法。
附图说明
图1为本发明实施例一提供的虚拟机迁移决策方法的流程图;
图2为本发明实施例二提供的虚拟机迁移决策装置的结构示意图;
图3为本发明实施例三提供的虚拟机迁移决策装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明中一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
图1为本发明实施例一提供的虚拟机迁移决策方法的流程图,如图1所示,该虚拟机迁移决策方法包括:
S101:获取物理节点的网络流量统计信息,以及物理节点内各个虚拟机的网络流量占用信息;
S102:判断物理节点的网络流量统计信息是否满足阈值信息,阈值信息为物理节点正常工作下的流量信息;
S103:若不满足,根据各个虚拟机预设的流量占用信息,分别确定各个虚拟机的网络流量占用信息与流量占用信息的差值;
S104:根据差值,对虚拟机执行迁移。
具体地,为了动态监测虚拟机的网络流量占用情况,动态决策虚拟机的迁移,可以获取物理节点的网络流量统计信息,以及物理节点内各个虚拟机的网络流量占用信息,该获取动作可以为实时获取,也可以为定时获取,根据物理节点的网络流量统计信息,以及物理节点内各个虚拟机的网络流量占用信息,判断是否需要对物理节点内的虚拟机进行迁移,从而减少系统维护的人工参与度,克服OpenStack现有迁移方式的不足。该物理节点可以为OpenStack计算节点,即物理主机,针对OpenStack计算节点是否需要迁移其内的虚拟机,可以由OpenStack控制节点对OpenStack计算节点进行决策,即OpenStack控制节点根据OpenStack计算节点上报的网络流量统计信息,判断是否对OpenStack计算节点中的虚拟机进行迁移。
在本实施例中,根据物理节点的网络流量统计信息,判断是否需要对该物理节点内的虚拟机进行迁移,以使得物理节点的网络流量统计信息低于阈值信息,该阈值信息为该物理节点正常工作下的流量信息,使其满足实际应用要求。该网络流量统计信息包括但不局限于物理主机的标识信息、当前实际物理网卡带宽占用量等,该当前实际物理网卡带宽占用量包括但不局限于物理节点的物理端口发送数据包速率、实际可处理的网络吞吐量等。在判断是否需要对物理节点内的虚拟机执行迁移时,根据该物理节点的最大实际物理网卡带宽占用量MaxVMPhyNet,确定其正常工作下的物理网卡带宽占用量,即该物理节点正常工作下的流量信息,需要说明的是,针对该最大实际物理网卡带宽占用量,若系统没有限制该物理节点的物理网卡带宽占用量,则可以将该物理节点所支持的最大物理网卡带宽占用量作为其最大实际物理网卡带宽占用量,然后确定正常工作下的流量信息,若系统限制了该物理节点的物理网卡带宽占用量,则将系统为该物理节点设置的最大物理网卡带宽占用量作为其最大实际物理网卡带宽占用量,然后确定正常工作下的流量信息。在实际应用中,为了使物理节点满足对网络流量占用情况的要求,优选地,可以将物理节点正常工作下的物理网卡带宽占用量设置为低于最大实际物理网卡带宽占用量的80%,即低于最大实际物理网卡带宽占用量的80%的物理网卡带宽占用量均为该物理节点正常工作下的流量信息,判断该物理节点的当前实际物理网卡带宽占用量CurrentPhyNetUse是否满足其正常工作下的物理网卡带宽占用量,即物理节点的当前实际物理网卡带宽占用量低于其最大实际物理网卡带宽量的80%,若某一物理节点的当前实际物理网卡带宽占用量低于其最大实际物理网卡带宽量的80%,则需要对其内运行的虚拟机进行迁移,以使得该物理节点满足实际网络应用需求,否则不需要对其内运行的虚拟机进行迁移,使该物理节点继续正常工作,继续监测其他物理节点。
在本实施例中,若判断出某一物理节点的网络流量统计信息不满足阈值信息,则需要根据该物理节点内的各个虚拟机的网络流量占用信息,对该物理节点内的虚拟机进行迁移,以使得该物理节点的网络流量统计信息满足阈值信息,如根据各个虚拟机预设的流量占用信息,分别确定各个虚拟机的网络流量占用信息与流量占用信息的差值,即分别计算每个虚拟机的网络流量占用信息与流量占用信息的差值,依次判断该差值是否为正,该差值为正表示该虚拟机的网络流量占用信息大于其预设的流量占用信息,得到网络流量占用信息大于其预设的流量占用信息的至少一个虚拟机,对该至少一个虚拟机执行迁移。
在上述技术方案中,该网络流量占用信息包括但不局限于虚拟机的唯一标识信息、当前实际出口带宽占用量,该当前实际出口带宽占用量包括但不局限于虚拟机的发送数据包速率、接收数据包速率等。针对物理节点内的各个虚拟机,在通过OpenStack创建时,针对某一虚拟机的网络流量占用信息中的当前实际物理网卡带宽占用量,分别预设该虚拟机的最大出口带宽量MaxVMPhyNetUse,即定义该虚拟机利用物理网卡传输数据的最大值,需要说明的是,在同一物理节点内可以创建多个虚拟机,在定义各个虚拟机的最大出口带宽量时,需要保证同一物理节点内的所有虚拟机的最大出口带宽量之和不能超过该物理节点的物理带宽某个阈值。在实际应用中,需要保证该虚拟机的当前实际出口带宽占用量CurrentVMPhyNetUse不得超过其定义的最大出口带宽量,当判断出某一物理节点的网络流量统计信息不满足阈值信息时,根据各个虚拟机预设的最大出口带宽量,分别判断该物理节点内的各个虚拟机的网络流量占用信息是否超过其预设的最大出口带宽量,即分别计算各个虚拟机的当前实际出口带宽占用量与最大出口带宽量的差值,根据该差值,对虚拟机执行迁移,以使得该物理节点的网络流量统计信息满足阈值信息。
在本实施例中,当分别确定了各个虚拟机的网络流量占用信息与流量占用信息的差值后,将其中差值为正的虚拟机添加至待迁移虚拟机列表,在该待迁移虚拟机列表中,确定至少一个需要迁移的虚拟机,该确定的原则是使得迁移该至少一个需要迁移的虚拟机后的物理节点的网络流量统计信息满足阈值信息,使该物理节点能够继续正常工作,将该至少一个需要迁移的虚拟机作为待迁移虚拟机,对该待迁移虚拟机执行迁移。
在上述技术方案中,为了使得迁移虚拟机后的物理节点的网络流量统计信息满足阈值信息,本实施例提供一种待迁移虚拟机的确定方式,当然也不排除其他确定方式,在该待迁移虚拟机列表中,判断迁移差值最大的虚拟机后的物理节点的网络流量统计信息是否满足阈值信息,即计算将该差值最大的虚拟机从该物理节点迁移至其他物理节点后,该物理节点的网络流量统计信息是否满足阈值信息,若满足,则将该差值最大的虚拟机确定为需要迁移的虚拟机,将该需要迁移的虚拟机作为待迁移虚拟机,只对该待迁移虚拟机执行迁移,以使得迁移该差值最大的虚拟机后的网络节点的网络流量统计信息满足阈值信息,以便正常工作,否则判断迁移差值最大的虚拟机以及差值次大的虚拟机后的物理节点的网络流量统计信息是否满足阈值信息,即若判断出迁移差值最大的虚拟机后的物理节点的网络流量统计信息仍然不满足阈值信息,则计算将差值最大的虚拟机以及差值次大的虚拟机从该物理节点迁移至其他物理节点后,该物理节点的网络流量统计信息是否满足阈值信息,若满足,则将该差值最大的虚拟机以及差值次大的虚拟机确定为需要迁移的虚拟机,将该需要迁移的虚拟机作为待迁移虚拟机,对该待迁移虚拟机执行迁移,以使得迁移该差值最大的虚拟机以及差值次大的虚拟机后的网络节点的网络流量统计信息满足阈值信息,以便正常工作,否则以此类推,继续按照上述计算的差值由大到小的虚拟机顺序,再进行判断,直到判断出迁移虚拟机后的物理节点的网络流量统计信息阈值信息,进而确定需要迁移的虚拟机,将该需要迁移的虚拟机作为待迁移虚拟机,对该待迁移虚拟机执行迁移。
在本实施例中,为了保障虚拟机迁移过程中对网络流量的要求,在对待迁移虚拟机执行迁移之前,需要对待迁移虚拟机列表中的虚拟机通信进行限流,如将该待迁移虚拟机列表中的所有虚拟机按照上述计算的差值由大到小依次排列,对依次排列后的前至少一个虚拟机的流量进行限制,对于限流措施,如可以限制该待迁移虚拟机列表中依次排列后的前N(N=1,2,3,…)个虚拟机的的流量,其目的是使得物理节点在虚拟机迁移过程中的当前实际物理网卡带宽占用量低于其最大物理网卡带宽量的70%。虚拟机迁移结束后,若之前限制流量的前N个虚拟机都被迁移,则不需要取消流量限制,若之前限制流量的前N个虚拟机中包括未迁移的虚拟机,则需要取消对未迁移虚拟机的流量限制。
在本实施例中,当确定了至少一个待迁移虚拟机后,对该至少一个待迁移虚拟机执行迁移,因此需要确定至少一个待迁移虚拟机的目标物理节点,增加网络条件过滤,防止将该至少一个待迁移虚拟机执行迁移后,使得迁入该至少一个待迁移虚拟机的物理节点的网络流量统计信息不满足阈值信息,故在执行迁移之前,获取其他物理节点的网络流量统计信息,根据其他物理节点的网络流量统计信息,选择满足虚拟机迁入条件的物理节点,使迁入虚拟机后的物理节点的网络流量统计信息仍满足阈值信息,即计算迁入该至少一个待迁移虚拟机后的物理节点的网络流量统计信息是否满足阈值信息,若低于,则可以将该物理节点作为该至少一个待迁移虚拟机执行迁移的目标物理节点,启动OpenStack已有的虚拟机动态迁移流程,但是在启动之前需要对虚拟机动态迁移流程中的目标物理节点的选择算法进行优化,使待迁移虚拟机可以迁入正确的物理节点,优化结束后,即可启动迁移流程对待迁移虚拟机执行迁移。
结合OpenStack框架和OpenStack提供的服务,根据物理节点的网络流量统计信息,以及物理节点内各个虚拟机的网络流量占用信息,判断是否需要对物理节点内的虚拟机进行迁移,克服了OpenStack现有迁移方式的不足,能动态监测虚拟机的网络流量占用情况,动态决策虚拟机的迁移,减少系统维护的人工参与度。通过获取并存储网络流量统计信息实现,实现对虚拟机网络流量占用情况的分析来决策是否触发虚拟机的动态迁移,以及对虚拟机网络流量的动态管控,此外,还可通过修改原有OpenStack主机选择算法,增加对网络的过滤条件,优化了虚拟机迁移时主机选择算法。
实施例二:
图2为本发明实施例二提供的虚拟机迁移决策装置的结构示意图,如图2所示,该虚拟机迁移决策装置包括:
获取模块1,用于获取物理节点的网络流量统计信息,以及所述物理节点内各个虚拟机的网络流量占用信息;
判断模块2,用于判断获取模块1获取的物理节点的网络流量统计信息是否满足阈值信息,阈值信息为物理节点正常工作下的流量信息;
确定模块3,用于若判断模块2判断为不满足,根据各个虚拟机预设的流量占用信息,分别确定各个虚拟机的网络流量占用信息与流量占用信息的差值;
迁移模块4,用于根据确定模块3确定的差值,对虚拟机执行迁移。
优选地,网络流量统计信息包括物理节点的当前实际物理网卡带宽占用量,确定模块3还用于根据物理节点的最大实际物理网卡带宽占用量,确定物理节点正常工作下的物理网卡带宽占用量,判断模块2具体用于判断物理节点的当前实际物理网卡带宽占用量是否满足物理节点正常工作下的物理网卡带宽占用量。
优选地,判断模块2还用于判断确定模块3确定的差值是否为正,迁移模块4具体用于对差值为正的至少一个虚拟机执行迁移。
优选地,网络流量占用信息包括虚拟机的当前实际出口带宽占用量;确定模块3包括设置子模块31、计算子模块32,设置子模块31用于分别预设各个虚拟机的最大出口带宽量,计算子模块32用于根据各个虚拟机预设的最大出口带宽量,分别计算各个虚拟机的当前实际出口带宽占用量与最大出口带宽量的差值。
优选地,还包括添加模块5,添加模块5用于将差值为正的虚拟机添加至待迁移虚拟机列表,确定模块3还用于在待迁移虚拟机列表中,确定至少一个需要迁移的虚拟机,使迁移至少一个需要迁移的虚拟机后的物理节点的网络流量统计信息满足阈值信息,迁移模块4具体用于将至少一个需要迁移的虚拟机作为待迁移虚拟机,对待迁移虚拟机执行迁移。
优选地,判断模块2还用于在待迁移虚拟机列表中,判断迁移差值最大的虚拟机后的物理节点的网络流量统计信息是否满足阈值信息,确定模块3具体用于若判断模块2判断为满足,则将差值最大的虚拟机确定为需要迁移的虚拟机,否则判断模块2还用于判断迁移差值最大的虚拟机以及差值次大的虚拟机后的物理节点的网络流量统计信息是否满足阈值信息,确定模块3具体用于若判断模块2判断为满足,则将差值最大的虚拟机以及差值次大的虚拟机确定为需要迁移的虚拟机,否则直到判断模块2判断出迁移虚拟机后的物理节点的网络流量统计信息满足阈值信息。
优选地,还包括排列模块6、限制模块7、取消模块8,排列模块6用于将待迁移虚拟机列表中的所有虚拟机按照所述差值由大到小依次排列,限制模块7用于对排列模块6依次排列后的前至少一个虚拟机的流量进行限制,取消模块8用于若前至少一个虚拟机中包括未迁移的虚拟机,则取消对未迁移虚拟机的流量限制。
优选地,还包括选择模块9,获取模块1还用于获取其他物理节点的网络流量统计信息,选择模块9用于根据获取模块1获取的其他物理节点的网络流量统计信息,选择满足虚拟机迁入条件的物理节点,使迁入虚拟机后的物理节点的网络流量统计信息仍满足阈值信息,将选择的物理节点作为至少一个虚拟机执行迁移的目标物理节点。
实施例三:
图3为本发明实施例三提供的虚拟机迁移决策装置的结构示意图,如图3所示,本实施例包含一个OpenStack控制节点A和多个OpenStack计算节点Bn。在该OpenStack控制器节点A中,增加了网络监测模块11、插件模块12,修改了网络组件模块13和迁移模块15,在该OpenStack的计算节点中,增加了数据代理模块22,修改了组件模块23。
S1:OpenStack计算节点B1上运行的交换机模块需要配置sflow(一种网络监测技术)统计收集功能,并将统计数据上报给OpenStack计算节点内部驻留的代理模块22,每个OpenStack计算节点的代理模块通过sflow对数据进行统计处理;
S2:代理模块22通过消息队列的方式上传处理后的统计数据到OpenStack控制节点A中的网络组件模块13;
S3:网络组件插件模块13负责将统计数据存储在数据库模块14中;
S4:网络监测模块11实时监测每个OpenStack计算节点上的网络利用情况,通过插件模块12提供的restAPI接口获取统计数据;
S5:插件模块12从数据库模块14中获取统计数据;
S6:网络监测模块11根据插件模块12返回的统计数据进行判断是否存在待迁移虚拟机,具体请参阅实施例一提供的虚拟机迁移决策方法;若存在,网络监测模块可通过restAPI调用的方式,调用网络组件模块13对虚拟机的流量进行限流;
S7:网络组件模块13通过消息通信的方式控制OpenStack计算节点上的组件模块23实现对虚拟机的限流;
S8:组件模块23通过调用交换机模块21的命令通过Openflowmeter的方式实现限流;
S9:网络监测模块11调用迁移模块15;
S10:迁移模块15在选择目标迁移主机时需要根据当前的网络状况做出选择,需要通过restAPI的方式调用网络组件模块13获取网络数据;
S11:网络组件模块13从数据库模块14获取统计数据;
S12:当迁移结束后,网络监测模块11需要调用网络组件模块13取消未被迁移的虚拟机的流量限制;
S13:网络组件模块13通过消息通信的方式控制OpenStack计算节点上的组件模块23实现取消虚拟机的限流;
S14:组件模块23通过调用交换机模块21的命令通过Openflowmeter的方式实现取消限流。
本实施例中的实现方法,相比于现有平台做了如下创新:
(1)引入网络数据统计,通过在OpenStack计算节点增加数据代理和在OpenStack控制节点增加网络数据插件,实现网络统计信息的收集和存储;
(2)通过在OpenStack控制节点增加网络监测模块,实现对虚拟机网络利用情况的分析来决策是否触发虚拟机的动态迁移,以及对虚拟机网络流量的动态管控;
(3)通过修改原有OpenStack主机选择算法,增加对网络的过滤条件,优化了虚拟机迁移时的主机选择算法。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (16)
1.一种虚拟机迁移决策方法,其特征在于,包括:
获取物理节点的网络流量统计信息,以及所述物理节点内各个虚拟机的网络流量占用信息;
判断所述物理节点的网络流量统计信息是否满足阈值信息,所述阈值信息为所述物理节点正常工作下的流量信息;
若不满足,根据所述各个虚拟机预设的流量占用信息,分别确定所述各个虚拟机的网络流量占用信息与流量占用信息的差值;
根据所述差值,对虚拟机执行迁移。
2.根据权利要求1所述的虚拟机迁移决策方法,其特征在于,所述网络流量统计信息包括所述物理节点的当前实际物理网卡带宽占用量;
所述判断所述物理节点的网络流量统计信息是否满足阈值信息,所述阈值信息为所述物理节点正常工作下的流量信息具体包括:
根据所述物理节点的最大实际物理网卡带宽占用量,确定所述物理节点正常工作下的物理网卡带宽占用量;
判断所述物理节点的当前实际物理网卡带宽占用量是否满足所述物理节点正常工作下的物理网卡带宽占用量。
3.根据权利要求1所述的虚拟机迁移决策方法,其特征在于,所述根据所述差值,对虚拟机执行迁移具体包括:
判断所述差值是否为正;
对所述差值为正的至少一个虚拟机执行迁移。
4.根据权利要求3所述的虚拟机迁移决策方法,其特征在于,所述网络流量占用信息包括所述虚拟机的当前实际出口带宽占用量;
所述根据所述各个虚拟机预设的流量占用信息,分别确定所述各个虚拟机的网络流量占用信息与流量占用信息的差值具体包括:
分别预设所述各个虚拟机的最大出口带宽量;
根据所述各个虚拟机预设的最大出口带宽量,分别计算所述各个虚拟机的当前实际出口带宽占用量与最大出口带宽量的差值。
5.根据权利要求3或4所述的虚拟机迁移决策方法,其特征在于,所述对所述差值为正的至少一个虚拟机执行迁移具体包括:
将所述差值为正的虚拟机添加至待迁移虚拟机列表;
在所述待迁移虚拟机列表中,确定至少一个需要迁移的虚拟机,使迁移所述至少一个需要迁移的虚拟机后的物理节点的网络流量统计信息满足所述阈值信息;
将所述至少一个需要迁移的虚拟机作为待迁移虚拟机,对所述待迁移虚拟机执行迁移。
6.根据权利要求5所述的虚拟机迁移决策方法,其特征在于,所述在所述待迁移虚拟机列表中,确定至少一个需要迁移的虚拟机,使迁移所述至少一个需要迁移的虚拟机后的物理节点的网络流量统计信息满足所述阈值信息具体包括:
在所述待迁移虚拟机列表中,判断迁移所述差值最大的虚拟机后的物理节点的网络流量统计信息是否满足所述阈值信息;
若满足,则将所述差值最大的虚拟机确定为需要迁移的虚拟机,否则判断迁移所述差值最大的虚拟机以及差值次大的虚拟机后的物理节点的网络流量统计信息是否满足所述阈值信息,若满足,则将所述差值最大的虚拟机以及差值次大的虚拟机确定为需要迁移的虚拟机,否则直到判断出迁移虚拟机后的物理节点的网络流量统计信息满足所述阈值信息。
7.根据权利要求5所述的虚拟机迁移决策方法,其特征在于,
在所述将所述至少一个需要迁移的虚拟机作为待迁移虚拟机,对所述待迁移虚拟机执行迁移之前,还包括:
将所述待迁移虚拟机列表中的所有虚拟机按照所述差值由大到小依次排列;
对所述依次排列后的前至少一个虚拟机的流量进行限制;
在所述将所述至少一个需要迁移的虚拟机作为待迁移虚拟机,对所述待迁移虚拟机执行迁移之后,还包括:
若所述前至少一个虚拟机中包括未迁移的虚拟机,则取消对所述未迁移虚拟机的流量限制。
8.根据权利要求1-4任一项所述的虚拟机迁移决策方法,其特征在于,在所述根据所述差值,对虚拟机执行迁移之前,还包括:
获取其他物理节点的网络流量统计信息;
根据所述其他物理节点的网络流量统计信息,选择满足虚拟机迁入条件的物理节点,使迁入虚拟机后的物理节点的网络流量统计信息仍满足所述阈值信息,将所述选择的物理节点作为所述至少一个虚拟机执行迁移的目标物理节点。
9.一种虚拟机迁移决策装置,其特征在于,包括:
获取模块,用于获取物理节点的网络流量统计信息,以及所述物理节点内各个虚拟机的网络流量占用信息;
判断模块,用于判断所述获取模块获取的物理节点的网络流量统计信息是否满足阈值信息,所述阈值信息为所述物理节点正常工作下的流量信息;
确定模块,用于若所述判断模块判断为不满足,根据所述各个虚拟机预设的流量占用信息,分别确定所述各个虚拟机的网络流量占用信息与流量占用信息的差值;
迁移模块,用于根据所述确定模块确定的差值,对虚拟机执行迁移。
10.根据权利要求9所述的虚拟机迁移决策装置,其特征在于,所述网络流量统计信息包括所述物理节点的当前实际物理网卡带宽占用量;
所述确定模块还用于根据所述物理节点的最大实际物理网卡带宽占用量,确定所述物理节点正常工作下的物理网卡带宽占用量;
所述判断模块具体用于判断所述物理节点的当前实际物理网卡带宽占用量是否满足所述物理节点正常工作下的物理网卡带宽占用量。
11.根据权利要求9所述的虚拟机迁移决策装置,其特征在于,
所述判断模块还用于判断所述确定模块确定的差值是否为正;
所述迁移模块具体用于对所述差值为正的至少一个虚拟机执行迁移。
12.根据权利要求11所述的虚拟机迁移决策装置,其特征在于,所述网络流量占用信息包括所述虚拟机的当前实际出口带宽占用量;
所述确定模块包括:
设置子模块,用于分别预设所述各个虚拟机的最大出口带宽量;
计算子模块,用于根据所述各个虚拟机预设的最大出口带宽量,分别计算所述各个虚拟机的当前实际出口带宽占用量与最大出口带宽量的差值。
13.根据权利要求11或12所述的虚拟机迁移决策装置,其特征在于,还包括:
添加模块,用于将所述差值为正的虚拟机添加至待迁移虚拟机列表;
所述确定模块还用于在所述待迁移虚拟机列表中,确定至少一个需要迁移的虚拟机,使迁移所述至少一个需要迁移的虚拟机后的物理节点的网络流量统计信息满足所述阈值信息;
所述迁移模块具体用于将所述至少一个需要迁移的虚拟机作为待迁移虚拟机,对所述待迁移虚拟机执行迁移。
14.根据权利要求13所述的虚拟机迁移决策装置,其特征在于,
所述判断模块还用于在所述待迁移虚拟机列表中,判断迁移所述差值最大的虚拟机后的物理节点的网络流量统计信息是否满足所述阈值信息;
所述确定模块具体用于若所述判断模块判断为满足,则将所述差值最大的虚拟机确定为需要迁移的虚拟机,否则所述判断模块还用于判断迁移所述差值最大的虚拟机以及差值次大的虚拟机后的物理节点的网络流量统计信息是否满足所述阈值信息,所述确定模块具体用于若所述判断模块判断为满足,则将所述差值最大的虚拟机以及差值次大的虚拟机确定为需要迁移的虚拟机,否则直到所述判断模块判断出迁移虚拟机后的物理节点的网络流量统计信息满足所述阈值信息。
15.根据权利要求13所述的虚拟机迁移决策装置,其特征在于,还包括:
排列模块,用于将所述待迁移虚拟机列表中的所有虚拟机按照所述差值由大到小依次排列;
限制模块,用于对所述排列模块依次排列后的前至少一个虚拟机的流量进行限制;
取消模块,用于若所述前至少一个虚拟机中包括未迁移的虚拟机,则取消对所述未迁移虚拟机的流量限制。
16.根据权利要求9-12任一项所述的虚拟机迁移决策装置,其特征在于,还包括:
所述获取模块还用于获取其他物理节点的网络流量统计信息;
选择模块,用于根据所述获取模块获取的其他物理节点的网络流量统计信息,选择满足虚拟机迁入条件的物理节点,使迁入虚拟机后的物理节点的网络流量统计信息仍满足所述阈值信息,将所述选择的物理节点作为所述至少一个虚拟机执行迁移的目标物理节点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410680289.6A CN105656969A (zh) | 2014-11-24 | 2014-11-24 | 一种虚拟机迁移决策方法及装置 |
PCT/CN2015/083192 WO2016082546A1 (zh) | 2014-11-24 | 2015-07-02 | 一种虚拟机迁移决策方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410680289.6A CN105656969A (zh) | 2014-11-24 | 2014-11-24 | 一种虚拟机迁移决策方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105656969A true CN105656969A (zh) | 2016-06-08 |
Family
ID=56073526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410680289.6A Withdrawn CN105656969A (zh) | 2014-11-24 | 2014-11-24 | 一种虚拟机迁移决策方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105656969A (zh) |
WO (1) | WO2016082546A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534318A (zh) * | 2016-11-15 | 2017-03-22 | 浙江大学 | 一种基于流量亲和性的OpenStack云平台资源动态调度系统和方法 |
WO2018001375A1 (zh) * | 2016-06-30 | 2018-01-04 | 中兴通讯股份有限公司 | 物理到虚拟的迁移方法、物理服务器、虚拟服务器及系统 |
CN108255575A (zh) * | 2017-12-06 | 2018-07-06 | 顺丰科技有限公司 | 一种虚拟机迁移方法及装置 |
CN108614726A (zh) * | 2018-03-22 | 2018-10-02 | 华为技术有限公司 | 虚拟机创建方法及装置 |
CN113259473A (zh) * | 2021-06-08 | 2021-08-13 | 广东睿江云计算股份有限公司 | 一种自适应云数据迁移的方法 |
CN114296868A (zh) * | 2021-12-17 | 2022-04-08 | 中电信数智科技有限公司 | 一种多云环境下基于用户体验的虚拟机自动迁移决策方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143324B (zh) * | 2019-12-20 | 2023-05-02 | 浪潮软件股份有限公司 | 一种kudu的基于大小的数据库数据均衡系统及实现方法 |
CN111478850B (zh) * | 2020-02-29 | 2022-07-12 | 新华三大数据技术有限公司 | 一种网关调整方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120324073A1 (en) * | 2011-06-17 | 2012-12-20 | International Business Machines Corporation | Virtual machine load balancing |
CN102929715A (zh) * | 2012-10-31 | 2013-02-13 | 曙光云计算技术有限公司 | 基于虚拟机迁移的网络资源调度方法和系统 |
CN103559084A (zh) * | 2013-10-17 | 2014-02-05 | 电子科技大学 | 一种节能数据中心的虚拟机迁移方法 |
CN103729252A (zh) * | 2013-12-20 | 2014-04-16 | 杭州华为数字技术有限公司 | 一种虚拟机调度的方法及调度监控器 |
CN104008018A (zh) * | 2014-05-22 | 2014-08-27 | 南京邮电大学 | 云计算环境下虚拟机在线迁移方法 |
-
2014
- 2014-11-24 CN CN201410680289.6A patent/CN105656969A/zh not_active Withdrawn
-
2015
- 2015-07-02 WO PCT/CN2015/083192 patent/WO2016082546A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120324073A1 (en) * | 2011-06-17 | 2012-12-20 | International Business Machines Corporation | Virtual machine load balancing |
CN102929715A (zh) * | 2012-10-31 | 2013-02-13 | 曙光云计算技术有限公司 | 基于虚拟机迁移的网络资源调度方法和系统 |
CN103559084A (zh) * | 2013-10-17 | 2014-02-05 | 电子科技大学 | 一种节能数据中心的虚拟机迁移方法 |
CN103729252A (zh) * | 2013-12-20 | 2014-04-16 | 杭州华为数字技术有限公司 | 一种虚拟机调度的方法及调度监控器 |
CN104008018A (zh) * | 2014-05-22 | 2014-08-27 | 南京邮电大学 | 云计算环境下虚拟机在线迁移方法 |
Non-Patent Citations (1)
Title |
---|
MAYANK MISHRA ET AL.: "Dynamic Resource Management Using Virtual Machine Migrations", 《IEEE COMMUNICATIONS MAGAZINE》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018001375A1 (zh) * | 2016-06-30 | 2018-01-04 | 中兴通讯股份有限公司 | 物理到虚拟的迁移方法、物理服务器、虚拟服务器及系统 |
CN106534318A (zh) * | 2016-11-15 | 2017-03-22 | 浙江大学 | 一种基于流量亲和性的OpenStack云平台资源动态调度系统和方法 |
CN106534318B (zh) * | 2016-11-15 | 2019-10-29 | 浙江大学 | 一种基于流量亲和性的OpenStack云平台资源动态调度系统和方法 |
CN108255575A (zh) * | 2017-12-06 | 2018-07-06 | 顺丰科技有限公司 | 一种虚拟机迁移方法及装置 |
CN108614726A (zh) * | 2018-03-22 | 2018-10-02 | 华为技术有限公司 | 虚拟机创建方法及装置 |
CN108614726B (zh) * | 2018-03-22 | 2022-06-10 | 华为云计算技术有限公司 | 虚拟机创建方法及装置 |
US11960915B2 (en) | 2018-03-22 | 2024-04-16 | Huawei Cloud Computing Technologies Co., Ltd. | Method and apparatus for creating virtual machine based on parameter information of a virtual network interface card |
CN113259473A (zh) * | 2021-06-08 | 2021-08-13 | 广东睿江云计算股份有限公司 | 一种自适应云数据迁移的方法 |
CN113259473B (zh) * | 2021-06-08 | 2021-11-05 | 广东睿江云计算股份有限公司 | 一种自适应云数据迁移的方法 |
CN114296868A (zh) * | 2021-12-17 | 2022-04-08 | 中电信数智科技有限公司 | 一种多云环境下基于用户体验的虚拟机自动迁移决策方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2016082546A1 (zh) | 2016-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105656969A (zh) | 一种虚拟机迁移决策方法及装置 | |
US10812395B2 (en) | System and method for policy configuration of control plane functions by management plane functions | |
US20150334002A1 (en) | Techniques for end-to-end network bandwidth optimization using software defined networking | |
CN104202264B (zh) | 云化数据中心网络的承载资源分配方法、装置及系统 | |
EP3247089B1 (en) | Method, apparatus and system for adjusting deployment position of virtual machine | |
CN102724103B (zh) | 代理服务器、分层次网络系统及分布式工作负载管理方法 | |
CN100473021C (zh) | 用于通过调节网络控制进行自动的系统管理的系统和方法 | |
CN109962856B (zh) | 资源分配方法、装置以及计算机可读存储介质 | |
CN102932175B (zh) | 划分节点分区的方法、装置及服务器 | |
CN104737504A (zh) | 在网络环境中有效使用流表空间的系统和方法 | |
CN107204894A (zh) | 网络业务质量的监控方法及装置 | |
CN105024842A (zh) | 服务器的扩容方法及装置 | |
CN106210129B (zh) | 一种基于Web服务器配置的限流方法及系统 | |
CN105871755A (zh) | 一种基于sdn的网络资源分配方法和系统 | |
CN112929187A (zh) | 网络切片管理方法、装置和系统 | |
CN103346978A (zh) | 一种虚拟机网络带宽公平性和稳定性保障方法 | |
CN109428950B (zh) | Ip地址池自动调度方法和系统 | |
CN111865681A (zh) | 核心网切片端到端的时延优化方法、系统与存储介质 | |
CN106059940A (zh) | 一种流量控制方法及装置 | |
CN116708304B (zh) | 数据传输路径的切换方法和装置、存储介质及电子设备 | |
CN104219768B (zh) | 一种用户业务差异化服务管理方法及装置 | |
CN105337866B (zh) | 一种流量切换方法及装置 | |
CN105812281B (zh) | 服务质量qos层级控制方法、装置及系统 | |
EP3485618A1 (en) | Device and method for managing end-to-end connections | |
CN104902570B (zh) | 一种信道动态配置方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20160608 |