一种虚拟机迁移决策方法及装置的制造方法

文档序号:9891507阅读:319来源:国知局
一种虚拟机迁移决策方法及装置的制造方法
【技术领域】
[0001]本发明涉及云计算和网络虚拟化领域,尤其涉及一种虚拟机迁移决策方法及装置。
【背景技术】
[0002]随着云计算技术和网络虚拟化技术的发展,OpenStack提供了一套部署云的操作平台或工具集,为云计算基础设施服务提供解决方案。OpenStack具有开源、互操作性、可移植性、易用性的特点,而且还提供开发的API (Applicat1n Programming Interface,应用程序编程接口),以便进行二次开发,能够方便地与其他系统进行集成,赢得业界越来越多的关注。
[0003]虚拟机的迁移是指将源物理主机上运行的虚拟机操作系统及应用程序移动到目标物理主机上,并且在目标主机上能够正常运行。OpenStack自带虚拟机的迁移功能,允许一个正在运行的虚拟机实例从一个计算节点迁移到另一个计算节点,但是虚拟机的迁移需要操作人员手动的在界面操作,因操作人员在虚拟机迁移时无法了解全网的网络利用情况,不明确如何迁移才能达到最优的效果,可能会出现迁移后网络出现更加拥塞的局面,所以目前的实现无法实现动态监测、动态决策、动态迁移的目的。

【发明内容】

[0004]本发明提供了一种虚拟机迁移决策方法及装置,解决了现有方案中因虚拟机迁移导致网络出现阻塞,且无法进行动态决策的问题。
[0005]为解决上述技术问题,本发明提供了一种虚拟机迁移决策方法,包括:
[0006]获取物理节点的网络流量统计信息,以及所述物理节点内各个虚拟机的网络流量占用息;
[0007]判断所述物理节点的网络流量统计信息是否满足阈值信息,所述阈值信息为所述物理节点正常工作下的流量信息;
[0008]若不满足,根据所述各个虚拟机预设的流量占用信息,分别确定所述各个虚拟机的网络流量占用信息与流量占用信息的差值;
[0009]根据所述差值,对虚拟机执行迁移。
[0010]在本发明的一种实施例中,所述网络流量统计信息包括所述物理节点的当前实际物理网卡带宽占用量;
[0011]所述判断所述物理节点的网络流量统计信息是否满足阈值信息,所述阈值信息为所述物理节点正常工作下的流量信息具体包括:
[0012]根据所述物理节点的最大实际物理网卡带宽占用量,确定所述物理节点正常工作下的物理网卡带宽占用量;
[0013]判断所述物理节点的当前实际物理网卡带宽占用量是否满足所述物理节点正常工作下的物理网卡带宽占用量。
[0014]在本发明的一种实施例中,所述根据所述差值,对虚拟机执行迁移具体包括:
[0015]判断所述差值是否为正;
[0016]对所述差值为正的至少一个虚拟机执行迁移。
[0017]在本发明的一种实施例中,所述网络流量占用信息包括所述虚拟机的当前实际出口带宽占用量;
[0018]所述根据所述各个虚拟机预设的流量占用信息,分别确定所述各个虚拟机的网络流量占用信息与流量占用信息的差值具体包括:
[0019]分别预设所述各个虚拟机的最大出口带宽量;
[0020]根据所述各个虚拟机预设的最大出口带宽量,分别计算所述各个虚拟机的当前实际出口带宽占用量与最大出口带宽量的差值。
[0021]在本发明的一种实施例中,所述对所述差值为正的至少一个虚拟机执行迁移具体包括:
[0022]将所述差值为正的虚拟机添加至待迁移虚拟机列表;
[0023]在所述待迁移虚拟机列表中,确定至少一个需要迁移的虚拟机,使迁移所述至少一个需要迁移的虚拟机后的物理节点的网络流量统计信息满足所述阈值信息;
[0024]将所述至少一个需要迁移的虚拟机作为待迁移虚拟机,对所述待迁移虚拟机执行迁移。
[0025]在本发明的一种实施例中,所述在所述待迁移虚拟机列表中,确定至少一个需要迁移的虚拟机,使迁移所述至少一个需要迁移的虚拟机后的物理节点的网络流量统计信息满足所述阈值信息具体包括:
[0026]在所述待迁移虚拟机列表中,判断迁移所述差值最大的虚拟机后的物理节点的网络流量统计信息是否满足所述阈值信息;
[0027]若满足,则将所述差值最大的虚拟机确定为需要迁移的虚拟机,否则判断迁移所述差值最大的虚拟机以及差值次大的虚拟机后的物理节点的网络流量统计信息是否满足所述阈值信息,若满足,则将所述差值最大的虚拟机以及差值次大的虚拟机确定为需要迁移的虚拟机,否则直到判断出迁移虚拟机后的物理节点的网络流量统计信息满足所述阈值信息。
[0028]在本发明的一种实施例中,
[0029]在所述将所述至少一个需要迁移的虚拟机作为待迁移虚拟机,对所述待迁移虚拟机执行迁移之前,还包括:
[0030]将所述待迁移虚拟机列表中的所有虚拟机按照所述差值由大到小依次排列;
[0031]对所述依次排列后的前至少一个虚拟机的流量进行限制;
[0032]在所述将所述至少一个需要迁移的虚拟机作为待迁移虚拟机,对所述待迁移虚拟机执行迁移之后,还包括:
[0033]若所述前至少一个虚拟机中包括未迁移的虚拟机,则取消对所述未迁移虚拟机的流量限制。
[0034]在本发明的一种实施例中,在所述根据所述差值,对虚拟机执行迁移之前,还包括:
[0035]获取其他物理节点的网络流量统计信息;
[0036]根据所述其他物理节点的网络流量统计信息,选择满足虚拟机迁入条件的物理节点,使迁入虚拟机后的物理节点的网络流量统计信息仍满足所述阈值信息,将所述选择的物理节点作为所述至少一个虚拟机执行迁移的目标物理节点。
[0037]本发明还提供一种虚拟机迁移决策装置,包括:
[0038]获取模块,用于获取物理节点的网络流量统计信息,以及所述物理节点内各个虚拟机的网络流量占用信息;
[0039]判断模块,用于判断所述获取模块获取的物理节点的网络流量统计信息是否满足阈值信息,所述阈值信息为所述物理节点正常工作下的流量信息;
[0040]确定模块,用于若所述判断模块判断为不满足,根据所述各个虚拟机预设的流量占用信息,分别确定所述各个虚拟机的网络流量占用信息与流量占用信息的差值;
[0041]迁移模块,用于根据所述确定模块确定的差值,对虚拟机执行迁移。
[0042]在本发明的一种实施例中,所述网络流量统计信息包括所述物理节点的当前实际物理网卡带宽占用量;
[0043]所述确定模块还用于根据所述物理节点的最大实际物理网卡带宽占用量,确定所述物理节点正常工作下的物理网卡带宽占用量;
[0044]所述判断模块具体用于判断所述物理节点的当前实际物理网卡带宽占用量是否满足所述物理节点正常工作下的物理网卡带宽占用量。
[0045]在本发明的一种实施例中,
[0046]所述判断模块还用于判断所述确定模块确定的差值是否为正;
[0047]所述迁移模块具体用于对所述差值为正的至少一个虚拟机执行迁移。
[0048]在本发明的一种实施例中,所述网络流量占用信息包括所述虚拟机的当前实际出口带宽占用量;
[0049]所述确定模块包括:
[0050]设置子模块,用于分别预设所述各个虚拟机的最大出口带宽量;
[0051]计算子模块,用于根据所述各个虚拟机预设的最大出口带宽量,分别计算所述各个虚拟机的当前实际出口带宽占用量与最大出口带宽量的差值。
[0052]在本发明的一种实施例中,还包括:
[0053]添加模块,用于将所述差值为正的虚拟机添加至待迁移虚拟机列表;
[0054]所述确定模块还用于在所述待迁移虚拟机列表中,确定至少一个需要迁移的虚拟机,使迁移所述至少一个需要迁移的虚拟机后的物理节点的网络流量统计信息满足所述阈值信息;
[0055]所述迁移模块具体用于将所述至少一个需要迁移的虚拟机作为待迁移虚拟机,对所述待迁移虚拟机执行迁移。
[0056]在本发明的一种实施例中,
[0057]所述判断模块还用于在所述待迁移虚拟机列表中,判断迁移所述差值最大的虚拟机后的物理节点的网络流量统计信息是否满足所述阈值信息;
[0058]所述确定模块具体用于若所述判断模块判断为满足,则将所述差值最大的虚拟机确定为需要迁移的虚拟机,否则所述判断模块还用于判断迁移所述差值最大的虚拟机以及差值次大的虚拟机后的物理节点的网络流量统计信息是否满足所述阈值信息,所述确定模块具体用于若所述判断模块判断为满足,则将所述差值最大的虚拟机以及差值次大的虚拟机确定为需要迁移的虚拟机,否则直到所述判断模块判断出迁移虚拟机后的物理节点的网络流量统计信息满足所述阈值信息。
[0059]在本发明的一种实施例中,还包括:
[0060]排列模块,用于将所述待迁移虚拟机列表中的所有虚拟机按照所述差值由大到小依次排列;
[0061]限制模块,用于对所述排列模块依次排列后的前至少一个虚拟机的流量进行限制;
[006
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1