CN107885579A - 虚拟机的负载均衡方法和计算机可读存储介质 - Google Patents
虚拟机的负载均衡方法和计算机可读存储介质 Download PDFInfo
- Publication number
- CN107885579A CN107885579A CN201711113695.4A CN201711113695A CN107885579A CN 107885579 A CN107885579 A CN 107885579A CN 201711113695 A CN201711113695 A CN 201711113695A CN 107885579 A CN107885579 A CN 107885579A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- main frame
- group
- compatibility
- rule
- 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
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/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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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
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
技术领域
本发明涉及信息处理领域,尤指一种虚拟机的负载均衡方法和计算机可读存储介质。
背景技术
在云计算领域,虚拟化和效用计算的引入,给云计算的应用和发展带来了更多的机会,同时也提出了更多和更高的挑战。由于云计算中软硬件和网络应用的多样性和丰富性、网络应用的负载的实时动态变化性和人工管理复杂系统的限制性,给虚拟化云计算的控制和管理带来了新的问题。而目前本领域中并没有对多个云环境进行综合效能评估的机制,且无法根据云环境实际运行效能和资源使用情况,在多个云环境之间对虚拟机(资源实例)进行资源统一分配和调度的决策,这些成为了制约运计算系统发展的一个主要因素。
虚拟化环境资源调度即如何实现负载均衡,使得资源得到充分利用,并且避免资源浪费是虚拟化技术无法绕过的问题,大多负载均衡方法未对虚拟机区分优先级,使得比较重要的虚拟机不能优先获取足够的资源,从而调度不够灵活。
发明内容
为了解决上述技术问题,本发明提供了一种虚拟机的负载均衡方法和计算机可读存储介质,能够提高虚拟机运行环境的智能调度的精准性。
为了达到本发明目的,本发明提供了一种虚拟机的负载均衡方法,,包括:
在检测到虚拟机执行启动或迁移操作时,获取所述虚拟机的亲和性规则,其中所述亲和性规则用于选择与所述虚拟机运行状态匹配的主机;
根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机;
控制所述目标主机响应所述虚拟机的运行请求;
其中,亲和性规则,包括主机亲和性规则和/虚拟机亲和行规则;其中:
主机亲和性规则用于设置虚拟机指定运行所在的特定的主机,和/或,虚拟机指定不能运行在特定的主机上;
虚拟机亲和性规则用于设置某些虚拟机在同一台主机上运行,和/或,某些虚拟机运行在不同的主机上。
其中,所述方法还具有如下特点:所述获取虚拟机的亲和性规则之前,所述方法还包括:
当检测到至少两个虚拟机均满足所述运行状态时,获取所述虚拟机的管理优先级;
按照所述虚拟机的管理优先级,获取各个虚拟机的亲和性规则。
其中,所述方法还具有如下特点:
所述获取虚拟机的亲和性规则包括:
当检测到有至少两个虚拟机执行迁移操作时,获取各个虚拟机的源主机;
按照所述各个虚拟机的源主机的优先级,将所述各个虚拟机分成至少两组,其中每组虚拟机分别对应执行迁移操作的顺序;
按照所述执行迁移操作的顺序,获取每组虚拟机的亲和性规则;
所述根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机,包括:
获取每组虚拟机中各个虚拟机的硬件配置;
按照每组虚拟机的硬件配置,对每组虚拟机的各个虚拟机进行排序;
按照每组虚拟机中的各个虚拟机的排序,为所述虚拟机选取符合配置要求的目标主机。
其中,所述方法还具有如下特点:所述按照每组虚拟机的硬件配置,对每组虚拟机的各个虚拟机进行排序,包括:
获取每组虚拟机中各个虚拟机当前的CPU利用率信息;
利用预先设置的权重信息,对每组虚拟机的硬件配置和所述CPU利用率信息进行计算,得到计算结果;
根据所述计算结果,对每组虚拟机的各个虚拟机进行排序。
其中,所述方法还具有如下特点:所述根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机,包括:
其中,虚拟机亲和性规则包括如下至少一个:
a、虚拟机亲和性,其中虚拟机与特定的虚拟机需运行在同一主机上;
b、虚拟机不亲和性,其中虚拟机与特定的虚拟机不能运行在同一主机上;
c、虚拟机亲和性和虚拟机不亲和性,即该虚拟机与第一组的虚拟机需运行在同一主机上;且该虚拟机与第二组的虚拟机不能运行在同一主机上;
其中,特定的虚拟机为一个或至少两个,第一组和第二组的虚拟机的数量也可以为一个或至少两个;
对于a种情况,判断该特定的虚拟机是已经开启;
如果判断该特定虚拟机已开启,则获取该特定的虚拟机所在的主机,进而判断该主机上是否有足够的资源;如果该主机有足够的资源,则返回该主机,流程结束;如果该主机没有足够的资源,则获取既满足本机和该特定虚拟机所需资源又满足亲和性规则的新主机,将该特定主机迁移至该新的主机,并返回该新的主机,流程结束;如果没有符合要求的新主机,则输出提示信息,流程结束;
如果该特定虚拟机未开启,则获取特定虚拟机的主机指定规则,根据该指定规则,从主机指定规则中不能运行主机之外的主机中选择一个主机,返回该主机,或者,选择主机指定规则中的指定的主机,返回该主机,流程结束;
对于b种情况,判断该特定的虚拟机是否已经开启;
如果判断该特定虚拟机已开启,则获取该特定的虚拟机所在的主机,在该特定虚拟机所在的主机之外的主机上选择一个主机,返回选择的主机,流程结束;
如果该特定虚拟机未开启,则获取特定虚拟机的主机指定规则,根据该指定规则,从主机指定规则中指定主机之外的主机中选择一个主机,返回该主机,或者,选择主机指定规则中不能运行的主机中选择一个主机,返回该主机,流程结束;
对于c种情况,利用a种情况的策略获取满足条件的第一组主机,以及,利用a种情况的策略获取满足条件的第二组主机中,选择同时在第一组主机和第二组主机的第三组主机,从第三组主机中选择一个,返回该主机,流程结束。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如下步骤,包括:
获取步骤,在检测到虚拟机执行启动或迁移操作时,获取所述虚拟机的亲和性规则,其中所述亲和性规则用于选择与所述虚拟机运行状态匹配的主机,包括主机亲和性规则和/或虚拟机亲和行规则;其中:
主机亲和性规则用于设置虚拟机指定运行所在的特定的主机,和/或,虚拟机指定不能运行在特定的主机上;
虚拟机亲和性规则用于设置某些虚拟机在同一台主机上运行,和/或,某些虚拟机运行在不同的主机上;
选取步骤,根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机;
控制步骤,控制所述目标主机响应所述虚拟机的运行请求。
其中,所述计算机可读存储介质还具有如下特点:
该程序被处理器执行时在获取虚拟机的亲和性规则之前,还实现如下步骤:
优先级获取步骤,当检测到至少两个虚拟机均满足所述运行状态时,获取所述虚拟机的管理优先级;
其中,所述获取步骤,按照所述虚拟机的管理优先级,获取各个虚拟机的亲和性规则。
其中,所述计算机可读存储介质还具有如下特点:
该程序被处理器执行获取虚拟机的亲和性规则步骤时,包括:
当检测到有至少两个虚拟机执行迁移操作时,获取各个虚拟机的源主机;
按照所述各个虚拟机的源主机的优先级,将所述各个虚拟机分成至少两组,其中每组虚拟机分别对应执行迁移操作的顺序;
按照所述执行迁移操作的顺序,获取每组虚拟机的亲和性规则;
该程序被处理器执行根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机步骤时,包括:
获取每组虚拟机中各个虚拟机的硬件配置;
按照每组虚拟机的硬件配置,对每组虚拟机的各个虚拟机进行排序;
按照每组虚拟机中的各个虚拟机的排序,为所述虚拟机选取符合配置要求的目标主机。
其中,所述计算机可读存储介质还具有如下特点:
该程序被处理器执行按照每组虚拟机的硬件配置,对每组虚拟机的各个虚拟机进行排序步骤时,包括:
获取每组虚拟机中各个虚拟机当前的CPU利用率信息;
利用预先设置的权重信息,对每组虚拟机的硬件配置和所述CPU利用率信息进行计算,得到计算结果;
根据所述计算结果,对每组虚拟机的各个虚拟机进行排序。
其中,所述计算机可读存储介质还具有如下特点:
该程序被处理器执行所述根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机步骤时,包括:
其中,虚拟机亲和性规则包括如下至少一个:
a、虚拟机亲和性,其中虚拟机与特定的虚拟机需运行在同一主机上;
b、虚拟机不亲和性,其中虚拟机与特定的虚拟机不能运行在同一主机上;
c、虚拟机亲和性和虚拟机不亲和性,即该虚拟机与第一组的虚拟机需运行在同一主机上;且该虚拟机与第二组的虚拟机不能运行在同一主机上;
其中,特定的虚拟机为一个或至少两个,第一组和第二组的虚拟机的数量也可以为一个或至少两个;
对于a种情况,判断该特定的虚拟机是已经开启;
如果判断该特定虚拟机已开启,则获取该特定的虚拟机所在的主机,进而判断该主机上是否有足够的资源;如果该主机有足够的资源,则返回该主机,流程结束;如果该主机没有足够的资源,则获取既满足本机和该特定虚拟机所需资源又满足亲和性规则的新主机,将该特定主机迁移至该新的主机,并返回该新的主机,流程结束;如果没有符合要求的新主机,则输出提示信息,流程结束;
如果该特定虚拟机未开启,则获取特定虚拟机的主机指定规则,根据该指定规则,从主机指定规则中不能运行主机之外的主机中选择一个主机,返回该主机,或者,选择主机指定规则中的指定的主机,返回该主机,流程结束;
对于b种情况,判断该特定的虚拟机是否已经开启;
如果判断该特定虚拟机已开启,则获取该特定的虚拟机所在的主机,在该特定虚拟机所在的主机之外的主机上选择一个主机,返回选择的主机,流程结束;
如果该特定虚拟机未开启,则获取特定虚拟机的主机指定规则,根据该指定规则,从主机指定规则中指定主机之外的主机中选择一个主机,返回该主机,或者,选择主机指定规则中不能运行的主机中选择一个主机,返回该主机,流程结束;
对于c种情况,利用a种情况的策略获取满足条件的第一组主机,以及,利用a种情况的策略获取满足条件的第二组主机中,选择同时在第一组主机和第二组主机的第三组主机,从第三组主机中选择一个,返回该主机,流程结束。
本发明提供的实施例,通过获取虚拟机的亲和性规则,来确定虚拟机在性能和/或运行环境的需求,为虚拟机选择合适的主机,实现对虚拟机环境中负载的智能管理,提高虚拟机运行环境的智能调度的精准性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明提供的虚拟机的负载均衡方法的流程图;
图2为本发明提供的计算机可读存储介质的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明提供的虚拟机的负载均衡方法的流程图。图1所示方法包括:
步骤101、在检测到虚拟机执行启动或迁移操作时,获取所述虚拟机的亲和性规则,其中所述亲和性规则用于选择与所述虚拟机运行状态匹配的主机;
其中,亲和性规则,包括:
主机亲和性规则用于设置虚拟机指定运行所在的特定的主机,和/或,虚拟机指定不能运行在特定的主机上;
虚拟机亲和性规则用于根据虚拟机的性能配置,设置某些虚拟机必须在同一台主机上运行,相反地,为了实现高可用,某些虚拟机需要运行在不同的主机上;
例如,某些交互较多的两个虚拟机可以运行在同一个主机上,两个高利用率的虚拟机就不应配置在同一主机上;
步骤102、根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机;
步骤103、控制所述目标主机响应所述虚拟机的运行请求。
本发明提供的方法实施例,通过获取虚拟机的亲和性规则,来确定虚拟机在性能和/或运行环境的需求,为虚拟机选择合适的主机,实现对虚拟机环境中负载的智能管理,提高虚拟机运行环境的智能调度的精准性。
下面对本发明提供的方法实施例作进一步说明:
所述获取虚拟机的亲和性规则之前,所述方法还包括:
当检测到至少两个虚拟机均满足所述运行状态时,获取所述虚拟机的管理优先级;
按照所述虚拟机的管理优先级,获取各个虚拟机的亲和性规则。
其中,管理优先级分为系统优先级和业务优先级,优先级是针对虚拟机提出,包括系统优先级和业务优先级,其中业务优先级由用户在创建虚拟机时定义,默认为正常,增加高和低的级别;系统优先级主要是虚拟机在系统处理过程中需要加以区分。
例如,Router虚拟机的优先级要比普通的虚拟机的优先级高;在分布式资源调度(Distributed Resource Scheduler,DRS)时,会采用优先级高的虚拟机会优先获取足够的资源,但是用户开启较高优先级的虚拟机遇到资源不足的情况,系统不会关闭优先级低的虚拟机,这个由用户自己完成;通常,系统优先级采用系统默认指定;系统优先级高于业务优先级处理。
当检测到有至少两个虚拟机执行迁移操作时,获取各个虚拟机的源主机;按照所述各个虚拟机的源主机的优先级,将所述各个虚拟机分成至少两组,其中每组虚拟机分别对应执行迁移操作的顺序;按照所述执行迁移操作的顺序,获取每组虚拟机的亲和性规则;
获取每组虚拟机中各个虚拟机的硬件配置;按照每组虚拟机的硬件配置,对每组虚拟机的各个虚拟机进行排序;按照每组虚拟机中的各个虚拟机的排序,为所述虚拟机选取符合配置要求的目标主机。
基于集群DRS策略,统计的预设时间内主机的历史数据,为主机分配对应的优先级;在原有算法基础上进行修改,在确定负载过大的主机及目标主机后,确定迁移的虚拟机时,首先对主机上所有集群虚拟机按照优先级进行分组,然后根据优先级从高到低处理分组,同组内的处理方式与原有算法基本一致,优先选择配置较低的虚拟机进行迁移,大配置虚拟机将不会被迁移,要保证待迁移的虚拟机在迁移后符合亲和性规则。
具体来说,在多个虚拟机需要执行迁移操作时,首先获取源主机和目标主机,再根据源主机的优先级,对这些虚拟机进行分组,按照优先级从高到低的顺序进行排序,完成各组的排序,对各组的虚拟机进行处理。
其中,在对各组的虚拟机进行处理过程中,首先要判断该组中是否存在硬件配置要求低于预先设置的基准配置的虚拟机,对这些小于该基准配置的虚拟机进行优先处理,即优先进行亲和性规则的判断,在通过后,将该虚拟机加入迁移的列表中,相反,如果不符合判断,则将该虚拟机从分组中删除。
具体操作步骤简要概述如下:
Step1:若待开启的虚拟机没有定义亲和性规则,则任选一台可用的主机,返回,否则,Step2;
Step2:若待开启的虚拟机指定了开启的主机,若该主机资源充足则返回该主机,否则,Step3;
Step3:若待开启的虚拟机只定义了亲和性规则,则判断关联的虚拟机是否已开启,若开启则判断开启的主机资源是否充足,充足则返回,不足则考虑找一台资源充足的主机,将关联的虚拟机迁到该主机后并返回该主机,若关联的虚拟机都没有开启则任选一台可用的主机返回;否则,Step4;
Step4:若待开启的虚拟机只定义了不亲和性规则,则排除关联的虚拟机所开启的主机,选择一可用的主机返回,否则,Step5
Step5:若待开启的虚拟机既定义了亲和行规则也定义了不亲和性规则,则既需要排除不亲和性关联的虚拟机所开启的主机,也需要选择亲和性规则定义关联的虚拟机所开启的主机。
下面对上述流程进行详细说明:
步骤01、判断该虚拟机是否定义了亲和性规则;
如果否,则返回任一可用的主机,流程结束;如果是,则执行步骤02;
步骤02,判断该虚拟机是否指定主机;
如果是,则判断该指定主机的资源是否充足,如果充足,则返回该主机,流程结束;否则,则提示该指定主机不可用,流程结束;
如果否,则执行步骤03;
步骤03、判断虚拟机亲和性规则的属性,具体包括:
其中,虚拟机亲和性规则包括如下至少一个:
a、虚拟机亲和性,其中虚拟机与特定的虚拟机需运行在同一主机上;
b、虚拟机不亲和性,其中虚拟机与特定的虚拟机不能运行在同一主机上;
c、虚拟机亲和性和虚拟机不亲和性,即该虚拟机与第一组的虚拟机需运行在同一主机上;且该虚拟机与第二组的虚拟机不能运行在同一主机上;
其中,特定的虚拟机为一个或至少两个,第一组和第二组的虚拟机的数量也可以为一个或至少两个;
对于a种情况,判断该特定的虚拟机是已经开启;
如果判断该特定虚拟机已开启,则获取该特定的虚拟机所在的主机,进而判断该主机上是否有足够的资源;如果该主机有足够的资源,则返回该主机,流程结束;如果该主机没有足够的资源,则获取既满足本机和该特定虚拟机所需资源又满足亲和性规则的新主机,将该特定主机迁移至该新的主机,并返回该新的主机,流程结束;如果没有符合要求的新主机,则输出提示信息,流程结束;
如果该特定虚拟机未开启,则获取特定虚拟机的主机指定规则,根据该指定规则,从主机指定规则中不能运行主机之外的主机中选择一个主机,返回该主机,或者,选择主机指定规则中的指定的主机,返回该主机,流程结束;
对于b种情况,判断该特定的虚拟机是否已经开启;
如果判断该特定虚拟机已开启,则获取该特定的虚拟机所在的主机,在该特定虚拟机所在的主机之外的主机上选择一个主机,返回选择的主机,流程结束;
如果该特定虚拟机未开启,则获取特定虚拟机的主机指定规则,根据该指定规则,从主机指定规则中指定主机之外的主机中选择一个主机,返回该主机,或者,选择主机指定规则中不能运行的主机中选择一个主机,返回该主机,流程结束;
对于c种情况,利用a种情况的策略获取满足条件的第一组主机,以及,利用a种情况的策略获取满足条件的第二组主机中,选择同时在第一组主机和第二组主机的第三组主机,从第三组主机中选择一个,返回该主机,流程结束。
优先的,按照每组虚拟机的硬件配置,对每组虚拟机的各个虚拟机进行排序,具体包括:
获取每组虚拟机中各个虚拟机当前的CPU利用率信息;
利用预先设置的权重信息,对每组虚拟机的硬件配置和所述CPU利用率信息进行计算,得到计算结果;
根据所述计算结果,对每组虚拟机的各个虚拟机进行排序。
举例来说,在对虚拟机执行迁移后,对本次待迁移的虚拟机进行分组后,往往会出现上一次未处理完的分组,对于上述分组,可以结合该虚拟机的CPU利用率与本次的分组共同进行处理;
其中,权重信息和CPU利用率信息的权重可以根据实际情况动态调整。
其中,所述根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机,包括:
获取虚拟机的硬件配置信息;
根据所述虚拟机的硬件配置信息,从符合亲和性规则的主机中,判断主机的资源是否能满足所述虚拟机的硬件配置信息;
选择满足所述虚拟机的硬件配置信息的主机作为目标主机。
图2为本发明提供的计算机可读存储介质的结构图。图2所示计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如下步骤,包括:
获取步骤,在检测到虚拟机执行启动或迁移操作时,获取所述虚拟机的亲和性规则,其中所述亲和性规则用于选择与所述虚拟机运行状态匹配的主机,包括主机亲和性规则和/或虚拟机亲和行规则;其中:
主机亲和性规则用于设置虚拟机指定运行所在的特定的主机,和/或,虚拟机指定不能运行在特定的主机上;
虚拟机亲和性规则用于设置某些虚拟机在同一台主机上运行,和/或,某些虚拟机运行在不同的主机上;
选取步骤,根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机;
控制步骤,控制所述目标主机响应所述虚拟机的运行请求。
本发明提供的一个计算机可读存储介质的实施例中,该程序被处理器执行时在获取虚拟机的亲和性规则之前,还实现如下步骤:
优先级获取步骤,当检测到至少两个虚拟机均满足所述运行状态时,获取所述虚拟机的管理优先级;
其中,所述获取步骤,按照所述虚拟机的管理优先级,获取各个虚拟机的亲和性规则。
本发明提供的一个计算机可读存储介质的实施例中:
该程序被处理器执行获取虚拟机的亲和性规则步骤时,包括:
当检测到有至少两个虚拟机执行迁移操作时,获取各个虚拟机的源主机;
按照所述各个虚拟机的源主机的优先级,将所述各个虚拟机分成至少两组,其中每组虚拟机分别对应执行迁移操作的顺序;
按照所述执行迁移操作的顺序,获取每组虚拟机的亲和性规则;
该程序被处理器执行根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机步骤时,包括:
获取每组虚拟机中各个虚拟机的硬件配置;
按照每组虚拟机的硬件配置,对每组虚拟机的各个虚拟机进行排序;
按照每组虚拟机中的各个虚拟机的排序,为所述虚拟机选取符合配置要求的目标主机。
本发明提供的一个计算机可读存储介质的实施例中该程序被处理器执行按照每组虚拟机的硬件配置,对每组虚拟机的各个虚拟机进行排序步骤时,包括:
获取每组虚拟机中各个虚拟机当前的CPU利用率信息;
利用预先设置的权重信息,对每组虚拟机的硬件配置和所述CPU利用率信息进行计算,得到计算结果;
根据所述计算结果,对每组虚拟机的各个虚拟机进行排序。
本发明提供的一个计算机可读存储介质的实施例中,该程序被处理器执行所述根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机步骤时,包括:
其中,虚拟机亲和性规则包括如下至少一个:
a、虚拟机亲和性,其中虚拟机与特定的虚拟机需运行在同一主机上;
b、虚拟机不亲和性,其中虚拟机与特定的虚拟机不能运行在同一主机上;
c、虚拟机亲和性和虚拟机不亲和性,即该虚拟机与第一组的虚拟机需运行在同一主机上;且该虚拟机与第二组的虚拟机不能运行在同一主机上;
其中,特定的虚拟机为一个或至少两个,第一组和第二组的虚拟机的数量也可以为一个或至少两个;
对于a种情况,判断该特定的虚拟机是已经开启;
如果判断该特定虚拟机已开启,则获取该特定的虚拟机所在的主机,进而判断该主机上是否有足够的资源;如果该主机有足够的资源,则返回该主机,流程结束;如果该主机没有足够的资源,则获取既满足本机和该特定虚拟机所需资源又满足亲和性规则的新主机,将该特定主机迁移至该新的主机,并返回该新的主机,流程结束;如果没有符合要求的新主机,则输出提示信息,流程结束;
如果该特定虚拟机未开启,则获取特定虚拟机的主机指定规则,根据该指定规则,从主机指定规则中不能运行主机之外的主机中选择一个主机,返回该主机,或者,选择主机指定规则中的指定的主机,返回该主机,流程结束;
对于b种情况,判断该特定的虚拟机是否已经开启;
如果判断该特定虚拟机已开启,则获取该特定的虚拟机所在的主机,在该特定虚拟机所在的主机之外的主机上选择一个主机,返回选择的主机,流程结束;
如果该特定虚拟机未开启,则获取特定虚拟机的主机指定规则,根据该指定规则,从主机指定规则中指定主机之外的主机中选择一个主机,返回该主机,或者,选择主机指定规则中不能运行的主机中选择一个主机,返回该主机,流程结束;
对于c种情况,利用a种情况的策略获取满足条件的第一组主机,以及,利用a种情况的策略获取满足条件的第二组主机中,选择同时在第一组主机和第二组主机的第三组主机,从第三组主机中选择一个,返回该主机,流程结束。
本发明提供的计算机可读存储介质,通过获取虚拟机的亲和性规则,来确定虚拟机在性能和/或运行环境的需求,为虚拟机选择合适的主机,实现对虚拟机环境中负载的智能管理,提高虚拟机运行环境的智能调度的精准性。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
Claims (10)
1.一种虚拟机的负载均衡方法,其特征在于,包括:
在检测到虚拟机执行启动或迁移操作时,获取所述虚拟机的亲和性规则,其中所述亲和性规则用于选择与所述虚拟机运行状态匹配的主机;
根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机;
控制所述目标主机响应所述虚拟机的运行请求;
其中,亲和性规则,包括主机亲和性规则和/虚拟机亲和行规则;其中:
主机亲和性规则用于设置虚拟机指定运行所在的特定的主机,和/或,虚拟机指定不能运行在特定的主机上;
虚拟机亲和性规则用于设置某些虚拟机在同一台主机上运行,和/或,某些虚拟机运行在不同的主机上。
2.根据权利要求1所述的方法,其特征在于,所述获取虚拟机的亲和性规则之前,所述方法还包括:
当检测到至少两个虚拟机均满足所述运行状态时,获取所述虚拟机的管理优先级;
按照所述虚拟机的管理优先级,获取各个虚拟机的亲和性规则。
3.根据权利要求1或2所述的方法,其特征在于:
所述获取虚拟机的亲和性规则包括:
当检测到有至少两个虚拟机执行迁移操作时,获取各个虚拟机的源主机;
按照所述各个虚拟机的源主机的优先级,将所述各个虚拟机分成至少两组,其中每组虚拟机分别对应执行迁移操作的顺序;
按照所述执行迁移操作的顺序,获取每组虚拟机的亲和性规则;
所述根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机,包括:
获取每组虚拟机中各个虚拟机的硬件配置;
按照每组虚拟机的硬件配置,对每组虚拟机的各个虚拟机进行排序;
按照每组虚拟机中的各个虚拟机的排序,为所述虚拟机选取符合配置要求的目标主机。
4.根据权利要求3所述的方法,其特征在于,所述按照每组虚拟机的硬件配置,对每组虚拟机的各个虚拟机进行排序,包括:
获取每组虚拟机中各个虚拟机当前的CPU利用率信息;
利用预先设置的权重信息,对每组虚拟机的硬件配置和所述CPU利用率信息进行计算,得到计算结果;
根据所述计算结果,对每组虚拟机的各个虚拟机进行排序。
5.根据权利要求1所述的方法,其特征在于,所述根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机,包括:
其中,虚拟机亲和性规则包括如下至少一个:
a、虚拟机亲和性,其中虚拟机与特定的虚拟机需运行在同一主机上;
b、虚拟机不亲和性,其中虚拟机与特定的虚拟机不能运行在同一主机上;
c、虚拟机亲和性和虚拟机不亲和性,即该虚拟机与第一组的虚拟机需运行在同一主机上;且该虚拟机与第二组的虚拟机不能运行在同一主机上;
其中,特定的虚拟机为一个或至少两个,第一组和第二组的虚拟机的数量也可以为一个或至少两个;
对于a种情况,判断该特定的虚拟机是已经开启;
如果判断该特定虚拟机已开启,则获取该特定的虚拟机所在的主机,进而判断该主机上是否有足够的资源;如果该主机有足够的资源,则返回该主机,流程结束;如果该主机没有足够的资源,则获取既满足本机和该特定虚拟机所需资源又满足亲和性规则的新主机,将该特定主机迁移至该新的主机,并返回该新的主机,流程结束;如果没有符合要求的新主机,则输出提示信息,流程结束;
如果该特定虚拟机未开启,则获取特定虚拟机的主机指定规则,根据该指定规则,从主机指定规则中不能运行主机之外的主机中选择一个主机,返回该主机,或者,选择主机指定规则中的指定的主机,返回该主机,流程结束;
对于b种情况,判断该特定的虚拟机是否已经开启;
如果判断该特定虚拟机已开启,则获取该特定的虚拟机所在的主机,在该特定虚拟机所在的主机之外的主机上选择一个主机,返回选择的主机,流程结束;
如果该特定虚拟机未开启,则获取特定虚拟机的主机指定规则,根据该指定规则,从主机指定规则中指定主机之外的主机中选择一个主机,返回该主机,或者,选择主机指定规则中不能运行的主机中选择一个主机,返回该主机,流程结束;
对于c种情况,利用a种情况的策略获取满足条件的第一组主机,以及,利用a种情况的策略获取满足条件的第二组主机中,选择同时在第一组主机和第二组主机的第三组主机,从第三组主机中选择一个,返回该主机,流程结束。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如下步骤,包括:
获取步骤,在检测到虚拟机执行启动或迁移操作时,获取所述虚拟机的亲和性规则,其中所述亲和性规则用于选择与所述虚拟机运行状态匹配的主机,包括主机亲和性规则和/或虚拟机亲和行规则;其中:
主机亲和性规则用于设置虚拟机指定运行所在的特定的主机,和/或,虚拟机指定不能运行在特定的主机上;
虚拟机亲和性规则用于设置某些虚拟机在同一台主机上运行,和/或,某些虚拟机运行在不同的主机上;
选取步骤,根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机;
控制步骤,控制所述目标主机响应所述虚拟机的运行请求。
7.根据权利要求6所述的计算机可读存储介质,其特征在于,该程序被处理器执行时在获取虚拟机的亲和性规则之前,还实现如下步骤:
优先级获取步骤,当检测到至少两个虚拟机均满足所述运行状态时,获取所述虚拟机的管理优先级;
其中,所述获取步骤,按照所述虚拟机的管理优先级,获取各个虚拟机的亲和性规则。
8.根据权利要求6或7所述的计算机可读存储介质,其特征在于:
该程序被处理器执行获取虚拟机的亲和性规则步骤时,包括:
当检测到有至少两个虚拟机执行迁移操作时,获取各个虚拟机的源主机;
按照所述各个虚拟机的源主机的优先级,将所述各个虚拟机分成至少两组,其中每组虚拟机分别对应执行迁移操作的顺序;
按照所述执行迁移操作的顺序,获取每组虚拟机的亲和性规则;
该程序被处理器执行根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机步骤时,包括:
获取每组虚拟机中各个虚拟机的硬件配置;
按照每组虚拟机的硬件配置,对每组虚拟机的各个虚拟机进行排序;
按照每组虚拟机中的各个虚拟机的排序,为所述虚拟机选取符合配置要求的目标主机。
9.根据权利要求8所述的计算机可读存储介质,其特征在于,该程序被处理器执行按照每组虚拟机的硬件配置,对每组虚拟机的各个虚拟机进行排序步骤时,包括:
获取每组虚拟机中各个虚拟机当前的CPU利用率信息;
利用预先设置的权重信息,对每组虚拟机的硬件配置和所述CPU利用率信息进行计算,得到计算结果;
根据所述计算结果,对每组虚拟机的各个虚拟机进行排序。
10.根据权利要求6所述的计算机可读存储介质,其特征在于,该程序被处理器执行所述根据所述亲和性规则中对主机的配置要求,从主机中选取符合配置要求的目标主机步骤时,包括:
获取虚拟机的硬件配置信息;
根据所述虚拟机的硬件配置信息,从符合亲和性规则的主机中,判断主机的资源是否能满足所述虚拟机的硬件配置信息;
选择满足所述虚拟机的硬件配置信息的主机作为目标主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711113695.4A CN107885579A (zh) | 2017-11-13 | 2017-11-13 | 虚拟机的负载均衡方法和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711113695.4A CN107885579A (zh) | 2017-11-13 | 2017-11-13 | 虚拟机的负载均衡方法和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107885579A true CN107885579A (zh) | 2018-04-06 |
Family
ID=61780215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711113695.4A Pending CN107885579A (zh) | 2017-11-13 | 2017-11-13 | 虚拟机的负载均衡方法和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107885579A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189556A (zh) * | 2018-08-29 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种基于负载均衡的亲和性规则冲突监测方法及装置 |
CN109254829A (zh) * | 2018-08-29 | 2019-01-22 | 郑州云海信息技术有限公司 | 一种基于负载均衡的亲和性规则验证方法及装置 |
CN109857542A (zh) * | 2018-12-14 | 2019-06-07 | 贵州华芯通半导体技术有限公司 | 算力资源调节方法、系统及装置 |
CN111459634A (zh) * | 2020-03-31 | 2020-07-28 | Oppo广东移动通信有限公司 | 任务调度方法、装置、终端及存储介质 |
CN111625338A (zh) * | 2020-05-28 | 2020-09-04 | 广东浪潮大数据研究有限公司 | 一种亲和性规则调度方法、装置及其相关设备 |
CN116089076A (zh) * | 2022-12-30 | 2023-05-09 | 清华大学 | 数据处理方法、装置、计算机设备和存储介质 |
CN116382855A (zh) * | 2023-05-26 | 2023-07-04 | 工业富联(佛山)创新中心有限公司 | 虚拟机迁移方法、电子设备及计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593133A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 虚拟机资源负载均衡方法及装置 |
CN102508718A (zh) * | 2011-11-22 | 2012-06-20 | 杭州华三通信技术有限公司 | 一种虚拟机负载均衡方法和装置 |
CN104615480A (zh) * | 2015-02-04 | 2015-05-13 | 上海交通大学 | 基于numa高性能网络处理器负载的虚拟处理器调度方法 |
CN105607950A (zh) * | 2015-10-30 | 2016-05-25 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机资源配置方法和装置 |
-
2017
- 2017-11-13 CN CN201711113695.4A patent/CN107885579A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593133A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 虚拟机资源负载均衡方法及装置 |
CN102508718A (zh) * | 2011-11-22 | 2012-06-20 | 杭州华三通信技术有限公司 | 一种虚拟机负载均衡方法和装置 |
CN104615480A (zh) * | 2015-02-04 | 2015-05-13 | 上海交通大学 | 基于numa高性能网络处理器负载的虚拟处理器调度方法 |
CN105607950A (zh) * | 2015-10-30 | 2016-05-25 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机资源配置方法和装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189556A (zh) * | 2018-08-29 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种基于负载均衡的亲和性规则冲突监测方法及装置 |
CN109254829A (zh) * | 2018-08-29 | 2019-01-22 | 郑州云海信息技术有限公司 | 一种基于负载均衡的亲和性规则验证方法及装置 |
CN109857542A (zh) * | 2018-12-14 | 2019-06-07 | 贵州华芯通半导体技术有限公司 | 算力资源调节方法、系统及装置 |
CN109857542B (zh) * | 2018-12-14 | 2021-01-29 | 贵州华芯通半导体技术有限公司 | 算力资源调节方法、系统及装置 |
CN111459634A (zh) * | 2020-03-31 | 2020-07-28 | Oppo广东移动通信有限公司 | 任务调度方法、装置、终端及存储介质 |
CN111459634B (zh) * | 2020-03-31 | 2023-11-14 | Oppo广东移动通信有限公司 | 任务调度方法、装置、终端及存储介质 |
CN111625338A (zh) * | 2020-05-28 | 2020-09-04 | 广东浪潮大数据研究有限公司 | 一种亲和性规则调度方法、装置及其相关设备 |
CN111625338B (zh) * | 2020-05-28 | 2024-01-19 | 广东浪潮大数据研究有限公司 | 一种亲和性规则调度方法、装置及其相关设备 |
CN116089076A (zh) * | 2022-12-30 | 2023-05-09 | 清华大学 | 数据处理方法、装置、计算机设备和存储介质 |
CN116089076B (zh) * | 2022-12-30 | 2023-11-28 | 清华大学 | 数据处理方法、装置、计算机设备和存储介质 |
CN116382855A (zh) * | 2023-05-26 | 2023-07-04 | 工业富联(佛山)创新中心有限公司 | 虚拟机迁移方法、电子设备及计算机存储介质 |
CN116382855B (zh) * | 2023-05-26 | 2024-02-20 | 工业富联(佛山)创新中心有限公司 | 虚拟机迁移方法、电子设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107885579A (zh) | 虚拟机的负载均衡方法和计算机可读存储介质 | |
CN110727512B (zh) | 集群资源调度方法、装置、设备及储存介质 | |
CN112153700B (zh) | 一种网络切片资源管理方法及设备 | |
US20210224114A1 (en) | Capacity Analysis Using Closed-System Modules | |
US10044569B2 (en) | Operator fusion management in a stream computing environment | |
CN105740074B (zh) | 一种基于云计算的虚拟机负载均衡方法 | |
CN103797462B (zh) | 一种创建虚拟机的方法和装置 | |
CN107222531B (zh) | 一种容器云资源调度方法 | |
US7941804B1 (en) | Allocating resources among tiered partitions of different types | |
US9027017B2 (en) | Methods and apparatus for movement of virtual resources within a data center environment | |
CN102947790B (zh) | 用于确定应用的部署的方法和系统 | |
WO2017186123A1 (en) | System and method for distributed resource management | |
US11924117B2 (en) | Automated local scaling of compute instances | |
US10333859B2 (en) | Multi-tenant resource coordination method | |
US20170255890A1 (en) | Methods and systems to optimize operating system license costs in a virtual data center | |
US11693679B2 (en) | Systems and methods for recommending optimized virtual-machine configurations | |
Bermejo et al. | Virtualization and consolidation: a systematic review of the past 10 years of research on energy and performance | |
CN109522090B (zh) | 资源调度方法及装置 | |
CN103473136A (zh) | 一种虚拟机的资源配置方法和通信设备 | |
CN110262897B (zh) | 一种基于负载预测的Hadoop计算任务初始分配方法 | |
US12026536B2 (en) | Rightsizing virtual machine deployments in a cloud computing environment | |
US11150957B1 (en) | Application mapping to system resources for instance creation | |
CN109634714B (zh) | 一种智能调度的方法及装置 | |
CN107479950A (zh) | 一种虚拟机调度方法、设备及系统 | |
CN111459684A (zh) | 面向多处理器架构的云计算资源融合调度管理方法、系统及介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180406 |
|
RJ01 | Rejection of invention patent application after publication |