CN105893155B - 虚拟机负载均衡控制方法与装置 - Google Patents
虚拟机负载均衡控制方法与装置 Download PDFInfo
- Publication number
- CN105893155B CN105893155B CN201610237969.XA CN201610237969A CN105893155B CN 105893155 B CN105893155 B CN 105893155B CN 201610237969 A CN201610237969 A CN 201610237969A CN 105893155 B CN105893155 B CN 105893155B
- Authority
- CN
- China
- Prior art keywords
- host
- load factor
- load
- physical host
- virtual machine
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种虚拟机负载均衡控制方法与装置,方法包括:监测任一物理主机及在物理主机上运行的各个虚拟机的负载指数;确定具有最高负载指数的物理主机和具有最低负载指数的物理主机,并计算两者之间的负载指数差;将负载指数差与预设的第一指数阈值比较,当负载指数差大于所述第一指数阈值时,将具有最高负载指数的物理主机作为源主机,将具有最低负载指数的物理主机作为目的主机;根据在源主机上运行的各个虚拟机的负载指数,从源主机中选取待迁移虚拟机;将待迁移虚拟机从所述源主机迁移到所述目的主机。实施本发明能够解决现有技术在稳态情况下两个物理主机之间存在较大的负载差的问题,实现各个物理主机之间真正的负载均衡。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种虚拟机负载均衡控制方法与装置。
背景技术
随着计算机、网络等各种技术的日趋发展,网络中聚合了各种计算资源、存储资源、数据资源、软件资源以及服务资源等,采用虚拟主机技术可以更加有效地整合这些分散的各种资源,实现资源共享和有效利用,降低能耗。
由于各物理主机处理能力的差异以及各应用程序的不确定性,导致了虚拟计算环境中各物理主机或虚拟机的负载失衡,即有些物理主机或虚拟机的资源利用率很高,导致该物理主机或虚拟机的资源被耗尽,而有些物理主机或虚拟机的资源利用率很低,甚至被闲置,没有得到有效地利用。因此,如何协调不同物理主机和虚拟主机的负载,维持高效的资源使用率,是虚拟计算环境中一个关健问题。
现有的一种虚拟机资源负载均衡方法是,当本地物理主机的负载大于某个阈值时,则将本地物理主机上运行的一个虚拟机迁移至虚拟计算系统中负载最低的物理主机。
本申请的发明人发现现有的虚拟机资源负载均衡方法存在以下的缺陷:
现有的虚拟机资源负载均衡方法将负载超过阈值的物理主机向负载最低的物理主机迁移虚拟机,虽然能够保证所有的物理主机的负载都低于阈值,但最终的稳态情况是有较多的物理主机的负载都接近于该阈值,使得具有最高负载的物理主机和具有最低负载的物理主机之间的负载差较大,并不能实现真正的负载均衡,资源的利用率较低。
发明内容
本发明实施例提出一种虚拟机负载均衡控制方法与装置,能够解决现有技术在稳态情况下两个物理主机之间可能存在较大的负载差的问题,实现各个物理主机之间真正的负载均衡,提高资源利用率。
本发明实施例一方面提供一种虚拟机负载均衡控制方法,包括:
监测任一物理主机及在所述物理主机上运行的各个虚拟机的负载指数;其中,任一物理主机的负载指数等于在所述物理主机上运行的各个虚拟机的负载指数之和;
确定具有最高负载指数的物理主机和具有最低负载指数的物理主机,并计算所述具有最高负载指数的物理主机与具有最低负载指数的物理主机之间的负载指数差;
将所述负载指数差与预设的第一指数阈值比较,当所述负载指数差大于所述第一指数阈值时,将所述具有最高负载指数的物理主机作为源主机,将所述具有最低负载指数的物理主机作为目的主机;
根据在所述源主机上运行的各个虚拟机的负载指数,从所述源主机中选取待迁移虚拟机;
将所述待迁移虚拟机从所述源主机迁移到所述目的主机。
作为更优选地,所述根据在所述源主机上运行的各个虚拟机的负载指数,从所述源主机中选取待迁移虚拟机,并将所述待迁移虚拟机从所述源主机迁移到所述目的主机,具体为:
根据在所述源主机上运行的各个虚拟机的负载指数,从所述源主机中选取负载指数最接近所述负载指数差的一半的虚拟机作为待迁移虚拟机。
作为更优选地,所述确定具有最高负载指数的物理主机和具有最低负载指数的物理主机,并计算所述具有最高负载指数的物理主机与具有最低负载指数的物理主机之间的负载指数差,具体包括:
计算任一物理主机在最近连续N次监测得到的负载指数的平均值;
确定具有最高平均值的物理主机为所述具有最高负载指数的物理主机,确定具有最低平均值的物理主机为具有最低负载指数的物理主机;
计算所述最高平均值和所述最低平均值的差值,将所述差值作为所述负载指数差。
作为更优选地,所述将所述负载指数差与预设的第一指数阈值比较,当所述负载指数差大于所述第一指数阈值时,将所述具有最高负载指数的物理主机作为源主机,将所述具有最低负载指数的物理主机作为目的主机,具体包括:
将所述负载指数差与预设的第一指数阈值比较;
当所述负载指数差大于所述第一指数阈值时,判断所述具有最高负载指数的物理主机是否是唯一的;
若所述具有最高负载指数的物理主机不是唯一的,则根据预先为所有物理主机配置的不同的迁移优先级,从所有具有最高负载指数的物理主机中选取具有最高迁移优先级的物理主机作为源主机,并将具有负载指数最低的物理主机作为目的主机;
若所述具有最高负载指数的物理主机是唯一的,则将唯一的具有最高负载指数的物理主机作为源主机,并将具有最低负载指数的物理主机作为目的主机。
作为更优选地,所述云平台的负载均衡控制方法还包括:
当所述最低平均值高于预设的第二指数阈值时,开启新的物理主机以供其他物理主机迁移虚拟机用。
本发明实施例另一方面提供一种虚拟机负载均衡控制装置,包括:
负载指数监测模块,用于监测任一物理主机及在所述物理主机上运行的各个虚拟机的负载指数;其中,任一物理主机的负载指数等于在所述物理主机上运行的各个虚拟机的负载指数之和;
指数差计算模块,用于确定具有最高负载指数的物理主机和具有最低负载指数的物理主机,并计算所述具有最高负载指数的物理主机与具有最低负载指数的物理主机之间的负载指数差;
迁移主机确定模块,用于将所述负载指数差与预设的第一指数阈值比较,当所述负载指数差大于所述第一指数阈值时,将所述具有最高负载指数的物理主机作为源主机,将所述具有最低负载指数的物理主机作为目的主机;
虚拟机选取模块,用于根据在所述源主机上运行的各个虚拟机的负载指数,从所述源主机中选取待迁移虚拟机;
虚拟机迁移模块,用于将所述待迁移虚拟机从所述源主机迁移到所述目的主机。
作为更优选地,所述虚拟机选取模块具体用于:
根据在所述源主机上运行的各个虚拟机的负载指数,从所述源主机中选取负载指数最接近所述负载指数差的一半的虚拟机作为待迁移虚拟机。
作为更优选地,所述指数差计算模块,具体包括:
平均值计算单元,用于计算任一物理主机在最近连续N次监测得到的负载指数的平均值;
物理主机确定单元,用于确定具有最高平均值的物理主机为所述具有最高负载指数的物理主机,确定具有最低平均值的物理主机为具有最低负载指数的物理主机;
指数差计算单元,用于计算所述最高平均值和所述最低平均值的差值,将所述差值作为所述负载指数差。
作为更优选地,所述迁移主机确定模块,具体包括:
比较单元,用于将所述负载指数差与预设的第一指数阈值比较;
判断单元,用于当所述负载指数差大于所述第一指数阈值时,判断所述具有最高负载指数的物理主机是否是唯一的;
第一确定单元,用于当所述具有最高负载指数的物理主机不是唯一时,根据预先为所有物理主机配置的不同的迁移优先级,从所有具有最高负载指数的物理主机中选取具有最高迁移优先级的物理主机作为源主机,并将具有负载指数最低的物理主机作为目的主机;
第二确定单元,用于当所述具有最高负载指数的物理主机是唯一时,将唯一的具有最高负载指数的物理主机作为源主机,并将具有最低负载指数的物理主机作为目的主机。
作为更优选地,所述云平台的负载均衡控制装置还包括:
物理主机开启模块,用于当所述最低平均值高于预设的第二指数阈值时,开启新的物理主机以供其他物理主机迁移虚拟机用。
实施本发明实施例,具有以下有益效果:本发明实施例提供一种虚拟机负载均衡控制方法与装置,用具有最高负载指数的物理主机和具有最低负载指数的物理主机之间的负载指数差代表所有物理主机之间的最大负载指数差,通过对比所述最大负载指数差和第一指数阈值的大小来判断所有物理主机中是否有超负载的物理主机。当所述最大负载指数差大于第一指数阈值时,代表着当前具有最高负载指数的物理主机处于超负载状态,并将所述具有最高负载指数的物理主机作为源主机,将所述具有最低负载指数的物理主机作为目的主机进行虚拟机的迁移。最大负载指数差在稳态时会小于第一指数阈值,从而所任意两个物理主机的负载指数差都在一个较小的负载范围内,资源利用率得到了最大化,避免了现有技术中出现的稳态时有两个物理主机的负载指数差较大的情况,实现了真正的负载均衡。同时,通过计算最近连续N次监测得到的负载指数的平均值,科学准确地确定具有最高负载指数和具有最低负载指数的两个物理主机,使得计算出的负载指数差是一个稳定值,避免由于暂时的负载指数差的峰值而导致不必要的迁移。另外,通过在源主机中选择负载指数最接近负载指数差的一半的虚拟机,可以避免额外的迁移开销,同时避免频繁的迁移。
附图说明
图1是本发明实施例提供的虚拟机负载均衡控制方法的流程示意图;
图2是图1中的步骤S2的流程示意图;
图3是图1中的步骤S3的流程示意图;
图4是本发明实施例提供的虚拟机负载均衡控制装置的结构框图;
图5是图4中的指数差计算模块2的结构框图;
图6是图4中的迁移主机确定模块3的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明实施例提供的虚拟机负载均衡控制方法的流程示意图,该方法包括以下步骤S1~S5:
S1,监测任一物理主机及在所述物理主机上运行的各个虚拟机的负载指数;其中,任一物理主机的负载指数等于在所述物理主机上运行的各个虚拟机的负载指数之和;
S2,确定具有最高负载指数的物理主机和具有最低负载指数的物理主机,并计算所述具有最高负载指数的物理主机与具有最低负载指数的物理主机之间的负载指数差;
S3,将所述负载指数差与预设的第一指数阈值比较,当所述负载指数差大于所述第一指数阈值时,将所述具有最高负载指数的物理主机作为源主机,将所述具有最低负载指数的物理主机作为目的主机;
S4,根据在所述源主机上运行的各个虚拟机的负载指数,从所述源主机中选取待迁移虚拟机;
S5,将所述待迁移虚拟机从所述源主机迁移到所述目的主机。
在本实施例中,用具有最高负载指数的物理主机和具有最低负载指数的物理主机之间的负载指数差代表所有物理主机之间的最大负载指数差,通过对比所述最大负载指数差和第一指数阈值的大小来判断所有物理主机中是否有超负载的物理主机。当所述最大负载指数差大于第一指数阈值时,代表着当前具有最高负载指数的物理主机处于超负载状态,并将所述具有最高负载指数的物理主机作为源主机,将所述具有最低负载指数的物理主机作为目的主机进行虚拟机的迁移。在不断重复步骤S1~S5后,最大负载指数差会小于第一指数阈值,从而所任意两个物理主机的负载指数差都在一个较小的负载范围内,资源利用率得到了最大化,避免了现有技术中出现的稳态时有两个物理主机的负载指数差较大的情况,实现了真正的负载均衡。
在一种实施方式中,步骤S1是周期性地监测任一物理主机及在所述物理主机上运行的各个虚拟机的负载指数。监测周期是预先设定的,例如,可以设定监测周期为5分钟。虚拟机的负载指数由物理主机的负载指数与虚拟机的负载因子来确定。所述负载因子由虚拟机的内存与物理主机的内存之间的比值A、以及虚拟机的CPU规格与物理主机的CPU规格之间的比值B来确定。
作为更优选地,所述步骤S2具体包括步骤S21~S23。
如图2所示,其是图1中的步骤S2的流程示意图,包括:
S21,计算任一物理主机在最近连续N次监测得到的负载指数的平均值;
S22,确定具有最高平均值的物理主机为所述具有最高负载指数的物理主机,确定具有最低平均值的物理主机为具有最低负载指数的物理主机;
S23,计算所述最高平均值和所述最低平均值的差值,将所述差值作为所述负载指数差。
平均值代表着物理主机在一段时间内的稳定的负载水平。因此,本实施例能够更科学准确地确定具有最高负载指数的物理主机与具有最低负载指数的物理主机,并且能够更科学准确地计算出两者之间的负载指数差,避免了由于暂时的负载指数差的峰值而引起不必要的迁移开销。
作为更优选地,所述步骤S3具体包括S31~S34。
如图3所示,其是其是图1中的步骤S3的流程示意图,包括:
S31,将所述负载指数差与预设的第一指数阈值比较;
S32,当所述负载指数差大于所述第一指数阈值时,判断所述具有最高负载指数的物理主机是否是唯一的;
S33,若所述具有最高负载指数的物理主机不是唯一的,则根据预先为所有物理主机配置的不同的迁移优先级,从所有具有最高负载指数的物理主机中选取具有最高迁移优先级的物理主机作为源主机,并将具有负载指数最低的物理主机作为目的主机;
S34,若所述具有最高负载指数的物理主机是唯一的,则将唯一的具有最高负载指数的物理主机作为源主机,并将具有最低负载指数的物理主机作为目的主机。
由于有可能会出现不止一个物理主机在同一时间具有最高平均值的情况,即具有最高负载指数的物理主机是不唯一的,为了避免多个物理主机同时向同一物理主机迁移虚拟机而造成群聚效应导致虚拟计算系统不稳定的问题,预先为各个物理主机配置迁移优先级,在判定有多个具有最高负载指数的物理主机时,选择其中具有最高迁移优先级的物理主机作为源主机进行虚拟机的迁移。
作为更优选地,所述步骤S4具体为:
根据在所述源主机上运行的各个虚拟机的负载指数,从所述源主机中选取负载指数最接近所述负载指数差的一半的虚拟机作为待迁移虚拟机。
在现有的虚拟机负载均衡方法中,在确定源主机后,没有一个很好的根据从源主机中选择一个合适的虚拟机进行迁移。如果选择了迁移负载较大的虚拟机则需要迁移的资源较大,增大了迁移所需的开销,如果选择了迁移负载较小的虚拟机则会使得源主机的负载降得比较小,源主机很容易就会再次超过负载而需要再次迁移,导致了频繁的迁移。而在本发明实施例中,以源主机和目的主机之间的负载指数差为根据,在源主机中选择最接近所述负载指数差的虚拟机进行迁移,这种选择方式能够使得迁移过后,源主机和目的主机之间的负载指数差降到最低,因此能够避免了额外的迁移开销,同时也避免了频繁的迁移。
作为更优选地,所述虚拟机负载均衡控制方法还包括:
当所述最低平均值高于预设的第二指数阈值时,开启新的物理主机以供其他物理主机迁移虚拟机用。
所述最低平均值代表具有最低负载指数的物理主机的负载情况。当所述最低平均值超过第二指数阈值时,说明具有最低负载指数的物理主机的负载也处于较高的情况,不适合作为目的主机进行虚拟机迁移。为了避免没有负载较低的物理主机作为目的主机,需要新增物理主机,为其他物理主机迁移虚拟机用。
以下以一个具体的例子说明本发明实施例的工作原理。预设的第一指数阈值为20,系统监测到确定具有最高负载指数的物理主机的负载指数为65,和具有最低负载指数的物理主机的负载指数为25。由于最大负载指数差为40,大于第一指数阈值,因此需要进行虚拟机的迁移来降低两者的负载指数差,实现负载均衡。为了减少迁移开销以及避免频繁的迁移,在具有最高负载指数的物理主机中选择负载指数最接近最大负载指数差的一半即20的虚拟机。经过查找,发现负载指数最接近的20的虚拟机为负载指数等于18的虚拟机,因此,经过迁移后,原来的源主机的负载指数降为47,原来的目的主机的负载指数升至43,大大地减小了两者之间的负载指数差,实现负载均衡。
基于上述同样的发明构思,本发明实施例还提供一种虚拟机负载均衡控制装置。参见图4,其是本发明实施例提供的虚拟机负载均衡控制装置的结构框图,包括:
负载指数监测模块1,用于监测任一物理主机及在所述物理主机上运行的各个虚拟机的负载指数;其中,任一物理主机的负载指数等于在所述物理主机上运行的各个虚拟机的负载指数之和;
指数差计算模块2,用于确定具有最高负载指数的物理主机和具有最低负载指数的物理主机,并计算所述具有最高负载指数的物理主机与具有最低负载指数的物理主机之间的负载指数差;
迁移主机确定模块3,用于将所述负载指数差与预设的第一指数阈值比较,当所述负载指数差大于所述第一指数阈值时,将所述具有最高负载指数的物理主机作为源主机,将所述具有最低负载指数的物理主机作为目的主机;
虚拟机选取模块4,用于根据在所述源主机上运行的各个虚拟机的负载指数,从所述源主机中选取待迁移虚拟机;
虚拟机迁移模块5,用于将所述待迁移虚拟机从所述源主机迁移到所述目的主机。
在一种实施方式中,所述负载指数监测模块1是周期性地监测任一物理主机及在所述物理主机上运行的各个虚拟机的负载指数。监测周期是预先设定的,例如,可以设定监测周期为5分钟。虚拟机的负载指数由物理主机的负载指数与虚拟机的负载因子来确定。所述负载因子由虚拟机的内存与物理主机的内存之间的比值A、以及虚拟机的CPU规格与物理主机的CPU规格之间的比值B来确定。
请参阅图5,其是图4中的指数差计算模块2的结构框图。作为更优选地,所述指数差计算模块2具体包括:
平均值计算单元21,用于计算任一物理主机在最近连续N次监测得到的负载指数的平均值;
物理主机确定单元22,用于确定具有最高平均值的物理主机为所述具有最高负载指数的物理主机,确定具有最低平均值的物理主机为具有最低负载指数的物理主机;
指数差计算单元23,用于计算所述最高平均值和所述最低平均值的差值,将所述差值作为所述负载指数差。
请参阅图6,其是图4中的迁移主机确定模块3的结构框图。作为更优选地,所述迁移主机确定模块3具体包括:
比较单元31,用于将所述负载指数差与预设的第一指数阈值比较;
判断单元32,用于当所述负载指数差大于所述第一指数阈值时,判断所述具有最高负载指数的物理主机是否是唯一的;
第一确定单元33,用于当所述具有最高负载指数的物理主机不是唯一时,根据预先为所有物理主机配置的不同的迁移优先级,从所有具有最高负载指数的物理主机中选取具有最高迁移优先级的物理主机作为源主机,并将具有负载指数最低的物理主机作为目的主机;
第二确定单元34,用于当所述具有最高负载指数的物理主机是唯一时,将唯一的具有最高负载指数的物理主机作为源主机,并将具有最低负载指数的物理主机作为目的主机。
作为更优选地,所述虚拟机选取模块4具体用于:
根据在所述源主机上运行的各个虚拟机的负载指数,从所述源主机中选取负载指数最接近所述负载指数差的一半的虚拟机作为待迁移虚拟机
作为更优选地,所述虚拟机负载均衡控制装置还包括:
物理主机开启模块,用于当所述最低平均值高于预设的第二指数阈值时,开启新的物理主机以供其他物理主机迁移虚拟机用。
需要说的是,本发明实施例提供的虚拟机负载均衡控制装置用于执行上述的虚拟机负载控制方法的所有方法流程,其工作原理和有益效果一一对应,因而不再赘述。
本发明实施例提供的虚拟机负载均衡装置可以分布安装,例如,负载指数监测模块1、指数差计算模块2、迁移主机确定模块3以及虚拟机选取模块4安装在云监控平台,虚拟机迁移模块5安装在云平台的控制节点,而本发明实施例里面出现的物理主机即为云平台的计算节点。通过云监控平台监控各个计算节点的负载情况,并在超负载时通知控制节点实施具体的虚拟机的迁移。
实施本发明实施例,具有以下有益效果:本发明实施例提供一种虚拟机负载均衡控制方法与装置,用具有最高负载指数的物理主机和具有最低负载指数的物理主机之间的负载指数差代表所有物理主机之间的最大负载指数差,通过对比所述最大负载指数差和第一指数阈值的大小来判断所有物理主机中是否有超负载的物理主机。当所述最大负载指数差大于第一指数阈值时,代表着当前具有最高负载指数的物理主机处于超负载状态,并将所述具有最高负载指数的物理主机作为源主机,将所述具有最低负载指数的物理主机作为目的主机进行虚拟机的迁移。最大负载指数差在稳态时会小于第一指数阈值,从而所任意两个物理主机的负载指数差都在一个较小的负载范围内,资源利用率得到了最大化,避免了现有技术中出现的稳态时有两个物理主机的负载指数差较大的情况,实现了真正的负载均衡。同时,通过计算最近连续N次监测得到的负载指数的平均值,科学准确地确定具有最高负载指数和具有最低负载指数的两个物理主机,使得计算出的负载指数差是一个稳定值,避免由于暂时的负载指数差的峰值而导致不必要的迁移。另外,通过在源主机中选择负载指数最接近负载指数差的一半的虚拟机,可以避免额外的迁移开销,同时避免频繁的迁移。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (9)
1.一种虚拟机负载均衡控制方法,其特征在于,包括:
监测任一物理主机及在所述物理主机上运行的各个虚拟机的负载指数;其中,任一物理主机的负载指数等于在所述物理主机上运行的各个虚拟机的负载指数之和;
确定具有最高负载指数的物理主机和具有最低负载指数的物理主机,并计算所述具有最高负载指数的物理主机与具有最低负载指数的物理主机之间的负载指数差;
将所述负载指数差与预设的第一指数阈值比较,当所述负载指数差大于所述第一指数阈值时,将所述具有最高负载指数的物理主机作为源主机,将所述具有最低负载指数的物理主机作为目的主机;
根据在所述源主机上运行的各个虚拟机的负载指数,从所述源主机中选取负载指数最接近所述负载指数差的一半的虚拟机作为待迁移虚拟机;
将所述待迁移虚拟机从所述源主机迁移到所述目的主机。
2.如权利要求1所述的虚拟机负载均衡控制方法,其特征在于,所述确定具有最高负载指数的物理主机和具有最低负载指数的物理主机,并计算所述具有最高负载指数的物理主机与具有最低负载指数的物理主机之间的负载指数差,具体包括:
计算任一物理主机在最近连续N次监测得到的负载指数的平均值;
确定具有最高平均值的物理主机为所述具有最高负载指数的物理主机,确定具有最低平均值的物理主机为具有最低负载指数的物理主机;
计算所述最高平均值和所述最低平均值的差值,将所述差值作为所述负载指数差。
3.如权利要求2所述的虚拟机负载均衡控制方法,其特征在于,所述将所述负载指数差与预设的第一指数阈值比较,当所述负载指数差大于所述第一指数阈值时,将所述具有最高负载指数的物理主机作为源主机,将所述具有最低负载指数的物理主机作为目的主机,具体包括:
将所述负载指数差与预设的第一指数阈值比较;
当所述负载指数差大于所述第一指数阈值时,判断所述具有最高负载指数的物理主机是否是唯一的;
若所述具有最高负载指数的物理主机不是唯一的,则根据预先为所有物理主机配置的不同的迁移优先级,从所有具有最高负载指数的物理主机中选取具有最高迁移优先级的物理主机作为源主机,并将具有负载指数最低的物理主机作为目的主机;
若所述具有最高负载指数的物理主机是唯一的,则将唯一的具有最高负载指数的物理主机作为源主机,并将具有最低负载指数的物理主机作为目的主机。
4.如权利要求2或3所述的虚拟机负载均衡控制方法,其特征在于,所述虚拟机负载均衡控制方法还包括:
当所述最低平均值高于预设的第二指数阈值时,开启新的物理主机以供其他物理主机迁移虚拟机用。
5.一种虚拟机负载均衡控制装置,其特征在于,包括:
负载指数监测模块,用于监测任一物理主机及在所述物理主机上运行的各个虚拟机的负载指数;其中,任一物理主机的负载指数等于在所述物理主机上运行的各个虚拟机的负载指数之和;
指数差计算模块,用于确定具有最高负载指数的物理主机和具有最低负载指数的物理主机,并计算所述具有最高负载指数的物理主机与具有最低负载指数的物理主机之间的负载指数差;
迁移主机确定模块,用于将所述负载指数差与预设的第一指数阈值比较,当所述负载指数差大于所述第一指数阈值时,将所述具有最高负载指数的物理主机作为源主机,将所述具有最低负载指数的物理主机作为目的主机;
虚拟机选取模块,用于根据在所述源主机上运行的各个虚拟机的负载指数,从所述源主机中选取待迁移虚拟机;
虚拟机迁移模块,用于将所述待迁移虚拟机从所述源主机迁移到所述目的主机。
6.如权利要求5所述的虚拟机负载均衡控制装置,其特征在于,所述虚拟机选取模块具体用于:
根据在所述源主机上运行的各个虚拟机的负载指数,从所述源主机中选取负载指数最接近所述负载指数差的一半的虚拟机作为待迁移虚拟机。
7.如权利要求5所述的虚拟机负载均衡控制装置,其特征在于,所述指数差计算模块,具体包括:
平均值计算单元,用于计算任一物理主机在最近连续N次监测得到的负载指数的平均值;
物理主机确定单元,用于确定具有最高平均值的物理主机为所述具有最高负载指数的物理主机,确定具有最低平均值的物理主机为具有最低负载指数的物理主机;
指数差计算单元,用于计算所述最高平均值和所述最低平均值的差值,将所述差值作为所述负载指数差。
8.如权利要求7所述的虚拟机负载均衡控制装置,其特征在于,所述迁移主机确定模块,具体包括:
比较单元,用于将所述负载指数差与预设的第一指数阈值比较;
判断单元,用于当所述负载指数差大于所述第一指数阈值时,判断所述具有最高负载指数的物理主机是否是唯一的;
第一确定单元,用于当所述具有最高负载指数的物理主机不是唯一时,根据预先为所有物理主机配置的不同的迁移优先级,从所有具有最高负载指数的物理主机中选取具有最高迁移优先级的物理主机作为源主机,并将具有负载指数最低的物理主机作为目的主机;
第二确定单元,用于当所述具有最高负载指数的物理主机是唯一时,将唯一的具有最高负载指数的物理主机作为源主机,并将具有最低负载指数的物理主机作为目的主机。
9.如权利要求7或8所述的虚拟机负载均衡控制装置,其特征在于,所述虚拟机负载均衡控制装置还包括:
物理主机开启模块,用于当所述最低平均值高于预设的第二指数阈值时,开启新的物理主机以供其他物理主机迁移虚拟机用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610237969.XA CN105893155B (zh) | 2016-04-14 | 2016-04-14 | 虚拟机负载均衡控制方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610237969.XA CN105893155B (zh) | 2016-04-14 | 2016-04-14 | 虚拟机负载均衡控制方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105893155A CN105893155A (zh) | 2016-08-24 |
CN105893155B true CN105893155B (zh) | 2019-12-03 |
Family
ID=56703973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610237969.XA Active CN105893155B (zh) | 2016-04-14 | 2016-04-14 | 虚拟机负载均衡控制方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105893155B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391229B (zh) * | 2017-07-26 | 2020-09-08 | 郑州云海信息技术有限公司 | 一种基于vmware虚拟化的集群填满方法及装置 |
CN107391233A (zh) * | 2017-08-09 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种虚拟机迁移方法和系统 |
CN109002348B (zh) * | 2018-07-26 | 2021-03-19 | 郑州云海信息技术有限公司 | 一种虚拟化系统中的负载均衡方法及装置 |
CN110515694A (zh) * | 2019-07-26 | 2019-11-29 | 浪潮电子信息产业股份有限公司 | 一种虚拟机迁移方法、装置、设备及存储介质 |
CN112764879A (zh) * | 2021-01-14 | 2021-05-07 | 深圳市科思科技股份有限公司 | 负载均衡方法、电子设备及计算机可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5544967B2 (ja) * | 2010-03-24 | 2014-07-09 | 富士通株式会社 | 仮想マシン管理プログラム及び仮想マシン管理装置 |
CN102185759A (zh) * | 2011-04-12 | 2011-09-14 | 田文洪 | 一种满足需求特性的多物理服务器负载均衡的方法及装置 |
CN102508718B (zh) * | 2011-11-22 | 2015-04-15 | 杭州华三通信技术有限公司 | 一种虚拟机负载均衡方法和装置 |
CN103576827B (zh) * | 2012-07-25 | 2016-04-27 | 田文洪 | 一种云计算数据中心在线节能调度的方法 |
CN103605574A (zh) * | 2013-11-18 | 2014-02-26 | 浪潮(北京)电子信息产业有限公司 | 一种服务器集群中的虚拟机资源调度方法及系统 |
-
2016
- 2016-04-14 CN CN201610237969.XA patent/CN105893155B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105893155A (zh) | 2016-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105893155B (zh) | 虚拟机负载均衡控制方法与装置 | |
CN108829494B (zh) | 基于负载预测的容器云平台智能资源优化方法 | |
CN108182105B (zh) | 基于Docker容器技术的局部动态迁移方法及控制系统 | |
CN110134495B (zh) | 一种容器跨主机在线迁移方法、存储介质及终端设备 | |
CN106133693B (zh) | 虚拟机的迁移方法、装置及设备 | |
CN104375897B (zh) | 基于最小相对负载不均衡度的云计算资源调度方法 | |
CN108089918B (zh) | 一种面向异构服务器结构的图计算负载均衡方法 | |
CN106445629A (zh) | 一种负载均衡的方法及其装置 | |
WO2011110026A1 (zh) | 一种实现数据中心资源负载均衡的方法及装置 | |
CN106681839B (zh) | 弹性计算动态分配方法 | |
CN102111337A (zh) | 任务调度方法和系统 | |
Alboaneen et al. | Energy-aware virtual machine consolidation for cloud data centers | |
CN103605574A (zh) | 一种服务器集群中的虚拟机资源调度方法及系统 | |
CN104008018B (zh) | 云计算环境下虚拟机在线迁移方法 | |
CN111953732B (zh) | 一种云计算系统中的资源调度方法及装置 | |
CN106528270A (zh) | 一种基于OpenStack云平台的虚拟机自动迁移方法及系统 | |
CN106059940B (zh) | 一种流量控制方法及装置 | |
Yakhchi et al. | ICA-MMT: A load balancing method in cloud computing environment | |
CN104461673B (zh) | 一种虚拟机迁移判定方法及装置 | |
CN106339386A (zh) | 数据库弹性调度方法以及装置 | |
CN107220108A (zh) | 一种实现云数据中心负载均衡的方法和系统 | |
CN107003713A (zh) | 用于电力管理的逻辑分区环境的事件驱动重新优化 | |
CN106897116A (zh) | 一种虚拟机迁移方法及装置 | |
CN102480502B (zh) | 一种i/o负载均衡方法及i/o服务器 | |
CN109960579B (zh) | 一种调整业务容器的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |