负载均衡控制方法及管理节点的制作方法

文档序号:6626776阅读:154来源:国知局
负载均衡控制方法及管理节点的制作方法
【专利摘要】本发明实施例公开了负载均衡控制方法的管理节点,管理节点和多个物理主机包括在集群系统中,每一物理主机包括硬件层、运行在硬件层之上的宿主机以及运行在宿主机之上的虚拟机,方法包括:计算集群系统当前的综合负载均衡值;当综合负载均衡值大于均衡度阈值的情况下,分别基于计算资源维度和网络资源维度从集群系统内所有物理主机上运行的虚拟机中选择候选待迁移虚拟机加入候选虚拟机集;基于综合维度确定候选虚拟机集中的目标待迁移虚拟机及其所宿主的目标物理主机;综合维度包括计算资源维度和网络资源维度;通知目标待迁移虚拟机所宿主的源物理主机将目标待迁移虚拟机迁移至目标物理主机;源主机和目标物理主机均为集群系统中的物理主机。
【专利说明】负载均衡控制方法及管理节点

【技术领域】
[0001] 本发明涉及通信【技术领域】,具体涉及负载均衡控制方法及管理节点。

【背景技术】
[0002] 随着虚拟化、云计算的发展,云中心的使用日益广泛。云中心包含至少一个集群系 统,每一集群系统中包含管理节点和多个计算节点(或称为物理主机),每一物理主机上可 运行多台虚拟机。
[0003] 现有技术中多从计算资源维度(例如CPU利用率、内存利用率)判断集群系统是 否负载均衡,并在判决不均衡的情况下,在计算资源维度上选择影响负载均衡最大的虚拟 机进行迁移。但这种负载均衡控制方式只是基于计算资源维度来进行判决和调整,还存在 可优化的空间。


【发明内容】

[0004] 本发明实施例的目的在于提供负载均衡控制方法及管理节点,以提高负载均衡效 果。
[0005] 本发明实施例提供如下技术方案:
[0006] 根据本发明实施例的第一方面,提供一种负载均衡控制方法,应用于管理节点,其 中所述管理节点和多个物理主机包括在集群系统中,每一所述物理主机包括硬件层、运行 在所述硬件层之上的宿主机、以及运行在所述宿主机之上的虚拟机,所述方法包括:
[0007] 计算所述集群系统当前的综合负载均衡值;所述综合负载均衡值包括计算资源负 载均衡值和网络资源负载均衡值;其中,所述综合负载均衡值用于表示所述集群系统的综 合负载均衡状态,所述计算资源负载均衡值用于表示所述集群系统的计算资源负载均衡状 态,网络资源负载均衡值用于表示所述集群系统的网络资源负载均衡状态;
[0008] 当所述综合负载均衡值大于均衡度阈值的情况下,基于计算资源维度从所述集群 系统内所有物理主机上运行的虚拟机中选择候选待迁移虚拟机加入候选虚拟机集;以及,
[0009] 基于网络资源维度从所述集群系统内所有物理主机上运行的虚拟机中选择候选 待迁移虚拟机加入所述候选虚拟机集;
[0010] 基于综合维度确定所述候选虚拟机集中的目标待迁移虚拟机以及所述目标待迁 移虚拟机所宿主的目标物理主机;所述综合维度包括计算资源维度和网络资源维度;
[0011] 通知所述目标待迁移虚拟机所宿主的源物理主机将所述目标待迁移虚拟机迁移 至所述目标物理主机;所述源主机和目标物理主机均为所述集群系统中的物理主机。
[0012] 结合第一方面,在第一种可能的实现方式中,所述管理节点和所述多个物理主机 之间以及所述多个物理主机之间通过网络相通信,所述网络包含核心层和边缘层;其中,所 述边缘层中分布的交换机为边缘交换机,所述核心层中分布的交换机为核心交换机,所述 边缘交换机通过边缘链路与所述物理主机直接相连;任一所述核心交换机通过核心链路与 网络中的其他设备相连接;所述基于网络资源维度从所述集群系统内所有物理主机上运行 的虚拟机中选择候选待迁移虚拟机加入所述候选虚拟机集包括:从所述网络的所有边缘链 路中筛选出高带宽利用率的边缘链路;找出经由筛选出的高带宽利用率的边缘链路通信的 虚拟机对;将所述虚拟机对中加权通信路径最大的虚拟机对,加入所述候选虚拟机集,所述 加权通信路径用于反映对核心链路负载的影响。
[0013] 结合第一方面或第一种可能的实现方式,在第二种可能的实现方式中,所述集群 系统中的物理主机总数为M+1 ;所述候选虚拟机集中的候选待迁移虚拟机总数为N ;所述基 于综合维度确定所述候选虚拟机集中的目标待迁移虚拟机以及所述目标待迁移虚拟机的 目标物理主机包括:针对所述候选虚拟机集中的第i个候选待迁移虚拟机,分别计算所述 第i个候选待迁移虚拟机由源物理主机迁移至各侯选目标物理主机的集群系统综合影响 评估值,得到Μ个集群系统综合影响评估值;1 < i ;所述侯选目标物理主机为所述集群 系统中除第i个候选待迁移虚拟机所宿主的源物理主机外的其他Μ个物理主机;从所述Μ 个集群系统综合影响评估值中,选择最小的集群系统综合影响评估值作为所述第i个候选 待迁移虚拟机的集群系统综合影响度,所述集群系统综合影响度对应的侯选目标物理主机 为所述第i个候选待迁移虚拟机的目标物理主机;从所述候选虚拟机集的N个候选待迁移 虚拟机中,确定集群系统综合影响度最小的候选待迁移虚拟机为所述目标待迁移虚拟机; 所述集群系统综合影响评估值包含预测出的迁移代价值以及预测出的迁移后集群系统的 综合负载均衡值,所述迁移代价值用于表征虚拟机迁移操作对整个集群系统性能的影响。
[0014] 结合第一方面,在第三种可能的实现方式中,所述计算集群系统当前的综合负载 均衡值包括:根据当前计算资源性能数据和当前网络资源性能数据,计算所述当前的综合 负载均衡值;其中,所述当前计算资源性能数据包括:集群系统中当前各物理主机的CPU利 用率数据以及集群系统中当前各物理主机的内存利用率数据;所述当前网络资源性能数据 包括:集群系统中当前各链路的带宽利用率,集群系统中当前各虚拟机对之间的路径长度, 以及,集群系统中当前各虚拟机对之间的延迟时间。
[0015]结合第一方面第二种可能的实现方式,在第四种可能的实现方式中,所述预测出 的迁移后集群系统的综合负载均衡值根据如下方式计算:根据预测出的、迁移后的计算资 源性能数据,以及预测出的、迁移后的网络资源性能数据,计算预测出的迁移后集群系统的 综合负载均衡值;其中,所述预测出的、迁移后的计算资源性能数据包括:预测出的、迁移 后集群系统中各物理主机的CPU利用率数据以及集群系统中各物理主机的内存利用率数 据;所述预测出的、迁移后的网络资源性能数据包括:预测出的、迁移后集群系统中各链路 的带宽利用率,集群系统中各虚拟机对之间的路径长度,以及,集群系统中各虚拟机对之间 的延迟时间。
[0016]根据本发明实施例的第二方面,提供一种管理节点,用于包括多个物理主机和所 述管理节点的集群系统,所述多个物理主机中的每个物理主机包括硬件层、运行在所述硬 件层之上的宿主机、以及运行在所述宿主机之上的虚拟机;所述管理节点包括:
[0017]计算单元,用于计算所述集群系统当前的综合负载均衡值;所述综合负载均衡值 至少包括计算资源负载均衡值和网络资源负载均衡值;其中,所述综合负载均衡值用于表 示所述集群系统的综合负载均衡状态,所述计算资源负载均衡值用于表示所述集群系统的 计算资源负载均衡状态,网络资源负载均衡值用于表示所述集群系统的网络资源负载均衡 状态;
[0018] 选择单元,用于当所述综合负载均衡值大于均衡度阈值的情况下,基于计算资源 维度从所述集群系统内所有物理主机上运行的虚拟机中选择候选待迁移虚拟机加入候选 虚拟机集;以及,
[0019] 基于网络资源维度从所述集群系统内所有物理主机上运行的虚拟机中选择候选 待迁移虚拟机加入所述候选虚拟机集;
[0020] 目标待迁移虚拟机确定单元,用于基于综合维度确定所述候选虚拟机集中的目标 待迁移虚拟机以及所述目标待迁移虚拟机所宿主的目标物理主机;所述综合维度包括计算 资源维度和网络资源维度;
[0021] 迁移通知单元,用于通知所述目标待迁移虚拟机所宿主的源物理主机将所述目标 待迁移虚拟机迁移至所述目标物理主机;所述源主机和目标物理主机均为所述集群系统中 的物理主机。
[0022] 结合第二方面,在第一种可能的实现方式中,所述管理节点和所述多个物理主机 之间以及所述多个物理主机之间通过网络相通信,所述网络包含核心层和边缘层;其中,所 述边缘层中分布的交换机为边缘交换机,所述核心层中分布的交换机为核心交换机,所述 边缘交换机通过边缘链路与所述物理主机直接相连;任一所述核心交换机通过核心链路与 网络中的其他设备相连接;在所述基于网络资源维度从所述集群系统内所有物理主机上运 行的虚拟机中选择候选待迁移虚拟机加入所述候选虚拟机集的方面,所述选择单元用于: 从所述网络的所有边缘链路中筛选出高带宽利用率的边缘链路;找出经由所述筛选出的高 带宽利用率的边缘链路通信的虚拟机对;将所述虚拟机对中加权通信路径最大的虚拟机 对,加入所述候选虚拟机集,所述加权通信路径用于反映对核心链路负载的影响。
[0023] 结合第二方面或第一种可能的实现方式,在第二种可能的实现方式中,所述集群 系统中的物理主机总数为M+1 ;所述候选虚拟机集中的候选待迁移虚拟机总数为N ;在所 述基于综合维度确定所述候选虚拟机集中的目标待迁移虚拟机以及所述目标待迁移虚拟 机的目标物理主机的方面,所述目标待迁移虚拟机确定单元用于:针对所述候选虚拟机集 中的第i个候选待迁移虚拟机,分别计算所述第i个候选待迁移虚拟机由源物理主机迁移 至各侯选目标物理主机的集群系统综合影响评估值,得到Μ个集群系统综合影响评估值; 1< i < Ν ;所述侯选目标物理主机为所述集群系统中除第i个候选待迁移虚拟机所宿主的 源物理主机外的其他Μ个物理主机;从所述Μ个集群系统综合影响评估值中,选择最小的集 群系统综合影响评估值作为所述第i个候选待迁移虚拟机的集群系统综合影响度,所述集 群系统综合影响度对应的侯选目标物理主机为所述第i个候选待迁移虚拟机的目标物理 主机;从所述候选虚拟机集的N个候选待迁移虚拟机中,确定集群系统综合影响度最小的 候选待迁移虚拟机为所述目标待迁移虚拟机;所述集群系统综合影响评估值包含预测出的 迁移代价值以及预测出的迁移后集群系统的综合负载均衡值,所述迁移代价值用于表征虚 拟机迁移操作对整个集群系统性能的影响。
[0024] 根据本发明实施例的第三方面,提供一种管理节点,用于包括多个物理主机和所 述管理节点的集群系统,所述多个物理主机中的每个物理主机包括硬件层、运行在所述硬 件层之上的宿主机、以及运行在所述宿主机之上的虚拟机;所述管理节点包括硬件层、运行 在所述硬件层之上的宿主机Host、以及运行在所述Host之上的至少一个虚拟机;其中,所 述Host或虚拟机用于:
[0025]计算所述集群系统当前的综合负载均衡值;所述综合负载均衡值至少包括计算资 源负载均衡值和网络资源负载均衡值;其中,所述综合负载均衡值用于表示所述集群系统 的综合负载均衡状态,所述计算资源负载均衡值用于表示所述集群系统的计算资源负载均 衡状态,网络资源负载均衡值用于表示所述集群系统的网络资源负载均衡状态;
[0026]当所述综合负载均衡值大于均衡度阈值的情况下,基于计算资源维度从所述集群 系统内所有物理主机上运行的虚拟机中选择候选待迁移虚拟机加入候选虚拟机集;以及,
[0027] 基于网络资源维度从所述集群系统内所有物理主机上运行的虚拟机中选择候选 待迁移虚拟机加入所述候选虚拟机集;
[0028] 基于综合维度确定所述候选虚拟机集中的目标待迁移虚拟机以及所述目标待迁 移虚拟机所宿主的目标物理主机;所述综合维度包括计算资源维度和网络资源维度;
[0029] 通知所述目标待迁移虚拟机所宿主的源物理主机将所述目标待迁移虚拟机迁移 至所述目标物理主机;所述源主机和目标物理主机均为所述集群系统中的物理主机。
[0030] 结合第三方面,在第一种可能的实现方式中,所述管理节点和所述多个物理主机 之间以及所述多个物理主机之间通过网络相通信,所述网络包含核心层和边缘层;其中,所 述边缘层中分布的交换机为边缘交换机,所述核心层中分布的交换机为核心交换机,所述 边缘交换机通过边缘链路与所述物理主机直接相连;任一所述核心交换机通过核心链路与 网络中的其他设备相连接;在所述基于网络资源维度从所述集群系统内所有物理主机上运 行的虚拟机中选择候选待迁移虚拟机加入所述候选虚拟机集的方面,所述Host或虚拟机 用于:从所述网络的所有边缘链路中筛选出高带宽利用率的边缘链路;找出经由所述筛选 出的高带宽利用率的边缘链路通信的虚拟机对;将所述虚拟机对中加权通信路径最大的虚 拟机对,加入所述候选虚拟机集,所述加权通信路径用于反映对核心链路负载的影响。
[0031] 结合第三方面或第一种可能的实现方式,在第二种可能的实现方式中,所述集群 系统中的物理主机总数为M+1 ;所述候选虚拟机集中的候选待迁移虚拟机总数为N ;在所述 基于综合维度确定所述候选虚拟机集中的目标待迁移虚拟机以及所述目标待迁移虚拟机 的目标物理主机的方面,所述Host或虚拟机用于:针对所述候选虚拟机集中的第i个候选 待迁移虚拟机,分别计算所述第i个候选待迁移虚拟机由源物理主机迁移至各侯选目标物 理主机的集群系统综合影响评估值,得到Μ个集群系统综合影响评估值;1 < i ;所述侯 选目标物理主机为所述集群系统中除第i个候选待迁移虚拟机所宿主的源物理主机外的 其他Μ个物理主机;从所述Μ个集群系统综合影响评估值中,选择最小的集群系统综合影响 评估值作为所述第i个候选待迁移虚拟机的集群系统综合影响度,所述集群系统综合影响 度对应的侯选目标物理主机为所述第i个候选待迁移虚拟机的目标物理主机;从所述候选 虚拟机集的N个候选待迁移虚拟机中,确定集群系统综合影响度最小的候选待迁移虚拟机 为所述目标待迁移虚拟机;所述集群系统综合影响评估值包含预测出的迁移代价值以及预 测出的迁移后集群系统的综合负载均衡值,所述迁移代价值用于表征虚拟机迁移操作对整 个集群系统性能的影响。
[0032] 可见,在本发明实施例中,管理节点是基于计算资源维度(计算资源负载均衡值) 和网络资源维度(网络资源负载均衡值)综合计算负载均衡值的。在综合负载均衡值大于 均衡度阈值,又分别基于计算资源维度和网络资源维度选择候选待迁移虚拟机,之后再基 于综合维度确定目标待迁移虚拟机及其目标物理主机进行迁移。因此,本发明实施例是综 合各维度来进行负载均衡控制的。与基于计算资源维度来进行判决和调整的现有技术相 t匕,本发明实施例所涉及维度更全面,达到的负载均衡效果也相对更好。

【专利附图】

【附图说明】
[0033]为了更清楚地说明本发明实施例技术方案,下面将对实施例和现有技术描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其它的附图。
[0034]图1和2是本发明实施例提供的集群系统结构示意图;
[0035]图3是本发明实施例提供的负载均衡控制方法流程图;
[0036]图4是本发明实施例提供的目标待迁移虚拟机迁移示意图;
[0037]图5a-5d是本发明实施例提供的网络拓扑示意图;
[0038]图6是本发明实施例提供的负载均衡控制方法另一流程图;
[0039]图7a_7b是本发明实施例提供的路径长度示意图;
[0040]图8是本发明实施例提供的负载均衡控制方法又一流程图;
[0041]图9a和图9b是本发明实施例提供的管理节点结构示意图;
[0042]图10是本发明实施例提供的数据中心结构示意图;
[0043]图11a是本发明实施例提供的负载均衡控制装置结构示意图;
[0044]图lib是本发明实施例的管理节点上部署的负载均衡装置的结构示意图;
[0045]图12至图14是本发明实施例提供的管理节点结构示意图。

【具体实施方式】
[0046]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅 仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术 人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 [0047]为了方便理解本发明实施例,首先在此介绍本发明实施例所应用的系统以及描述 中会引入的几个要素。
[0048]本发明实施例技术方案,应用于虚拟化集群系统(简称虚拟化集群或集群系统或 集群),如图1所示,集群系统可包括管理节点和物理主机(计算节点);管理节点可以有一 个或多个,例如可以是两个,分为主管理节点和备管理节点(请参见图2);计算节点可以有 多个。
[0049] 所说的管理节点和计算节点都是计算机设备,管理节点也可称为管理服务器,计 算节点也可称为物理主机。
[0050] 其中,任一物理主机可包括硬件层、运行在硬件层之上的宿主机、以及运行在宿主 机之上的至少一个虚拟机(VM)。
[0051] 上述硬件层可包括网卡,处理器和内存等。
[0052] 下面详细说明:虚拟机VM :通过虚拟化软件可以在一台物理主机上模拟出一台或 者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装 操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚 拟机就像是在真正的计算机中进行工作。
[0053]硬件层:虚拟化环境运行的硬件平台。其中,硬件层可包括多种硬件,例如某物理 主机的硬件层可包括处理器(例如CPU)和内存,还可以包括网卡(例如RDMA网卡)、存储 器等等咼速/低速输入/输出(1/0,I叩ut/Output)设备,及具有特定处理功能的其它设 备。
[0054]宿主机(Host):作为管理层,用以完成硬件资源的管理、分配;为虚拟机呈现虚拟 硬件平台;实现虚拟机的调度和隔离。其中,Host可能是虚拟机监控器(VMM);此外,有时 VMM和1个特权虚拟机配合,两者结合组成Host。其中,虚拟硬件平台对其上运行的各个 虚拟机提供各种硬件资源,如提供虚拟处理器(如VCPU)、虚拟内存、虚拟磁盘、虚拟网卡等 等。虚拟磁盘可对应Host的一个文件或者一个逻辑块设备。
[0055] 虚拟机运行在Host为其准备的虚拟硬件平台上,Host上可运行一个或多个虚拟 机。
[0056] 下面将结合图1和图2来详细说明本发明技术方案。
[0057]本发明实施例所提供的负载均衡控制方法的执行主体可为管理节点(尤其是主 用管理节点)。其中管理节点和多个物理主机包括在集群系统中,每一物理主机包括硬件 层、运行在硬件层之上的宿主机、以及运行在宿主机之上的虚拟机。
[0058]请参见图3,由管理节点执行的负载均衡控制方法至少可包括如下步骤:
[0059] S1、计算集群系统当前的综合负载均衡值。
[0060]综合负载均衡值用于综合衡量集群系统整体上负载是否均衡,或者说,综合负载 均衡值用于表示集群系统的综合负载均衡状态。当前的综合负载均衡值越小,表征集群系 统当前整体上负载越趋于均衡。
[0061] 其中,上述综合负载均衡值可至少包括计算资源负载均衡值和网络资源负载均衡 值。相应的,计算资源负载均衡值用于表示集群系统的计算资源负载均衡状态,而网络资源 负载均衡值用于表示集群系统的网络资源负载均衡状态。
[0062] 本文后续将介绍如何计算综合负载均衡值。
[0063] S2、当上述综合负载均衡值大于均衡度阈值时,基于计算资源维度从该集群系统 内所有物理主机上运行的虚拟机中选择候选待迁移虚拟机加入候选虚拟机集。
[0064] 也即,选择出的候选待迁移虚拟机分布运行在上述集群系统中的部分或全部物理 主机上。
[0065] 均衡度阈值可依不同场景进行设计,在此不作赘述。
[0066] 计算资源维度可涉及CHJ利用率和/或内存利用率。本领域技术人员可遵循现有 的基于计算资源维度的选择方式来选择候选待迁移虚拟机。例如,选择(PU利用率和内存 利用率均较高的虚拟机作为候选待迁移虚拟机,或者,选择CPU利用率和内存利用率非零 且最低的虚拟机作为候选待迁移虚拟机等等,在此不作赘述。
[0067] 候选虚拟机集的表现形式可为候选虚拟机列表。
[0068] S3、基于网络资源维度从该集群系统内所有物理主机上运行的虚拟机中选择候选 待迁移虚拟机加入上述候选虚拟机集。
[0069]也即,选择出的候选待迁移虚拟机分布运行在上述集群系统中的部分或全部物理 主机上。
[0070]其中,网络资源维度可涉及带宽利用率、流量、虚拟机对之间的路径长度、虚拟机 对之间的延迟时间等中的至少一种。本文后续将对如何基于网络资源维度选择候选待迁移 虚拟机进行详细介绍。
[0071]需要说明的是,步骤S3也是在集群系统当前的综合负载均衡值大于均衡度阈值 的情况下执行的。步骤S2和S3可并列执行;或步骤S2先执行,步骤S3后执行;反之,也可 先执行步骤S3,再执行步骤S2。
[0072] S4、基于综合维度确定上述候选虚拟机集中的目标待迁移虚拟机,以及目标待迁 移虚拟机的目标物理主机。其中,综合维度包括计算资源维度和网络资源维度。
[0073] 本文后续将介绍如何确定目标待迁移虚拟机及其目标物理主机。
[0074] S5、通知目标待迁移虚拟机所宿主的源物理主机将上述目标待迁移虚拟机迁移至 上述目标物理主机。
[0075]请参见图4,假定目标待迁移虚拟机为物理主机100 (源物理主机)上的虚拟机 vml,目标物理主机为物理主机200。
[0076] 在步骤S5中,会通知物理主机100,将物理主机1〇〇上的虚拟机vml迁移至物理主 机200上的虚拟机vm2运行。
[0077] 在迁移过程中,需要进行CPU迁移,此外,还需要将目标待迁移虚拟机对应的内存 页迁移至目标物理主机上。
[0078] 可见,在本发明实施例中,管理节点是基于计算资源维度(计算资源负载均衡值) 和网络资源维度(网络资源负载均衡值)综合计算负载均衡值的。在综合负载均衡值大于 均衡度阈值,又分别基于计算资源维度和网络资源维度选择候选待迁移虚拟机,之后再基 于综合维度确定目标待迁移虚拟机及其目标物理主机进行迁移。因此,本发明实施例是综 合各维度来进行负载均衡控制的。与基于计算资源维度来进行判决和调整的现有技术相 比,本发明实施例所涉及维度更全面,达到的负载均衡效果也相对更好。
[0079] 上述管理节点和多个物理主机之间以及多个物理主机之间一般需要通过网络相 通信。
[0080] 上述网络一般为树状拓扑结构,可包含核心层和边缘层(有时也包含汇聚层,位 于边缘层与核心层之间)。核心层和边缘层中均部署有交换机。如图5a-5d所示(图5b-5d 并未画出虚拟机),圆形设备表不交换机(也可以switch表示),方形设备表示物理主机 (也可以host表示),物理主机上运行的虚拟机以符号vm表示。
[0081] 物理主机与交换机可构成多种网络拓扑结构。图5a_5d分别为Tree、VL2、 Fat-Tree、BCube 拓朴结构。
[0082] 边缘层中分布的交换机为边缘交换机,核心层中分布的交换机为核心交换机。仍 以图5a为例,图5a是典型的拓朴结构,其中,switchl-8为核心交换机,属于聚合层(核心 层);switch9-12为边缘交换机,属于边缘层。
[0083] 由图可见,边缘交换机通过边缘链路与物理主机直接相连。例如,图5a中的 switch9-12可与hostl-8之间共通过8条边缘链路相连。
[0084] 而任一核心交换机则通过核心链路与网络中的其他设备相连接。仍以图5a所示 拓扑结构为例,switchl-4与switch 5-8之间共通过8条核心链路相连,同时,switch5-8与 switch9-12之间共通过8条核心链路相连,因此,图5a中一共包含16条核心链路。
[0085]需要说明的是,图5d所示拓扑结构只有边缘链路而无核心链路。
[0086] 集群系统中物理主机(虚拟机)之间的通信,可能会占用到核心链路的带宽。例 如,仍以图5a为例,hostl (上的虚拟机)与host3(上的虚拟机)通信,需要核心链路转发 数据,从而占用核心链路的带宽。
[0087] 现有的负载均衡控制方式中,并未考虑网络维度(例如带宽)方面,这可能造成虚 拟机迁移后,网络性能下降。
[0088] 例如,vml与vm3之间有大量通信,现有方式若判定vml所在物理主机(hostl)在 计算资源维度方面负载很重,其可能将hostl上运行的vml迁移至host7上运行。
[0089] 在迁移之前,vml与vm3之间只需要通过边缘交换机(Switch9)就可实现通信,而 在迁移至host7后,由于host7上的虚拟机与host3上的虚拟机均需要经过核心链路转发 数据才可实现通信,迁移后反而占用了核心链路的带宽,加重了整个网络的开销。
[0090] 因此,在选择候选待迁移虚拟机时,就需要考虑网络资源维度。而在确定目标待迁 移虚拟机及其目标物理主机时,也需要考虑网络资源维度。
[0091] 下面,本文将详细介绍如何基于网络资源维度选择候选待迁移虚拟机加入候选虚 拟机集。
[0092] 请参见图6,其进一步可包括如下步骤:
[0093] S31、从网络(边缘层)的所有边缘链路中筛选出高带宽利用率的边缘链路。
[0094] 更具体的,可将边缘链路中带宽利用率最高的边缘链路筛选为高带宽利用率的边 缘链路。
[0095] 或者,也可将带宽利用率高于某一阈值的边缘链路确定为高带宽利用率的边缘链 路。例如,阈值为60%,8条边缘链路中共有3条链路的带宽利用率超过60%,则将这3条 边缘链路均作为高带宽利用率的边缘链路。
[0096] S32、找出经由筛选出的高带宽利用率的边缘链路通信(有通信流量)的虚拟机 对。
[0097] 所找出的虚拟机对中,其中一个虚拟机所宿主的物理主机与上述筛选出的高带宽 利用率的边缘链路相连接,另外一个虚拟机宿主在其他物理主机上。
[0098] 需要说明的是,同一物理主机上的虚拟机之间即使有通信,由于没占用外部的带 宽,所以认为没通信流量。
[0099] 例如,图5a中的虚拟机vml和vm2运行在同一物理主机上,二者之间的通信不占 用外部带宽,二者之间无通信流量。
[0100] 而图5a中的虚拟机vml和vm3运行在不同的物理主机上,二者之间通信,需占用 外部带宽(参见图5a中加粗的链路),认为有通信流量。
[0101] 举例来讲,假定图5a中,hostl与switch9之间的边缘链路为高带宽利用率边缘 链路,hostl上运行vml和vm2。则将查找其他物理主机(host2-8)上与vml有通信流量的 虚拟机,以及,查找其他物理主机(h〇st2-8)上与vm2有通信流量的虚拟机。
[0102] 假设,host2-8上与vml有通信流量的虚拟机分别为vm3、vm5和vm7,与vm2有通 信流量的虚拟机分别为vm4、vm6和vm8。则有如下虚拟机对:vml-vm3、vml-vm5、vml-vm7、 vm2-vm4、vm2-vm6、vm2_vm8〇
[0103] S33、将上述虚拟机对中加权通信路径最大的虚拟机对,加入上述候选虚拟机集。
[0104] 上述加权通信路径用于反映对核心链路负载的影响。
[0105] 更具体的,如以vnij和vmk表示虚拟机对中的两个虚拟机;δ j k表示vmj和Vmk 之间的路径长度;λ j k表示vmj和vmk之间的路径长度权重,则加权通信路径可表示为 λ j,kX δ j,k。
[0106] δ j k与虚拟机对之间通信所经由的链路的路径长度相关。最简单的,请参见图7a, 可将每一链路的路径长度均设为1。以vml-vm3为例,其路径长度δ u为2。而vml-vm5之 间的路径长度Si 5为4。
[0107] 或者,请参见图7b,可将边缘链路的路径长度均设为1,核心链路的路径长度设为 2,则vml- vra5之间的路径长度δ 15为1+2+2+1 = 6。本领域技术人员可根据实际需要进行 设计,在此不作赘述。
[0108] 对于λ j k,可设计虚拟机对之间有通信流量时为1,无通信流量时为0。
[0109] 或者,可设计λ 与带宽利用率相关,带宽利用率越高,λ u的取值越大。
[0110] 由于虚拟对之间通信可通过边缘链路或者边缘链路和核心链路实现,因此,进一 步的,可设计A jk仅与相关的边缘链路的带宽利用率呈比例关系,也可设计Ajk与vmj和 vmk之间的整条链路(包含边缘链路和核心链路)的带宽利用率呈比例关系。整条链路的 带宽利用率可通过多种现有的计算方式计算得出,在此不作赘述。
[0111] 在本发明其他实施例中,在步骤S31之前,还可包括如下步骤:
[0112] 构造虚拟机之间的通信矩阵。
[0113] 若一个集群系统中运行N台虚拟机,则通信矩阵为NXN矩阵。
[0114] 通信矩阵表征了虚拟机对之间的网络性能数据,例如其可表征虚拟机对之间有无 流量,或者,表征虚拟机对之间通信所使用的带宽。
[0115] 通信矩阵可以表格的方式记录。
[0116]以集群系统中运行三台虚拟机为例,其对应的通信矩阵可参见下表。
[0117]

【权利要求】
1. 一种负载均衡控制方法,其特征在于,应用于管理节点,其中所述管理节点和多个物 理主机包括在集群系统中,每一所述物理主机包括硬件层、运行在所述硬件层之上的宿主 机、以及运行在所述宿主机之上的虚拟机,所述方法包括: 计算所述集群系统当前的综合负载均衡值;所述综合负载均衡值包括计算资源负载均 衡值和网络资源负载均衡值;其中,所述综合负载均衡值用于表示所述集群系统的综合负 载均衡状态,所述计算资源负载均衡值用于表示所述集群系统的计算资源负载均衡状态, 网络资源负载均衡值用于表示所述集群系统的网络资源负载均衡状态; 当所述综合负载均衡值大于均衡度阈值的情况下,基于计算资源维度从所述集群系统 内所有物理主机上运行的虚拟机中选择候选待迁移虚拟机加入候选虚拟机集;以及, 基于网络资源维度从所述集群系统内所有物理主机上运行的虚拟机中选择候选待迁 移虚拟机加入所述候选虚拟机集; 基于综合维度确定所述候选虚拟机集中的目标待迁移虚拟机以及所述目标待迁移虚 拟机所宿主的目标物理主机;所述综合维度包括计算资源维度和网络资源维度; 通知所述目标待迁移虚拟机所宿主的源物理主机将所述目标待迁移虚拟机迁移至所 述目标物理主机;所述源主机和目标物理主机均为所述集群系统中的物理主机。
2. 如权利要求1所述的负载均衡控制方法,其特征在于, 所述管理节点和所述多个物理主机之间以及所述多个物理主机之间通过网络相通信, 所述网络包含核心层和边缘层;其中,所述边缘层中分布的交换机为边缘交换机,所述核 心层中分布的交换机为核心交换机,所述边缘交换机通过边缘链路与所述物理主机直接相 连;任一所述核心交换机通过核心链路与网络中的其他设备相连接; 所述基于网络资源维度从所述集群系统内所有物理主机上运行的虚拟机中选择候选 待迁移虚拟机加入所述候选虚拟机集包括: 从所述网络的所有边缘链路中筛选出高带宽利用率的边缘链路; 找出经由筛选出的高带宽利用率的边缘链路通信的虚拟机对; 将所述虚拟机对中加权通信路径最大的虚拟机对,加入所述候选虚拟机集,所述加权 通信路径用于反映对核心链路负载的影响。
3. 如权利要求1或2所述的负载均衡控制方法,其特征在于,所述集群系统中的物理主 机总数为M+1 ;所述候选虚拟机集中的候选待迁移虚拟机总数为N ; 所述基于综合维度确定所述候选虚拟机集中的目标待迁移虚拟机以及所述目标待迁 移虚拟机的目标物理主机包括: 针对所述候选虚拟机集中的第i个候选待迁移虚拟机,分别计算所述第i个候选待迁 移虚拟机由源物理主机迁移至各侯选目标物理主机的集群系统综合影响评估值,得到Μ个 集群系统综合影响评估值;1 < i < Ν ;所述侯选目标物理主机为所述集群系统中除第i个 候选待迁移虚拟机所宿主的源物理主机外的其他Μ个物理主机; 从所述Μ个集群系统综合影响评估值中,选择最小的集群系统综合影响评估值作为所 述第i个候选待迁移虚拟机的集群系统综合影响度,所述集群系统综合影响度对应的侯选 目标物理主机为所述第i个候选待迁移虚拟机的目标物理主机; 从所述候选虚拟机集的N个候选待迁移虚拟机中,确定集群系统综合影响度最小的候 选待迁移虚拟机为所述目标待迁移虚拟机; 所述集群系统综合影响评估值包含预测出的迁移代价值以及预测出的迁移后集群系 统的综合负载均衡值,所述迁移代价值用于表征虚拟机迁移操作对整个集群系统性能的影 响。
4. 如权利要求1所述的负载均衡控制方法,其特征在于,所述计算集群系统当前的综 合负载均衡值包括: 根据当前计算资源性能数据和当前网络资源性能数据,计算所述当前的综合负载均衡 值; 其中,所述当前计算资源性能数据包括:集群系统中当前各物理主机的CPU利用率数 据以及集群系统中当前各物理主机的内存利用率数据;所述当前网络资源性能数据包括: 集群系统中当前各链路的带宽利用率,集群系统中当前各虚拟机对之间的路径长度,以及, 集群系统中当前各虚拟机对之间的延迟时间。
5. 如权利要求3所述的负载均衡控制方法,其特征在于,所述预测出的迁移后集群系 统的综合负载均衡值根据如下方式计算: 根据预测出的、迁移后的计算资源性能数据,以及预测出的、迁移后的网络资源性能数 据,计算预测出的迁移后集群系统的综合负载均衡值; 其中,所述预测出的、迁移后的计算资源性能数据包括:预测出的、迁移后集群系统中 各物理主机的CPU利用率数据以及集群系统中各物理主机的内存利用率数据;所述预测出 的、迁移后的网络资源性能数据包括:预测出的、迁移后集群系统中各链路的带宽利用率, 集群系统中各虚拟机对之间的路径长度,以及,集群系统中各虚拟机对之间的延迟时间。
6. -种管理节点,其特征在于,用于包括多个物理主机和所述管理节点的集群系统,所 述多个物理主机中的每个物理主机包括硬件层、运行在所述硬件层之上的宿主机、以及运 行在所述宿主机之上的虚拟机;所述管理节点包括: 计算单元,用于计算所述集群系统当前的综合负载均衡值;所述综合负载均衡值至少 包括计算资源负载均衡值和网络资源负载均衡值;其中,所述综合负载均衡值用于表示所 述集群系统的综合负载均衡状态,所述计算资源负载均衡值用于表示所述集群系统的计算 资源负载均衡状态,网络资源负载均衡值用于表示所述集群系统的网络资源负载均衡状 态; 选择单元,用于当所述综合负载均衡值大于均衡度阈值的情况下,基于计算资源维度 从所述集群系统内所有物理主机上运行的虚拟机中选择候选待迁移虚拟机加入候选虚拟 机集;以及, 基于网络资源维度从所述集群系统内所有物理主机上运行的虚拟机中选择候选待迁 移虚拟机加入所述候选虚拟机集; 目标待迁移虚拟机确定单元,用于基于综合维度确定所述候选虚拟机集中的目标待迁 移虚拟机以及所述目标待迁移虚拟机所宿主的目标物理主机;所述综合维度包括计算资源 维度和网络资源维度; 迁移通知单元,用于通知所述目标待迁移虚拟机所宿主的源物理主机将所述目标待迁 移虚拟机迁移至所述目标物理主机;所述源主机和目标物理主机均为所述集群系统中的物 理主机。
7. 如权利要求6所述的管理节点,其特征在于, 所述管理节点和所述多个物理主机之间以及所述多个物理主机之间通过网络相通信, 所述网络包含核心层和边缘层;其中,所述边缘层中分布的交换机为边缘交换机,所述核 心层中分布的交换机为核心交换机,所述边缘交换机通过边缘链路与所述物理主机直接相 连;任一所述核心交换机通过核心链路与网络中的其他设备相连接; 在所述基于网络资源维度从所述集群系统内所有物理主机上运行的虚拟机中选择候 选待迁移虚拟机加入所述候选虚拟机集的方面,所述选择单元用于: 从所述网络的所有边缘链路中筛选出高带宽利用率的边缘链路; 找出经由所述筛选出的高带宽利用率的边缘链路通信的虚拟机对; 将所述虚拟机对中加权通信路径最大的虚拟机对,加入所述候选虚拟机集,所述加权 通信路径用于反映对核心链路负载的影响。
8. 如权利要求6或7所述的管理节点,其特征在于, 所述集群系统中的物理主机总数为M+1 ;所述候选虚拟机集中的候选待迁移虚拟机总 数为N ; 在所述基于综合维度确定所述候选虚拟机集中的目标待迁移虚拟机以及所述目标待 迁移虚拟机的目标物理主机的方面,所述目标待迁移虚拟机确定单元用于: 针对所述候选虚拟机集中的第i个候选待迁移虚拟机,分别计算所述第i个候选待迁 移虚拟机由源物理主机迁移至各侯选目标物理主机的集群系统综合影响评估值,得到Μ个 集群系统综合影响评估值;1 < i < Ν ;所述侯选目标物理主机为所述集群系统中除第i个 候选待迁移虚拟机所宿主的源物理主机外的其他Μ个物理主机; 从所述Μ个集群系统综合影响评估值中,选择最小的集群系统综合影响评估值作为所 述第i个候选待迁移虚拟机的集群系统综合影响度,所述集群系统综合影响度对应的侯选 目标物理主机为所述第i个候选待迁移虚拟机的目标物理主机; 从所述候选虚拟机集的N个候选待迁移虚拟机中,确定集群系统综合影响度最小的候 选待迁移虚拟机为所述目标待迁移虚拟机; 所述集群系统综合影响评估值包含预测出的迁移代价值以及预测出的迁移后集群系 统的综合负载均衡值,所述迁移代价值用于表征虚拟机迁移操作对整个集群系统性能的影 响。
9. 一种管理节点,其特征在于,用于包括多个物理主机和所述管理节点的集群系统,所 述多个物理主机中的每个物理主机包括硬件层、运行在所述硬件层之上的宿主机、以及运 行在所述宿主机之上的虚拟机;所述管理节点包括硬件层、运行在所述硬件层之上的宿主 机Host、以及运行在所述Host之上的至少一个虚拟机;其中,所述Host或虚拟机用于: 计算所述集群系统当前的综合负载均衡值;所述综合负载均衡值至少包括计算资源负 载均衡值和网络资源负载均衡值;其中,所述综合负载均衡值用于表示所述集群系统的综 合负载均衡状态,所述计算资源负载均衡值用于表示所述集群系统的计算资源负载均衡状 态,网络资源负载均衡值用于表示所述集群系统的网络资源负载均衡状态; 当所述综合负载均衡值大于均衡度阈值的情况下,基于计算资源维度从所述集群系统 内所有物理主机上运行的虚拟机中选择候选待迁移虚拟机加入候选虚拟机集;以及, 基于网络资源维度从所述集群系统内所有物理主机上运行的虚拟机中选择候选待迁 移虚拟机加入所述候选虚拟机集; 基于综合维度确定所述候选虚拟机集中的目标待迁移虚拟机以及所述目标待迁移虚 拟机所宿主的目标物理主机;所述综合维度包括计算资源维度和网络资源维度; 通知所述目标待迁移虚拟机所宿主的源物理主机将所述目标待迁移虚拟机迁移至所 述目标物理主机;所述源主机和目标物理主机均为所述集群系统中的物理主机。
10. 如权利要求9所述的管理节点,其特征在于, 所述管理节点和所述多个物理主机之间以及所述多个物理主机之间通过网络相通信, 所述网络包含核心层和边缘层;其中,所述边缘层中分布的交换机为边缘交换机,所述核 心层中分布的交换机为核心交换机,所述边缘交换机通过边缘链路与所述物理主机直接相 连;任一所述核心交换机通过核心链路与网络中的其他设备相连接; 在所述基于网络资源维度从所述集群系统内所有物理主机上运行的虚拟机中选择候 选待迁移虚拟机加入所述候选虚拟机集的方面,所述Host或虚拟机用于: 从所述网络的所有边缘链路中筛选出高带宽利用率的边缘链路; 找出经由所述筛选出的高带宽利用率的边缘链路通信的虚拟机对; 将所述虚拟机对中加权通信路径最大的虚拟机对,加入所述候选虚拟机集,所述加权 通信路径用于反映对核心链路负载的影响。
11. 如权利要求9或10所述的管理节点,其特征在于, 所述集群系统中的物理主机总数为M+1 ;所述候选虚拟机集中的候选待迁移虚拟机总 数为N ; 在所述基于综合维度确定所述候选虚拟机集中的目标待迁移虚拟机以及所述目标待 迁移虚拟机的目标物理主机的方面,所述Host或虚拟机用于: 针对所述候选虚拟机集中的第i个候选待迁移虚拟机,分别计算所述第i个候选待迁 移虚拟机由源物理主机迁移至各侯选目标物理主机的集群系统综合影响评估值,得到Μ个 集群系统综合影响评估值;1 < i < Ν ;所述侯选目标物理主机为所述集群系统中除第i个 候选待迁移虚拟机所宿主的源物理主机外的其他Μ个物理主机; 从所述Μ个集群系统综合影响评估值中,选择最小的集群系统综合影响评估值作为所 述第i个候选待迁移虚拟机的集群系统综合影响度,所述集群系统综合影响度对应的侯选 目标物理主机为所述第i个候选待迁移虚拟机的目标物理主机; 从所述候选虚拟机集的N个候选待迁移虚拟机中,确定集群系统综合影响度最小的候 选待迁移虚拟机为所述目标待迁移虚拟机; 所述集群系统综合影响评估值包含预测出的迁移代价值以及预测出的迁移后集群系 统的综合负载均衡值,所述迁移代价值用于表征虚拟机迁移操作对整个集群系统性能的影 响。
【文档编号】G06F9/455GK104270416SQ201410465141
【公开日】2015年1月7日 申请日期:2014年9月12日 优先权日:2014年9月12日
【发明者】柳永强, 冯建华 申请人:杭州华为数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1