CN115373862B - 基于数据中心的动态资源调度方法、系统及存储介质 - Google Patents
基于数据中心的动态资源调度方法、系统及存储介质 Download PDFInfo
- Publication number
- CN115373862B CN115373862B CN202211317825.7A CN202211317825A CN115373862B CN 115373862 B CN115373862 B CN 115373862B CN 202211317825 A CN202211317825 A CN 202211317825A CN 115373862 B CN115373862 B CN 115373862B
- Authority
- CN
- China
- Prior art keywords
- physical host
- load
- virtual machine
- migration
- target physical
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000013508 migration Methods 0.000 claims abstract description 132
- 230000005012 migration Effects 0.000 claims abstract description 132
- 238000012163 sequencing technique Methods 0.000 claims abstract description 7
- 238000012544 monitoring process Methods 0.000 claims description 17
- 238000004088 simulation Methods 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 abstract description 7
- 238000007726 management method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005484 gravity Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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、内存、块存储等基础资源分配不均衡等问题,从而导致数据中心的负载不均衡。
因此,针对上述技术问题,有必要提供一种基于数据中心的动态资源调度方法、系统及存储介质。
发明内容
有鉴于此,本发明的目的在于提供一种基于数据中心的动态资源调度方法、系统及存储介质,以实现数据中心的负载均衡。
为了实现上述目的,本发明一实施例提供的技术方案如下:
一种基于数据中心的动态资源调度方法,所述方法包括以下步骤:
S1、获取数据中心中各物理主机的负载值;
S2、根据所有物理主机的负载值设定第一负载阈值和第二负载阈值,将负载值大于第一负载阈值的物理主机列为源物理主机,将负载值小于第二负载阈值的物理主机列为目标物理主机;
S3、获取源物理主机上每个虚拟机的负载得分,并按照负载得分从小到大对虚拟机进行排序;
S4、从小到大选择源物理主机上的虚拟机,对每个虚拟机寻找待迁移的目标物理主机,并执行虚拟机的模拟迁移;
S5、判断模拟迁移后源物理主机的负载值是否大于第一负载阈值,若是,则建立迁移任务并执行该源物理主机中下一个虚拟机的模拟迁移,若否,则建立迁移任务并结束该源物理主机的模拟迁移;
S6、重复执行步骤S3-S5,完成所有源物理主机的模拟迁移;
S7、根据模拟迁移步骤中所建立的迁移任务,执行虚拟机至目标物理主机的热迁移。
一实施例中,所述步骤S1包括:
一实施例中,所述监控数据包括CPU使用率、内存使用率、磁盘IO中的一种或多种。
一实施例中,所述步骤S2包括:
将负载值大于第一负载阈值的物理主机列为源物理主机,将负载值小于第二负载阈值的物理主机列为目标物理主机。
一实施例中,所述步骤S3中虚拟机的负载得分根据源物理主机上虚拟机的已分配资源和实际负载值获取。
一实施例中,所述步骤S3包括:
其中,为根据虚拟机类型分配的基础属性值,为已分配在源物理主机上的虚拟机个数,j为虚拟机的序号,和分别为个虚拟机中相应基础属性的最大属性值和最小属性值,为虚拟机类型的基础属性对应的权重值,权重值范围为0~1,K为基础属性的总个数,k为基础属性的序号;为该虚拟机的资源实际使用值,和分别为个虚拟机中相应资源实际使用值的最大值和最小值,为相应监控指标的权重值,权重值范围为0~1。
一实施例中,所述步骤S4中对每个虚拟机寻找待迁移的目标物理主机包括:
基于源物理主机中选择的虚拟机类型进行过滤,将满足迁移条件的目标物理主机加入目标物理主机列表中;
获取目标物理主机列表中的各目标物理主机的得分,选择得分最高的目标物理主机作为用于迁移的目标物理主机。
一实施例中,所述步骤S4中,基于源物理主机中选择的虚拟机类型进行过滤,将满足迁移条件的目标物理主机加入目标物理主机列表中具体为:
一实施例中,所述步骤S4还包括:
若是,则判定该目标物理主机满足迁移条件,将该目标物理主机加入目标物理主机列表中,若否,则寻找下一个目标物理主机。
一实施例中,所述步骤S6后还包括:
消除模拟迁移步骤中所建立的链式迁移任务。
本发明另一实施例提供的技术方案如下:
一种基于数据中心的动态资源调度系统,所述系统包括:
负载获取单元,用于获取数据中心中各物理主机的负载值;
物理主机分类单元,用于根据所有物理主机的负载值设定第一负载阈值和第二负载阈值,将负载值大于第一负载阈值的物理主机列为源物理主机,将负载值小于第二负载阈值的物理主机列为目标物理主机;
模拟迁移单元,用于获取源物理主机上每个虚拟机的负载得分,并按照负载得分从小到大对虚拟机进行排序;从小到大选择源物理主机上的虚拟机,对每个虚拟机寻找待迁移的目标物理主机,并执行虚拟机的模拟迁移;及,判断模拟迁移后源物理主机的负载值是否大于第一负载阈值,若是,则建立迁移任务并执行该源物理主机中下一个虚拟机的模拟迁移,若否,则建立迁移任务并结束该源物理主机的模拟迁移;
热迁移单元,用于根据模拟模拟迁移单元中所建立的迁移任务,执行虚拟机至目标物理主机的热迁移。
本发明又一实施例提供的技术方案如下:
一种机器可读存储介质,其存储有可执行指令,当所述指令被执行时使得所述机器执行上述的动态资源调度方法。
本发明具有以下有益效果:
本发明针对负载不均衡的问题,基于动态资源调度算法,根据物理主机和虚拟机的实际负载状态进行动态调整,尽量使物理主机资源使用率处于平均负载值附近,使各个物理主机的资源使用相对均衡,从而避免某些物理主机过载或过低载使用,实现数据中心的负载均衡。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本发明实施例提供的集群系统结构示意图;
图1b为为本发明实施例提供的数据中心的结构示意图;
图2a为本实施例中虚拟机的迁移示意图;
图2b为现有技术中虚拟机迁移方法的流程示意图;
图3为本发明一具体实施例中动态资源调度方法的流程示意图;
图4为本发明一具体实施例中动态资源调度系统的模块示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素。
本发明实施例技术方案,应用于虚拟化集群系统(简称虚拟化集群或集群系统或集群),如图1a和图1b所示,集群系统可包括管理节点和物理主机(计算节点);管理节点可以有一个或多个,例如可以是两个,分为主用管理节点和备用管理节点;计算节点可以有多个。
所述的管理节点和计算节点都是计算机设备,管理节点也可称为管理服务器,计算节点也可称为物理主机。
其中,任一物理主机可包括硬件层、运行在硬件层之上的宿主机、以及运行在宿主机之上的至少一个虚拟机(VM)。
上述硬件层可包括网卡,处理器和内存等。
下面详细说明:
虚拟机VM:通过虚拟化软件可以在一台物理主机上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。
硬件层:虚拟化环境运行的硬件平台。其中,硬件层可包括多种硬件,例如某物理主机的硬件层可包括处理器(例如CPU)和内存,还可以包括网卡(例如RDMA网卡)、存储器等等高速/低速输入/输出(I/O,Input/Output)设备,及具有特定处理功能的其它设备。
宿主机(Host):作为管理层,用以完成硬件资源的管理、分配;为虚拟机呈现虚拟硬件平台;实现虚拟机的调度和隔离。其中,Host可能是虚拟机监控器(VMM);此外,有时VMM和1个特权虚拟机配合,两者结合组成Host。其中,虚拟硬件平台对其上运行的各个虚拟机提供各种硬件资源,如提供虚拟处理器(如VCPU)、虚拟内存、虚拟磁盘、虚拟网卡等等。虚拟磁盘可对应Host的一个文件或者一个逻辑块设备。
虚拟机运行在Host为其准备的虚拟硬件平台上,Host上可运行一个或多个虚拟机。
如图2a所示,物理主机1上运行了多个虚拟主机1-1、1-2、······1-N,物理主机2上运行了多个虚拟机2-1、······2-M。其中,物理主机1上运行的虚拟机1-2将从物理主机1上迁移至物理主机2上,一般地,将物理主机1称为源物理主机,将物理主机2称为目标物理主机。
如图2b所示,表示的是现有的基于静态调度算法的虚拟机迁移流程示意图。其过程大致为:
首先,源物理主机停止其上待迁移虚拟机的运行。
接着,通过网络接口将虚拟机的关键数据(如源物理主机CPU的状态信息、源物理主机的设备信息等)传输至目标物理主机上。
之后,目标物理主机根据上述关键数据恢复虚拟机在目标物理主机上的运行。
虚拟机在目标物理主机上运行时,会出现缺内存页的问题(即图2b中所示的缺页处理),此时源物理主机和目标物理主机间要进行内存页的传输。这个传输过程分为两个部分,第一部分:源物理主机主动将虚拟机存储在其内存区域中的内存页(即未同步的内存页)发送给目标物理主机,这一过程也称为后台主动传输。第二部分:虚拟机在目标物理主机运行中遇到缺失内存页时,进行远程请求调页,此时虚拟机会通过目标物理主机向源物理主机发出缺页请求。该缺页请求中可以携带缺失内存页的信息,如地址信息等。源物理主机接收到该缺页请求后,根据缺失内存页的信息找到虚拟机所需的内存页,将该缺失内存页发送给目标物理主机,虚拟机收到该缺失内存页后,恢复运行。
一般地,由于后台主动传输时的传输数据量较大,传输时间较长,因而后台主动传输往往会占用源物理主机和目标物理主机之间较多或全部的带宽。带宽的拥堵将导致目标物理主机收到缺页请求指示的缺失内存页的时间较长,进而虚拟机在目标物理主机上的停机的时间也较长。而衡量虚拟机迁移的关键指标一个是虚拟机的停机时间,停机时间越长,虚拟机的迁移性能越差;另一个是虚拟机迁移的总时长,总时长越长,虚拟机的迁移性能越差。
针对云计算数据中心负载不均衡问题,本发明提出基于动态资源调度(DRS,Dynamic Resource Scheduler)算法的负载均衡解决方案,周期性获取物理主机和虚拟机的CPU/内存/磁盘IO等监控数据,根据物理主机和虚拟机的实际负载状态进行动态调整,尽量使物理主机资源使用率处于平均负载值附近,使各个物理主机的资源使用相对均衡。从而避免某些物理主机过载或过低载使用,实现数据中心的负载均衡。
动态资源调度方法流程如下:按照触发条件对物理主机进行分类,分为需要迁移的源物理主机和可以进行迁移的目标物理主机。源物理主机是指负载过高、导致无法保证其上运行的虚拟机的服务质量、进而影响用户对云计算平台应用体验的物理主机;目标物理主机用于将源物理主机上的虚拟机迁移到该物理主机上,在保证其上运行的虚拟机服务质量的同时,提高物理主机的资源使用率。
参图3所示,本发明一具体实施例中公开了一种基于数据中心的动态资源调度方法,包括以下步骤:
S1、获取数据中心中各物理主机的负载值;
S2、根据所有物理主机的负载值设定第一负载阈值和第二负载阈值,将负载值大于第一负载阈值的物理主机列为源物理主机,将负载值小于第二负载阈值的物理主机列为目标物理主机;
S3、获取源物理主机上每个虚拟机的负载得分,并按照负载得分从小到大对虚拟机进行排序;
S4、从小到大选择源物理主机上的虚拟机,对每个虚拟机寻找待迁移的目标物理主机,并执行虚拟机的模拟迁移;
S5、判断模拟迁移后源物理主机的负载值是否大于第一负载阈值,若是,则建立迁移任务并执行该源物理主机中下一个虚拟机的模拟迁移,若否,则建立迁移任务并结束该源物理主机的模拟迁移;
S6、重复执行步骤S3-S5,完成所有源物理主机的模拟迁移;
S7、根据模拟迁移步骤中所建立的迁移任务,执行虚拟机至目标物理主机的热迁移。
以下针对各步骤对本发明的具体实施例作进一步说明。
S1、获取数据中心中各物理主机的负载值。
具体步骤如下:
S11、周期性地从监控系统里获取数据中心中物理主机和其上运行的虚拟机最近N个周期内的监控数据(CPU使用率/内存使用率/磁盘IO(即磁盘的读写包速率));
例如:某数据中心某台物理主机,在最近的10个检测周期内CPU使用率分别为10%、60%、40%、50%、45%、70%、65%、80%、90%、90%,则该物理机在10个检测周期内CPU负载的平均值为:
内存和磁盘I/O等负载计算方式与CPU相同,此处不再一一进行赘述。
S2、根据所有物理主机的负载值设定第一负载阈值和第二负载阈值,将负载值大于第一负载阈值的物理主机列为源物理主机,将负载值小于第二负载阈值的物理主机列为目标物理主机。
对所有物理主机的负载值进行平均计算,得到平均负载值,将平均负载值乘以(1±)作为数据中心的负载阈值,为某个具体项的资源平均值的百分比,该值为用户根据资源类型和DRS策略去配置,比如针对CPU配置为0.2。将负载值高于负载阈值上限的物理主机作为需要调整的源物理主机,负载值低于负载阈值下限的物理主机作为虚拟机迁移的目标物理主机。
具体步骤如下:
例如,数据中心内有3台物理主机,记为A、B、C,根据步骤S1计算得到最近10个检测周期内的CPU负载值分别为10%、60%、90%,则3台物理机的平均负载为:
例如,配置为0.2,上述A、B、C三台物理主机中,C的负载值>3台物理主机平均负载值(1+0.2),则将C作为需要迁出虚拟机的源物理主机,A的负载<3台物理主机平均负载值(1-0.2),则将A作为需要迁入虚拟机的目标物理主机。
S3、获取源物理主机上每个虚拟机的负载得分,并按照负载得分从小到大对虚拟机进行排序。
其中,虚拟机的负载得分根据源物理主机上虚拟机的已分配资源和实际负载值获取而得。
具体步骤如下:
其中,为根据虚拟机类型分配的基础属性值,为已分配在源物理主机上的虚拟机个数,j为虚拟机的序号,和分别为个虚拟机中相应基础属性的最大属性值和最小属性值,为虚拟机类型的基础属性对应的权重值,该值根据实际使用场景对CPU、内存、块存储等不同因素的需求设置相应权重值,权重值范围为0~1,能增加对应属性的资源对整体优先级影响的比重,K为基础属性的总个数,k为基础属性的序号。
例如,集群的CPU属性权重值是1,若只考虑CPU属性,则K=1,C节点上有3个虚拟机,3个虚拟机分配的CPU核数分别为2、4、6,则3个虚拟机CPU属性的分配资源得分分别为:
其中,为该虚拟机的资源实际使用值,如虚拟机的CPU使用率、内存使用量、硬盘使用量等,和分别为个虚拟机中相应资源实际使用值的最大值和最小值,为相应监控指标的权重值,可以根据实际使用场景,对CPU、内存、存储等不同因素设置对应的权重值,权重值范围为0~1,能增加对应属性的资源对整体优先级影响的比重。
例如,集群的CPU属性权重值是1,若只考虑CPU属性,则K=1,C节点上有3个虚拟机,3个虚拟机实际使用的CPU核数分别为2、4、6。则3个虚拟机CPU属性的实际负载得分分别为:
根据步骤S31和S32计算的三个虚拟机的分配资源得分和实际负载得分,3个虚拟机最终负载得分分别为:
计算得到虚拟机的负载得分后,按照虚拟机负载得分从小到大对虚拟机进行排序,以执行后续虚拟机的模拟迁移步骤。
S4、从小到大选择源物理主机上的虚拟机,对每个虚拟机寻找待迁移的目标物理主机,并执行虚拟机的模拟迁移。
具体步骤如下:
S41、基于源物理主机中选择的虚拟机类型进行过滤,将满足迁移条件的目标物理主机加入目标物理主机列表中。
其中,为目标物理主机的实际物理资源,为目标物理主机的属性(CPU、内存、块存储等),为目标物理主机对应属性的超配比值,为根据虚拟机类型分配的基础属性值,为已分配在源物理主机上的虚拟机个数,j为虚拟机的序号;
S42、获取目标物理主机列表中的各目标物理主机的得分,选择得分最高的目标物理主机作为用于迁移的目标物理主机。
具体地,对目标物理主机进行归一化计算,并计算各物理主机的得分。从其中选择得分最高的物理主机作为最终的目标物理主机。
进一步地,虚拟机迁移到目标物理主机后,可能会导致该目标物理主机的负载超出负载阈值的上限。为此,在通过虚拟机类型筛选出满足虚拟机资源分配的目标物理主机后,需在此基础上根据待迁移的虚拟机负载值筛选出最终合适的目标物理主机。
若是,则判定该目标物理主机满足迁移条件,将该目标物理主机加入目标物理主机列表中,若否,则寻找下一个目标物理主机,直到没有合适的目标物理主机为止。
上述步骤S3-S5可以完成一个源物理主机的模拟迁移。步骤S3可以完成一个源物理主机中所有虚拟机的排序,步骤S4可以寻找到每个虚拟机对应的目标物理主机,步骤S5可以实现一个源物理主机中若干虚拟机的模拟迁移,从而使该源物理主机的负载值不大于第一负载阈值。
S6、重复执行步骤S3-S5,完成所有源物理主机的模拟迁移。
进一步地,模拟迁移结束后可以建立迁移任务列表,该列表中存储了源物理主机中虚拟机至目标物理主机的迁移任务,为了防止虚拟机二次或链式迁移操作,热迁移步骤前在迁移任务列表中消除链式迁移任务。
例如:虚拟机a从源物理主机A迁移到目标物理主机B,再从目标物理主机B迁移到目标物理主机C,消除链式迁移任务时,将虚拟机a直接从源物理主机A迁移到目标物理主机C并建立迁移任务依赖。
S7、根据模拟迁移步骤中所建立的迁移任务,执行虚拟机至目标物理主机的热迁移。
模拟迁移结束后,执行虚拟机至目标物理主机的热迁移任务,最终实现数据中心的负载均衡。
参图4所示,本发明还公开了一种基于数据中心的动态资源调度系统,包括:
负载获取单元10,用于获取数据中心中各物理主机的负载值;
物理主机分类单元20,用于根据所有物理主机的负载值设定第一负载阈值和第二负载阈值,将负载值大于第一负载阈值的物理主机列为源物理主机,将负载值小于第二负载阈值的物理主机列为目标物理主机;
模拟迁移单元30,用于获取源物理主机上每个虚拟机的负载得分,并按照负载得分从小到大对虚拟机进行排序;从小到大选择源物理主机上的虚拟机,对每个虚拟机寻找待迁移的目标物理主机,并执行虚拟机的模拟迁移;及,判断模拟迁移后源物理主机的负载值是否大于第一负载阈值,若是,则建立迁移任务并执行该源物理主机中下一个虚拟机的模拟迁移,若否,则建立迁移任务并结束该源物理主机的模拟迁移;
热迁移单元40,用于根据模拟模拟迁移单元中所建立的迁移任务,执行虚拟机至目标物理主机的热迁移。
其中,负载获取单元、物理主机分类单元、模拟迁移单元与热迁移单元的具体执行过程参上述动态资源调度方法,此处不再进行赘述。
本发明还公开了一种机器可读存储介质,其存储有可执行指令,当指令被执行时使得机器执行上述的动态资源调度方法。
具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本说明书的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本说明书的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理客户实现,或者,有些单元可能分由多个物理客户实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所对应的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (8)
1.一种基于数据中心的动态资源调度方法,其特征在于,所述方法包括以下步骤:
S1、获取数据中心中各物理主机的负载值;
S2、根据所有物理主机的负载值设定第一负载阈值和第二负载阈值,所述第一负载阈值大于第二负载阈值,将负载值大于第一负载阈值的物理主机列为源物理主机,将负载值小于第二负载阈值的物理主机列为目标物理主机;
S3、获取源物理主机上每个虚拟机的负载得分,并按照负载得分从小到大对虚拟机进行排序;
S4、从小到大选择源物理主机上的虚拟机,对每个虚拟机寻找待迁移的目标物理主机,并执行虚拟机的模拟迁移;
S5、判断模拟迁移后源物理主机的负载值是否大于第一负载阈值,若是,则建立迁移任务并执行该源物理主机中下一个虚拟机的模拟迁移,若否,则建立迁移任务并结束该源物理主机的模拟迁移;
S6、重复执行步骤S3-S5,完成所有源物理主机的模拟迁移;
S7、根据模拟迁移步骤中所建立的迁移任务,执行虚拟机至目标物理主机的热迁移;
所述步骤S3 中虚拟机的负载得分根据源物理主机上虚拟机的已分配资源和实际负载值获取;具体为:
理主机上的虚拟机个数,j为虚拟机的序号,和分别为vms个虚拟机中相应基础属性的最大属性值和最小属性值,为虚拟机类型的基础属性对应的权重值,权重值范围为0~1,K 为基础属性的总个数,k 为基础属性的序号;为该虚拟机的资源实际使用值,和分别为vms个虚拟机中相应资源实际使用值的最大值和最小值,为相应监控指标的权重值,权重值范围为0~1;
所述步骤S4 中对每个虚拟机寻找待迁移的目标物理主机包括:基于源物理主机中选择的虚拟机类型进行过滤,将满足迁移条件的目标物理主机加入目标物理主机列表中;具体为:
具体为:
其中,为目标物理主机的实际物理资源,flavor为目标物理主机的属性,为目标物理主机对应属性的超配比值,为根据虚拟机类型分配的基础属性值,vms为已分配在源物理主机上的虚拟机个数,j 为虚拟机的序号;
理主机加入目标物理主机列表中;
获取目标物理主机列表中的各目标物理主机的得分,选择得分最高的目标
3.根据权利要求2 所述的基于数据中心的动态资源调度方法,其特征在于,所述监控数据包括CPU 使用率、内存使用率、磁盘IO 中的一种或多种。
6.根据权利要求1 所述的基于数据中心的动态资源调度方法,其特征在于,
所述步骤S6 后还包括:
消除模拟迁移步骤中所建立的链式迁移任务。
7.一种基于数据中心的动态资源调度系统,其特征在于,所述系统包括:
负载获取单元,用于获取数据中心中各物理主机的负载值;物理主机分类单元,用于根据所有物理主机的负载值设定第一负载阈值和第二负载阈值,将负载值大于第一负载阈值的物理主机列为源物理主机,将负载值小于第二负载阈值的物理主机列为目标物理主机;
模拟迁移单元,用于获取源物理主机上每个虚拟机的负载得分,并按照负载得分从小到大对虚拟机进行排序;从小到大选择源物理主机上的虚拟机,对每个虚拟机寻找待迁移的目标物理主机,并执行虚拟机的模拟迁移;及,判断模拟迁移后源物理主机的负载值是否大于第一负载阈值,若是,则建立迁移任务并执行该源物理主机中下一个虚拟机的模拟迁移,若否,则建立迁移任务并结束该源物理主机的模拟迁移;
热迁移单元,用于根据模拟模拟迁移单元中所建立的迁移任务,执行虚拟机
至目标物理主机的热迁移;
其中,模拟迁移单元获取源物理主机上每个虚拟机的负载得分,并按照负载得分从小到大对虚拟机进行排序具体为:
其中,为根据虚拟机类型分配的基础属性值,vms为已分配在源物理主机上的虚拟机个数,j 为虚拟机的序号,和分别为vms个虚拟机中相应基础属性的最大属性值和最小属性值,为虚拟机类型的基础属性对应的权重值,权重值范围为0~1,K 为基础属性的总个数,k 为基础属性的序号;为该虚拟机的资源实际使用值,和分别为vms个虚拟机中相应资源实际使用值的最大值和最小值,为相应监控指标的权重值,权重值范围为0~1;
模拟迁移单元对每个虚拟机寻找待迁移的目标物理主机包括:
基于源物理主机中选择的虚拟机类型进行过滤,将满足迁移条件的目标物理主机加入目标物理主机列表中;具体为:
具体为:
其中,为目标物理主机的实际物理资源,flavor为目标物理主机的属性,为目标物理主机对应属性的超配比值,为根据虚拟机类型分配的基础属性值,vms为已分配在源物理主机上的虚拟机个数,j 为虚拟机的序号;
8.一种机器可读存储介质,其存储有可执行指令,当所述指令被执行时使得所述机器执行如权利要求1 至6 中任一所述的动态资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211317825.7A CN115373862B (zh) | 2022-10-26 | 2022-10-26 | 基于数据中心的动态资源调度方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211317825.7A CN115373862B (zh) | 2022-10-26 | 2022-10-26 | 基于数据中心的动态资源调度方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115373862A CN115373862A (zh) | 2022-11-22 |
CN115373862B true CN115373862B (zh) | 2023-04-25 |
Family
ID=84072555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211317825.7A Active CN115373862B (zh) | 2022-10-26 | 2022-10-26 | 基于数据中心的动态资源调度方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115373862B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740074A (zh) * | 2016-01-26 | 2016-07-06 | 中标软件有限公司 | 一种基于云计算的虚拟机负载均衡方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677958B (zh) * | 2013-12-13 | 2017-06-20 | 华为技术有限公司 | 一种虚拟化集群的资源调度方法及装置 |
CN108667859A (zh) * | 2017-03-27 | 2018-10-16 | 中兴通讯股份有限公司 | 一种实现资源调度的方法及装置 |
CN114090235A (zh) * | 2021-10-25 | 2022-02-25 | 北京神舟航天软件技术股份有限公司 | 一种云平台动态负载均衡方法 |
-
2022
- 2022-10-26 CN CN202211317825.7A patent/CN115373862B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740074A (zh) * | 2016-01-26 | 2016-07-06 | 中标软件有限公司 | 一种基于云计算的虚拟机负载均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115373862A (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10958719B2 (en) | Pairwise comparison for load balancing | |
Tseng et al. | A lightweight autoscaling mechanism for fog computing in industrial applications | |
US7882216B2 (en) | Process and methodology for generic analysis of metrics related to resource utilization and performance | |
US8510747B2 (en) | Method and device for implementing load balance of data center resources | |
CN104184813B (zh) | 虚拟机的负载均衡方法和相关设备及集群系统 | |
US7685251B2 (en) | Method and apparatus for management of virtualized process collections | |
Wood et al. | Sandpiper: Black-box and gray-box resource management for virtual machines | |
US9298512B2 (en) | Client placement in a computer network system using dynamic weight assignments on resource utilization metrics | |
US20140082202A1 (en) | Method and Apparatus for Integration of Virtual Cluster and Virtual Cluster System | |
US20080320269A1 (en) | Method and apparatus for ranking of target server partitions for virtual server mobility operations | |
CN104375897B (zh) | 基于最小相对负载不均衡度的云计算资源调度方法 | |
McDaniel et al. | A two-tiered approach to I/O quality of service in docker containers | |
CN106095531A (zh) | 云平台中一种基于等级和物理机负载的虚拟机调度方法 | |
Horchulhack et al. | Detection of quality of service degradation on multi-tenant containerized services | |
Sunil et al. | Energy-efficient virtual machine placement algorithm based on power usage | |
US20150074454A1 (en) | Information processing method and apparatus for migration of virtual disk | |
Shenbaga Moorthy et al. | Optimal provisioning and scheduling of analytics as a service in cloud computing | |
CN111831389A (zh) | 一种数据处理方法、装置以及存储介质 | |
CN115373862B (zh) | 基于数据中心的动态资源调度方法、系统及存储介质 | |
CN118963941A (zh) | 任务分配方法和装置 | |
CN108563489A (zh) | 一种数据中心综合管理系统的虚拟机迁移方法及系统 | |
Singh et al. | Towards VM consolidation using a hierarchy of idle states | |
Alatawi et al. | Hybrid load balancing approach based on the integration of QoS and power consumption in cloud computing | |
Siruvoru et al. | Harmonic Migration Algorithm for Virtual Machine Migration and Switching Strategy in Cloud Computing | |
Kaur et al. | Load balancing and its challenges in cloud computing: A review |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |