CN108228348A - 虚拟机资源分配调度方法、装置、存储介质及设备 - Google Patents

虚拟机资源分配调度方法、装置、存储介质及设备 Download PDF

Info

Publication number
CN108228348A
CN108228348A CN201711423680.8A CN201711423680A CN108228348A CN 108228348 A CN108228348 A CN 108228348A CN 201711423680 A CN201711423680 A CN 201711423680A CN 108228348 A CN108228348 A CN 108228348A
Authority
CN
China
Prior art keywords
host
list
virtual machine
parameter
filter
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
Application number
CN201711423680.8A
Other languages
English (en)
Inventor
李思源
陈泽鑫
彭中强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SF Technology Co Ltd
SF Tech Co Ltd
Original Assignee
SF Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SF Technology Co Ltd filed Critical SF Technology Co Ltd
Priority to CN201711423680.8A priority Critical patent/CN108228348A/zh
Publication of CN108228348A publication Critical patent/CN108228348A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

虚拟机资源分配调度方法、装置、存储介质及设备,所述方法,包括:获取各主机的性能数据;通过判断各所述性能数据是否满足预配置的条件对各所述主机进行过滤,生成第一主机列表;在所述第一主机列表中选取主机进行分配虚拟机。所述装置、存储介质及设备用于实现所述方法。它能够实现对同一批次中,相同应用的虚拟机均匀分布到不同物理机上。

Description

虚拟机资源分配调度方法、装置、存储介质及设备
技术领域
本发明涉及虚拟化平台、云平台,尤其涉及虚拟机资源分配调度方法、装置、存储介质及设备。
背景技术
创建虚拟机时选择分配的物理机,有各种选择策略,但基本没有一个整体的资源分配调度方法既能同时考虑到物理机当前资源使用情况,创建虚拟机本身需要的资源是否充足,又能物理机是否有分配申请多个虚拟机的能力,以及均衡分布同一应用的虚拟机等前提条件。现有的调度方法存在以下问题:
1、不能在一系列的备选物理机中提前筛选掉不符合要求的,筛选方法不可动态调整;
2、同一应用上的虚拟机,不能做到安全隔离;
3、在创建多台虚拟机时,无法充分考虑到物理机当前的资源使用情况,做不到均衡创建到不同的物理机上。
发明内容
为了解决上述技术问题,本发明提出一种虚拟机资源分配调度方法、装置、存储介质及设备,它能够实现对同一批次中,相同应用的虚拟机均匀分布到不同物理机上。
为了实现上述目的,本发明的技术方案为:
一种虚拟机资源分配调度方法,包括:
获取各主机的性能数据;
通过判断各所述性能数据是否满足预配置的条件对各所述主机进行过滤,生成第一主机列表;
在所述第一主机列表中选取主机进行分配虚拟机。
所述获取各主机的性能数据,在执行过程中包括:
申请创建N台虚拟机,选定集群;获取所述集群下的主机数,判定所述主机数是否大于等于所述集群的最小主机数n,若是,则执行:
判断是否能够获取所述集群下N个能够使用的网协,若能够,则执行:
判断是否能够获取所述集群下N个能够使用的主机名,若能够,则获取上述主机名下的主机数据。
所述性能数据包括处理器当前使用率,内存当前使用率,磁盘当前使用率以及一周之内P95值。
所述预配置的条件包括设置以下至少一个过滤器:
第一过滤器,用于过滤掉没有获取到主机数据的主机;
第二过滤器,用于过滤掉主机数据不符合设定条件的主机;
第三过滤器,用于过滤掉libvirtd状态异常的主机;
第四过滤器,用于过滤掉第一参数超过设定阈值的主机;
第五过滤器,用于过滤掉第二参数超过设定阈值的主机。
所述在所述第一主机列表中选取主机进行分配虚拟机,在执行过程中包括:
在所述第一主机列表中的主机上预分配出所要申请的虚拟机资源,通过判断第三参数是否满足预设定的阈值对各主机进行过滤,生成第二主机列表;
对所述第二主机列表中的主机进行分配虚拟机。
所述对所述第二主机列表中的主机进行分配虚拟机,在执行过程中包括:
判定所述第二主机列表中的主机数M是否符合以下条件:
M>N或n<M<N;
若符合,则执行:
将所述第二主机列表中的主机按照第四参数由大到小进行排序得到第三主机列表;取第三主机列表中前mi n(m,N)个主机进行分配虚拟机;所述m为所述第三主机列表中的HOST数。
所述第一参数包括以下至少一项:处理器当前使用率,内存当前使用率,磁盘当前使用率;
所述第三参数包括内存使用率与磁盘使用率;
当m≥N的时候,所述第四参数为主机上同一应用组的虚拟数;
当m<N的时候,所述第四参数为主机磁盘剩余空间。
一种虚拟机资源分配调度装置,包括:
获取单元,配置用于获取各主机的性能数据;
过滤单元,通过判断各所述性能数据是否满足预配置的条件对各所述主机进行过滤,生成第一主机列表;
分配单元,配置用于在所述第一主机列表中选取主机进行分配虚拟机。
一种设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行所述的方法。
一种存储有计算机程序的计算机可读存储介质,该程序被处理器执行时实现所述的方法。
本发明的有益效果是:
1、在筛选具体物理机前,提前获取其他公共资源,比如IP资源、主机名资源,以及预占用申请的虚拟机资源,保证最终筛选出的物理机拥有分配多台虚拟机的能力。
2、过滤器链式设计可横向扩展多个过滤器,逐渐过滤掉不符合要求的物理机。
3、可将同一应用的虚拟机均匀打散到不同的物理机上,做到资源安全隔离。
附图说明
图1示出了根据本申请的实施例的方法流程图。
图2示出了根据本申请的实施例的逻辑流程图。
具体实施方式
为了更好的了解本发明的技术方案,下面结合附图1-2对本发明作进一步说明。
如图1-2所示,一种虚拟机资源分配调度方法,包括:
判定申请创建VM(virtual machine虚拟机)群的集群H下是否具备所需数目的主机名,若具备,则执行:
获取各主机的性能数据。
若不具备,则退出。
判定申请创建VM群的集群H下是否具备所需数目的主机的过程为:
申请创建N台VM,选定环境(机房D下的集群H);获取集群H下所拥有的的HOST(物理主机)数,判定所述HOST数是否大于等于所述集群H的最小HOST数n,若是,则执行:
判断是否能够获取所述集群H下N个能够使用的IP(Internet Protocol,网络之间互连的协议,简称网协),
若不能获取,则返回IP资源不足,退出;
若能够,则执行:
判断是否能够获取所述集群H下N个能够使用的主机名,若能够,则获取上述主机名下的HOST数据。若不能获取,则返回主机名资源不足,退出。
所述HOST数据包括CPU当前使用率,memory当前使用率,disk当前使用率以及一周之内P95值。
通过判断各所述性能数据是否满足预配置的条件对各所述主机进行过滤,生成第一主机列表L1。首先由性能收集脚本按照预设时间收集每台HOST的性能数据,比如cpu、memory、disk的当前使用率、近一周P95值等信息。这些信息将作为调度算法的数据依据。所述预设时间为每5分钟。
然后通过由一系列的HOST过滤器形成的过滤器组进行筛选,从而排除掉不符合设定条件的HOST。选取每台HOST收集的最新性能数据作为过滤数据标准。
其中,过滤器组包括如下:
第一过滤器:过滤掉没有收集到性能数据的HOST,将此视为失联无效的机器。
第二过滤器:过滤掉业务状态、主机数据不符合要求的HOST,比如处于锁定状态的。
第三过滤器:过滤掉libvirtd状态异常的HOST。
第四过滤器:用于过滤掉第一参数超过设定阈值的HOST,所述所述第一参数包括以下至少一项:处理器(CPU)当前使用率,内存(memory)当前使用率,磁盘(disk)当前使用率。即三个参数只要有一个超过设定阈值,便被过滤掉。设定阀值可自行调节,这里设置为cpu不大于80%,memory不超过95%,disk不超过70%。
第五过滤器:用于过滤掉第二参数超过设定阈值的HOST。所述第二参数包括一周之内的P95值。所述的设定阀值可自行调节。P95是指在统计学意义上,用百分位数做参考值,取95%为上限值。
输出上述过滤后的HOST列表为第一主机列表L1,并将其按照HOST磁盘剩余空间从大到小进行排序。
在所述第一主机列表中选取主机进行分配虚拟机。第一主机列表L1的HOST数M可大于预申请的VM数N。而当L1的HOST数小于申请的VM数时,HOST数必须大于集群的最小HOST数。如果不满足该条件,则返回资源不足。这是为了控制分配的VM均衡分布。
对第一主机列表中的HOST预分配出所要申请的N台VM的资源,看分配后第三参数的使用率是否超过预定阀值。这样是用于检验HOST是否有分配资源给VM的能力,从而过滤掉资源不足的HOST。
具体的计算公式如下:
(1)内存使用率阀值
(HOST当前使用+申请内存*申请VM数)/(HOST内存容量-HOST保留内存)>95%
(2)磁盘使用率阀值
(HOST当前使用+申请磁盘*申请VM数)/HOST磁盘容量>70%
输出符合要求(即第三参数超过设定阈值,所述第三参数包括内存使用率与磁盘使用率;即内存使用率阈值与磁盘使用率阈值必须同时满足条件)的HOST列表为第二主机列表L2。
将所述第二主机列表L2中的HOST按照第四参数由大到小进行排序得到第三主机列表L3;取第三主机列表L3中前min(m,N)个HOST进行分配VM;所述m为所述第二主机列表L2中的HOST数。
具体实施过程为:当第二主机列表的HOST数m大于等于申请VM数N,则将第二主机列表中的HOST按照HOST上同一应用组的VM数从大到小排序生成第三主机列表,取前N个HOST组成最终列表并返回。这是为了控制同一应用组的VM打散到不同的HOST上。
而当第二主机列表的HOST数m小于申请VM数N时,则将第二主机列表按照HOST磁盘剩余空间从大到小排序,形成第三主机列表,所述第三主机列表为最终列表并返回。
最终列表上的HOST是最终符合要求的,循环选取其中的HOST来分配VM,从而达到均衡调度的效果。
一种虚拟机资源分配调度装置,包括:
获取单元,配置用于获取各主机的性能数据;
过滤单元,通过判断各所述性能数据是否满足预配置的条件对各所述主机进行过滤,生成第一主机列表;
分配单元,配置用于在所述第一主机列表中选取主机进行分配虚拟机。一种设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行所述的虚拟机资源分配调度方法。
一种存储有计算机程序的计算机可读存储介质,该程序被处理器执行时实现所述的虚拟机资源分配调度方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种虚拟机资源分配调度方法,其特征在于,包括:
获取各主机的性能数据;
通过判断各所述性能数据是否满足预配置的条件对各所述主机进行过滤,生成第一主机列表;
在所述第一主机列表中选取主机进行分配虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述获取各主机的性能数据,在执行过程中包括:
申请创建N台虚拟机,选定集群;获取所述集群下的主机数,判定所述主机数是否大于等于所述集群的最小主机数n,若是,则执行:
判断是否能够获取所述集群下N个能够使用的网协,若能够,则执行:
判断是否能够获取所述集群下N个能够使用的主机名,若能够,则获取上述主机名下的主机数据。
3.根据权利要求1所述的方法,其特征在于,所述性能数据包括处理器当前使用率,内存当前使用率,磁盘当前使用率以及一周之内P95值。
4.根据权利要求1所述的方法,其特征在于,所述预配置的条件包括设置以下至少一个过滤器:
第一过滤器,用于过滤掉没有获取到主机数据的主机;
第二过滤器,用于过滤掉主机数据不符合设定条件的主机;
第三过滤器,用于过滤掉libvirtd状态异常的主机;
第四过滤器,用于过滤掉第一参数超过设定阈值的主机;
第五过滤器,用于过滤掉第二参数超过设定阈值的主机。
5.根据权利要求4所述的方法,其特征在于,所述在所述第一主机列表中选取主机进行分配虚拟机,在执行过程中包括:
在所述第一主机列表中的主机上预分配出所要申请的虚拟机资源,通过判断第三参数是否满足预设定的阈值对各主机进行过滤,生成第二主机列表;
对所述第二主机列表中的主机进行分配虚拟机。
6.根据权利要求5所述的方法,其特征在于,所述对所述第二主机列表中的主机进行分配虚拟机,在执行过程中包括:
判定所述第二主机列表中的主机数M是否符合以下条件:
M>N或n<M<N;
若符合,则执行:
将所述第二主机列表中的主机按照第四参数由大到小进行排序得到第三主机列表;取第三主机列表中前min(m,N)个主机进行分配虚拟机;所述m为所述第三主机列表中的HOST数。
7.根据权利要求6所述的方法,其特征在于,
所述第一参数包括以下至少一项:处理器当前使用率,内存当前使用率,磁盘当前使用率;
所述第三参数包括内存使用率与磁盘使用率;
当m≥N的时候,所述第四参数为主机上同一应用组的虚拟数;
当m<N的时候,所述第四参数为主机磁盘剩余空间。
8.一种虚拟机资源分配调度装置,其特征在于,包括:
获取单元,配置用于获取各主机的性能数据;
过滤单元,通过判断各所述性能数据是否满足预配置的条件对各所述主机进行过滤,生成第一主机列表;
分配单元,配置用于在所述第一主机列表中选取主机进行分配虚拟机。
9.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-7中任一项所述的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
CN201711423680.8A 2017-12-25 2017-12-25 虚拟机资源分配调度方法、装置、存储介质及设备 Pending CN108228348A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711423680.8A CN108228348A (zh) 2017-12-25 2017-12-25 虚拟机资源分配调度方法、装置、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711423680.8A CN108228348A (zh) 2017-12-25 2017-12-25 虚拟机资源分配调度方法、装置、存储介质及设备

Publications (1)

Publication Number Publication Date
CN108228348A true CN108228348A (zh) 2018-06-29

Family

ID=62648643

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711423680.8A Pending CN108228348A (zh) 2017-12-25 2017-12-25 虚拟机资源分配调度方法、装置、存储介质及设备

Country Status (1)

Country Link
CN (1) CN108228348A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750330A (zh) * 2019-10-18 2020-02-04 北京浪潮数据技术有限公司 一种虚拟机创建方法、系统、电子设备及存储介质
CN110858160A (zh) * 2018-08-24 2020-03-03 阿里巴巴集团控股有限公司 资源调度方法及装置、存储介质和处理器
WO2021233152A1 (zh) * 2020-05-21 2021-11-25 中兴通讯股份有限公司 虚拟化网络功能部署方法、管理与编排平台和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683408A (zh) * 2013-11-29 2015-06-03 中国科学院深圳先进技术研究院 OpenStack云计算管理平台建立虚拟机实例的方法和系统
CN106033373A (zh) * 2015-03-11 2016-10-19 苏宁云商集团股份有限公司 一种云计算平台中虚拟机资源调度方法和调度系统
US20170052805A1 (en) * 2015-08-21 2017-02-23 International Business Machines Corporation Placement of virtual machines on preferred physical hosts

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683408A (zh) * 2013-11-29 2015-06-03 中国科学院深圳先进技术研究院 OpenStack云计算管理平台建立虚拟机实例的方法和系统
CN106033373A (zh) * 2015-03-11 2016-10-19 苏宁云商集团股份有限公司 一种云计算平台中虚拟机资源调度方法和调度系统
US20170052805A1 (en) * 2015-08-21 2017-02-23 International Business Machines Corporation Placement of virtual machines on preferred physical hosts

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110858160A (zh) * 2018-08-24 2020-03-03 阿里巴巴集团控股有限公司 资源调度方法及装置、存储介质和处理器
CN110750330A (zh) * 2019-10-18 2020-02-04 北京浪潮数据技术有限公司 一种虚拟机创建方法、系统、电子设备及存储介质
WO2021233152A1 (zh) * 2020-05-21 2021-11-25 中兴通讯股份有限公司 虚拟化网络功能部署方法、管理与编排平台和介质

Similar Documents

Publication Publication Date Title
CN108268317B (zh) 一种资源分配方法及装置
CN109471727B (zh) 一种任务处理方法、装置及系统
JP5463437B2 (ja) システムリソースの再割当てを管理するための方法および装置
EP2193472B1 (en) Method and apparatus for managing license capacity in a telecommunication network
CN110333937A (zh) 任务分发方法、装置、计算机设备和存储介质
CN108228348A (zh) 虚拟机资源分配调度方法、装置、存储介质及设备
CN106445675B (zh) 一种b2b平台分布式应用调度与资源分配方法
CN107968802A (zh) 一种资源调度的方法、装置和过滤式调度器
CN106790636A (zh) 一种云计算服务器集群的均衡负载系统及方法
CN110888732B (zh) 一种资源配置方法、设备、装置和计算机可读存储介质
CN112181585A (zh) 虚拟机的资源分配方法及装置
CN114090176A (zh) 一种基于Kubernetes的容器调度方法
CN106713375A (zh) 云资源的调配方法及装置
CN106681839A (zh) 弹性计算动态分配方法
CN108805397A (zh) 电子装置、分配任务的方法及存储介质
CN115103450B (zh) 一种多业务时隙分配方法和设备
CN113938435A (zh) 数据传输方法、装置、电子设备、存储介质及程序产品
CN105530202B (zh) 一种带宽分配方法及服务器
CN106686081B (zh) 一种数据库服务系统的资源分配方法和装置
CN112965792B (zh) 为多个虚拟机分配内存的方法、计算机可读存储介质
CN109189548B (zh) 资源调度方法、装置、计算机设备及计算机可读存储介质
Mylavarapu et al. An optimized capacity planning approach for virtual infrastructure exhibiting stochastic workload
CN107493607A (zh) 网络资源分配方法及网络资源分配装置
CN114257515B (zh) 一种带宽二次调度方法及装置
Vijayalakshmi et al. Investigations on job scheduling algorithms in cloud computing

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: 20180629

RJ01 Rejection of invention patent application after publication