CN110377398A - 一种资源管理方法、装置及主机设备、存储介质 - Google Patents

一种资源管理方法、装置及主机设备、存储介质 Download PDF

Info

Publication number
CN110377398A
CN110377398A CN201910619064.2A CN201910619064A CN110377398A CN 110377398 A CN110377398 A CN 110377398A CN 201910619064 A CN201910619064 A CN 201910619064A CN 110377398 A CN110377398 A CN 110377398A
Authority
CN
China
Prior art keywords
virtual machine
host
resource
load
preset condition
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.)
Granted
Application number
CN201910619064.2A
Other languages
English (en)
Other versions
CN110377398B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910619064.2A priority Critical patent/CN110377398B/zh
Publication of CN110377398A publication Critical patent/CN110377398A/zh
Application granted granted Critical
Publication of CN110377398B publication Critical patent/CN110377398B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution 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

一种资源管理方法、装置及主机设备、存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种资源管理方法、装置及主机设备、存储介质。
背景技术
虚拟化技术通过将一台宿主机虚拟为多台逻辑计算机,可以在一台宿主机上同时运行多个逻辑计算机(即虚拟机),每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高宿主机的工作效率。
宿主机上运行的每一个虚拟机均会占用宿主机的资源,在运行过程中,若对宿主机的资源管理不当,产生虚拟机对资源的争抢,会严重影响某些业务的主机服务。因此,为保证各个业务对应主机服务的稳定性,需要对宿主机的资源进行有效管理。
目前,针对宿主机的资源管理方法通常采用(Control Groups,CGroup),CGroup是Linux内核提供的一种可以限制、记录、隔离进程组所使用的物理资源的机制。该方法为了防止运行过程中虚拟机对资源的争抢,可以对虚拟机进行资源收缩,但在收缩之后不能自适应扩展,使得宿主机的资源无法充分利用,存在宿主机的资源利用率低下的缺点。
发明内容
本发明实施例提供了一种资源管理方法、装置及主机设备、存储介质,可以基于宿主机的负载对宿主机的资源进行资源收缩或资源扩展,有利于提高宿主机资源的利用率。
一方面,本发明实施例提供了一种资源管理方法,包括:
获取宿主机的负载;
当所述宿主机的负载满足第一预设条件时,从所述宿主机上运行的虚拟机中确定出至少一个虚拟机;
对所述至少一个虚拟机进行资源管理,直到所述宿主机的负载满足第二预设条件,所述资源管理包括资源收缩或资源扩展。
另一方面,本发明实施例提供了一种资源管理装置,包括:
获取模块,用于获取宿主机的负载;
处理模块,用于当所述宿主机的负载满足第一预设条件时,从所述宿主机上运行的虚拟机中确定出至少一个虚拟机,并对所述至少一个虚拟机进行资源管理,直到所述宿主机的负载满足第二预设条件,所述资源管理包括资源收缩或资源扩展。
相应地,本发明实施例还提供了一种主机设备,包括:处理器和存储装置;所述存储装置,用于存储程序指令;所述处理器,调用所述程序指令,用于执行:获取宿主机的负载;当所述宿主机的负载满足第一预设条件时,从所述宿主机上运行的虚拟机中确定出至少一个虚拟机;对所述至少一个虚拟机进行资源管理,直到所述宿主机的负载满足第二预设条件,所述资源管理包括资源收缩或资源扩展。
相应地,本发明实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现上述的各方法。
本发明实施例中,可以获取宿主机的负载,当宿主机的负载满足第一预设条件时,从宿主机上运行的虚拟机中确定出至少一个虚拟机,并对至少一个虚拟机进行资源收缩或资源扩展,直到宿主机的负载满足第二预设条件。采用这样的方式,可以基于宿主机的负载对宿主机的资源进行资源收缩或资源扩展,有利于提高宿主机资源的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种CGroup对宿主机资源进行管理的示意图;
图2是本发明实施例的一种虚拟机等级划分的示意图;
图3是本发明实施例的一种对虚拟机资源进行资源收缩的示意图;
图4是本发明实施例的一种对虚拟机资源进行资源扩展的示意图;
图5是本发明实施例的一种资源管理的流程示意图;
图6是本发明实施例的另一种资源管理的流程示意图;
图7是本发明实施例的一种资源管理装置的结构示意图;
图8是本发明实施例的一种主机设备的结构示意图。
具体实施方式
目前,针对宿主机的资源管理方法通常采用CGroup,CGroup是将任意进程进行分组化管理的Linux内核功能,通过CGroup可以实现对宿主机资源的管理。
参见图1所示的采用CGroup对宿主机资源进行管理的示意图,图1中示出了一台宿主机和宿主机上运行的4个虚拟机。其中,该宿主机为一种物理主机,用来运行虚拟机;该虚拟机为在物理主机上运行的虚拟设备。采用CGroup对宿主机的资源进行管理时,可以对每台虚拟机进行资源收缩,具体地,每台虚拟机均限制分配宿主机1/4的资源。后续过程中,无论宿主机的资源是否空闲,对虚拟机的资源限制均不能自适应解除,也即,在虚拟机的运行过程中,每台虚拟机最多可以得到宿主机1/4的资源。
可以看出,采用CGroup对宿主机的资源进行管理对虚拟机的资源收缩不能自适应解除,虚拟机无法获得最大资源,宿主机资源无法充分利用(例如,如图1所示,每台虚拟机最多可以得到宿主机1/4的资源)。
为了解决上述问题,本发明实施例提出了一种资源管理方法,可以获取宿主机的负载,当宿主机的负载满足第一预设条件时,从宿主机上运行的虚拟机中确定出至少一个虚拟机,并对至少一个虚拟机进行资源收缩或资源扩展,直到宿主机的负载满足第二预设条件。采用这样的方式,可以基于宿主机的负载对宿主机的资源进行资源收缩或资源扩展,有利于提高宿主机资源的利用率。
其中,该宿主机的负载可以指宿主机的资源占用率,宿主机的资源主要指宿主机的物理资源,例如可以包括中央处理器(Central Processing Unit,CPU)资源、内存资源或者输入/输出(In put/Out put,I/O)资源等等。
在一个实施例中,上述资源管理方法可以应用于主机设备,该主机设备可以为用于进行资源管理的计算机或者计算机组,本发明对此不作具体限定。
在一个实施例中,可以获取宿主机上运行的各个虚拟机对应的业务重要程度,并基于各个虚拟机对应的业务重要程度确定各个虚拟机的预划分等级。
在一个实施例中可以基于业务重要程度越高,对应预划分等级越高的原则确定各个虚拟机的预划分等级,一个预划分等级可以对应一个或者多个虚拟机。示例性地,请参见图2,假设宿主机上运行有4个虚拟机,分别为第一虚拟机、第二虚拟机、第三虚拟机、第四虚拟机,各个虚拟机对应的业务最重要程度从高到低依次排序为:第一虚拟机、第二虚拟机、第三虚拟机、第四虚拟机。针对这种情况,可以基于业务重要程度越高,对应预划分等级越高的原则将第一虚拟机的预划分等级确定为第一等级,将第二虚拟机的预划分等级确定为第二等级,将第三虚拟机的预划分等级确定为第三等级,将第四虚拟机的预划分等级确定为第四等级,其中,第一等级的等级最高,第二等级的等级次之,第三等级的等级再次之,第四等级的等级最低。
进一步地,在一个实施中,假设第一预设条件为宿主机的负载大于或者等于第一预设负载阈值,第二预设条件为宿主机的负载小于第一预设负载阈值,其中,该第一预设负载阈值为开发人员根据设计需求预先设置的,例如可以为70%。针对这种情况,可以获取宿主机的负载,当检测到宿主机的负载大于或者等于第一预设负载阈值(即宿主机的负载满足第一预设条件)时,可以按照预划分等级从低到高的次序从各个虚拟机中确定出至少一个虚拟机,并对至少一个虚拟机中预划分等级最低的虚拟机进行资源限制。进一步地,在对预划分等级最低的虚拟机进行资源限制之后,若检测到宿主机的负载不满足上述第二预设条件,则对至少一个虚拟机中预划分等级次低的虚拟机进行资源限制,直到资源限制的结果为宿主机的负载满足第二预设条件。
示例性地,请参见图3,假设第一预设条件为宿主机的负载大于或者等于第一预设负载阈值,第二预设条件为宿主机的负载小于第一预设负载阈值,第一预设负载阈值为70%,宿主机上运行有4个虚拟机,分别为第一虚拟机、第二虚拟机、第三虚拟机、第四虚拟机,对应的预划分等级分别为:第一等级、第二等级、第三等级和第四等级,服务器检测到宿主机的负载为90%,大于第一预设负载阈值70%,可以确定宿主机的负载满足第一预设条件。针对这种情况,可以从4个虚拟机中选取预划分等级最低的第四虚拟机,并对第四虚拟机进行资源限制。在对第四虚拟机进行资源限制后,可以检测宿主机的负载是否小于70%(即检测是否满足第二预设条件),若检测到宿主机的负载小于70%,则可以停止对其他虚拟机的资源限制处理;若检测到宿主机的负载仍然大于或者等于70%,则可以继续对预划分等级次低的第三虚拟机进行资源限制。进一步地,在对第三虚拟机进行资源限制后,可以再次检测宿主机的负载是否小于70%,若检测到宿主机的负载小于70%,则可以停止对其他虚拟机的资源限制处理;若检测到宿主机的负载仍然大于或者等于70%,则可以继续对预划分等级次次低的第二虚拟机进行资源限制,以此类推,直至资源限制后的宿主机的负载小于70%。
进一步地,在对至少一个虚拟机进行资源限制后,在一个实施中,假设第一预设条件为宿主机的负载小于或者等于第二预设负载阈值,第二预设条件为宿主机的负载大于第二预设负载阈值,其中,该第二预设负载阈值为开发人员根据设计需求预先设置的,该第二预设负载阈值小于上述第一预设负载阈值,例如可以为30%。针对这种情况,可以获取宿主机的负载,当检测到宿主机的负载小于或者等于第二预设负载阈值时,可以从宿主机上运行的各个虚拟机中确定出资源限制后的虚拟机,并按照预划分等级从高到低的次序从资源限制后的虚拟机中确定出至少一个虚拟机,可以首先对资源限制后的虚拟机中预划分等级最高的虚拟机进行资源扩展。其中,该资源扩展,可以理解为解除对该资源限制后的预划分等级最高的虚拟机的资源限制。进一步地,在对预划分等级最高的虚拟机进行资源扩展之后,若宿主机的负载不满足第二预设条件,则对资源限制后的虚拟机中预划分等级次高的虚拟机进行资源扩展,直到资源扩展的结果为宿主机的负载满足第二预设条件。
示例性地,请参见图4,假设第一预设条件为宿主机的负载小于或者等于第二预设负载阈值,第二预设条件为宿主机的负载大于第二预设负载阈值,第二预设负载阈值为30%,宿主机上运行有4个虚拟机,分别为第一虚拟机、第二虚拟机、第三虚拟机、第四虚拟机,对应的预划分等级分别为:第一等级、第二等级、第三等级和第四等级,其中,第三虚拟机和第四虚拟机已被资源限制,服务器检测到宿主机的负载为20%,小于第二预设负载阈值30%。针对这种情况,服务器可以确定宿主机的负载满足第一预设条件,按照预划分等级从高到低的次序从资源限制后的虚拟机(即图4中的第三虚拟机和第四虚拟机)中首先确定出预划分等级最高的第三虚拟机,并对第三虚拟机进行资源扩展,也即解除对该第三虚拟机的资源限制。进一步地,在对第三虚拟机进行资源扩展后,可以检测宿主机的负载是否大于30%(即检测是否满足第二预设条件),若是,则停止对其他资源限制后的虚拟机进行资源扩展处理;若否,则从资源限制后的虚拟机中确定出预划分等级次高的第四虚拟机,并对该第四虚拟机进行资源扩展,以此类推,直至资源扩展后宿主机的负载大于30%。
在一个实施例中,上述资源管理的方法可以称为动态服务保证(Dynamic Qualityof Service,DQos)方法,该DQOS通过动态方式调整对不同虚拟机的资源收缩或者资源扩展,从而保证关键虚拟机(即预划分等级较高的虚拟机)的服务质量,有利于提升宿主机的利用率。在一个实施例中,该DQOS可以集成为一种软件、系统或者进程等运行在各个虚拟机上,实现对各个虚拟机资源的动态管理,本发明对此不作具体限定。
可以看出,采用DQOS对宿主机中各个虚拟机资源的管理过程中,每次选择被限制(即资源收缩)的虚拟机,总是从预划分等级最低的虚拟机选择,保证高优先级的虚拟机不被限制;在每次选择被解除限制(即资源扩展)的虚拟机时,总是选择优先级高的虚拟机解除限制。DQOS相较于Cgroup对各个虚拟机统一处理的方式,可以充分保证预划分等级较高的虚拟机的资源,进而可以保证重要业务的服务质量。
再请参见图5是本发明实施例的一种资源管理的流程示意图,本发明实施例的所述方法可以由主机设备来执行。本发明实施例的所述方法包括如下步骤。
S501:获取宿主机的负载。
S502:当宿主机的负载满足第一预设条件时,从宿主机上运行的虚拟机中确定出至少一个虚拟机。
S503:对至少一个虚拟机进行资源管理,直到宿主机的负载满足第二预设条件,该资源管理包括资源收缩或资源扩展。
其中,该第一预设条件可以包括第一预设子条件和第二预设子条件,该第二预设条件可以包括第三预设子条件和第三预设子条件,第一预设子条件与第三预设子条件具有对应关系,例如,第一预设子条件为宿主机的负载大于或者等于第一预设负载阈值,则该第一预设子条件对应的第三预设子条件可以为宿主机的负载小于第一预设负载阈值;与之相相似,第二预设子条件与第四预设子条件具有对应关系,例如,假设第二预设子条件为宿主机的负载小于或者等于第二预设负载阈值,则该第二预设子条件对应的第四预设子条件可以为宿主机的负载大于第二预设负载阈值。
在一个实施例中,当检测到宿主机的负载满足第一预设子条件或者第二预设子条件时,均可以确定该宿主机的负载满足第一预设条件;与之相似地,当检测到宿主机的负载满足第三预设子条件或者第四预设子条件时,均可以确定该宿主机的负载满足第二预设条件。
在一个实施例中,第一预设子条件为宿主机的负载大于或者等于第一预设负载阈值,第一预设子条件对应的第三预设子条件为宿主机的负载小于第一预设负载阈值。针对这种情况,可以按照预设周期检测宿主机的负载,当检测到宿主机的负载大于或者等于第一预设负载阈值时,可以从宿主机上运行的虚拟机中选取一个虚拟机,对该虚拟机进行资源收缩。在资源收缩后,检测宿主机的负载是否小于第一预设负载阈值,若小于第一预设负载阈值,则停止对其他虚拟机的资源收缩,若小于第一预设负载阈值,则继续选取下一个虚拟机,执行资源收缩处理,以此类推,直至检测到宿主机的负载小于第一预设负载阈值,则停止选取其他虚拟机进行资源收缩。其中,该预设周期为开发人员预先设置的,基于不同的检测需求可以对该预设周期进行调整,该预设周期例如可以为1分钟。
一个实施例中,第二预设子条件为宿主机的负载小于或者等于第二预设负载阈值,该第二预设子条件对应的第四预设子条件为宿主机的负载大于第二预设负载阈值。在对虚拟机进行资源收缩后,可以继续按照预设周期检测宿主机的负载,当检测到宿主机的负载小于或者等于第二预设负载阈值时,可以从宿主机上运行的虚拟机中确定资源收缩后的虚拟机,并从资源收缩后的虚拟机中选取一个虚拟机,解除对该虚拟机的资源收缩,以实现对该虚拟机的资源扩展。在对该虚拟机进行资源扩展后,可以检测宿主机的负载是否大于第二预设负载阈值(即是否满足第四预设子条件),若检测到宿主机的负载大于第二预设负载阈值,则停止对其他虚拟机的资源扩展,若检测到宿主机的负载不大于第二预设负载阈值,则继续选取下一个资源收缩后的虚拟机,执行资源扩展处理,以此类推,直至检测到宿主机的负载大于第二预设负载阈值,则停止选取其他资源收缩后的虚拟机进行资源扩展。
本发明实施例中,可以获取宿主机的负载,当宿主机的负载满足第一预设条件时,从宿主机上运行的虚拟机中确定出至少一个虚拟机,并对至少一个虚拟机进行资源收缩或资源扩展,直到宿主机的负载满足第二预设条件。采用这样的方式,可以基于宿主机的负载对宿主机的资源进行资源收缩或资源扩展,有利于提高宿主机资源的利用率。
再请参见图6是本发明实施例的另一种资源管理方法的流程示意图,本发明实施例的所述方法可以由主机设备来执行。本发明实施例的所述方法包括如下步骤。
S601:获取宿主机的负载。其中,步骤S601的具体实施方式,可以参见上述实施例中步骤S501的相关描述,此处不再赘述。
S602:当宿主机的负载满足第一预设条件时,获取宿主机上运行的各个虚拟机的预划分等级,并基于各个虚拟机的预划分等级从各个虚拟机中确定出至少一个虚拟机。
S603:对至少一个虚拟机进行资源管理,直到宿主机的负载满足第二预设条件,该资源管理包括资源收缩或资源扩展。
在一个实施例中,可以获取宿主机上运行的各个虚拟机对应的业务重要程度,并基于各个虚拟机对应的业务重要程度确定各个虚拟机的预划分等级。
示例性地,假设宿主机上运行的每一个虚拟机对应一种业务,用户可以预先设置每种业务对应的业务重要程度。针对这种情况,主机设备可以获取用户预先设置的每个虚拟机对应的业务重要程度,并基于业务重要程度越高,对应预划分等级越高的原则确定各个虚拟机的预划分等级。
在一个实施例中,第一预设条件为宿主机的负载大于或者等于第一预设负载阈值,服务器可以按照预划分等级从低到高的次序从各个虚拟机中确定出至少一个虚拟机。
在一个实施例中,当第一预设条件为宿主机的负载大于或者等于第一预设负载阈值时,第二预设条件为宿主机的负载小于第一预设负载阈值,主机设备可以对至少一个虚拟机中预划分等级最低的虚拟机进行资源限制,并在对预划分等级最低的虚拟机进行资源限制之后,若宿主机的负载不满足第二预设条件,则对至少一个虚拟机中预划分等级次低的虚拟机进行资源限制,直到资源限制的结果为宿主机的负载满足第二预设条件。
示例性地,参见图3,假设第一预设条件为宿主机的负载大于或者等于第一预设负载阈值,第二预设条件为宿主机的负载小于第一预设负载阈值,第一预设负载阈值为70%,宿主机上运行有4个虚拟机,分别为第一虚拟机、第二虚拟机、第三虚拟机、第四虚拟机,对应的预划分等级分别为:第一等级、第二等级、第三等级和第四等级。针对这种情况下,主机设备获取宿主机的负载,检测到宿主机的负载为90%,大于第一预设负载阈值70%,可以确定该宿主机的负载满足第一预设条件。进一步地,主机设备可以从4个虚拟机中选取预划分等级最低的第四虚拟机,并对第四虚拟机进行资源限制。在对第四虚拟机进行资源限制后,检测到宿主机的负载为60%,小于第一预设负载阈值70%,可以确定该宿主机的负载满足第二预设条件,进而停止对其他虚拟机(即图3中的第三虚拟机、第四虚拟机、第一虚拟机)的资源限制。
在一个实施例中,在对任一虚拟机进行资源限制时,可以基于预设比例对该任一虚拟机进行资源限制。其中,该预设比例为开发人员基于实验数据预先设置的。示例性地,假设预设比例为50%,该任一虚拟机为第四虚拟机,该第四虚拟当前得到的资源为a,但对该第四虚拟机进行限制时,可以基于预设比例50%,将第四虚拟机对应的资源从a限制为50%*a。
在一个实施例中,第一预设条件为宿主机的负载小于或者等于第二预设负载阈值,当宿主机的负载满足第一预设条件时,可以获取宿主机上运行的各个虚拟机的预划分等级,并从各个虚拟机中确定出资源限制后的虚拟机,进而按照预划分等级从高到低的次序从资源限制后的虚拟机中确定出至少一个虚拟机。
在一个实施例中,当第一预设条件为宿主机的负载小于或者等于第二预设负载阈值时,第二预设条件为宿主机的负载大于第二预设负载阈值。针对这种情况,服务器检测到宿主机的负载小于或者等于第二预设负载阈值时,可以对资源限制后的虚拟机中预划分等级最高的虚拟机进行资源扩展。进一步地,在对预划分等级最高的虚拟机进行资源扩展之后,若宿主机的负载不满足第二预设条件,则对资源限制后的虚拟机中预划分等级次高的虚拟机进行资源扩展,直到资源扩展的结果为宿主机的负载满足该第二预设条件(即宿主机的负载大于第二预设负载阈值)。
示例性地,请参见图4,假设第一预设条件为宿主机的负载小于或者等于第二预设负载阈值,第二预设条件为宿主机的负载大于第二预设负载阈值,第二预设负载阈值为30%,宿主机上运行有4个虚拟机,分别为第一虚拟机、第二虚拟机、第三虚拟机、第四虚拟机,对应的预划分等级分别为:第一等级、第二等级、第三等级和第四等级,其中,第三虚拟机和第四虚拟机已被资源限制,服务器检测到宿主机的负载为20%,小于第二预设负载阈值30%。针对这种情况,服务器可以确定宿主机的负载满足第一预设条件,按照预划分等级从高到低的次序从资源限制后的虚拟机(即图4中的第三虚拟机和第四虚拟机)中首先确定出预划分等级最高的第三虚拟机,并对第三虚拟机进行资源扩展,也即解除对该第三虚拟机的资源限制。进一步地,在对第三虚拟机进行资源扩展后,检测到宿主机的负载由20%增加到60%,大于第二预设负载阈值30%,可以确定该宿主机的负载满足第二预设条件,进而停止对其他资源限制后的虚拟机(即图4中的第三虚拟机)的资源扩展。
本发明实施例中,可以获取宿主机的负载,当宿主机的负载满足第一预设条件时,获取宿主机上运行的各个虚拟机的预划分等级,并基于各个虚拟机的预划分等级从各个虚拟机中确定出至少一个虚拟机,进而对至少一个虚拟机进行资源收缩或资源扩展,直到宿主机的负载满足第二预设条件。采用这样的方式,可以结合各个虚拟机的预划分等级和宿主机的负载对各个虚拟机进行资源收缩和资源扩展,有利于保证预划分优先级高的虚拟机的服务质量。
本发明实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现上述实施例中描述的相应方法。
再请参见图7,是本发明实施例的一种资源管理装置的结构示意图,本发明实施例的所述资源管理装置可以设置在主机设备中,或者也可以设置一些软硬件资源较为丰富的智能终端中,例如一些个人电脑中。
本发明实施例的所述装置的一个实现方式中,所述装置包括如下结构。
获取模块70,用于获取宿主机的负载;
处理模块71,用于当所述宿主机的负载满足第一预设条件时,从所述宿主机上运行的虚拟机中确定出至少一个虚拟机,并对所述至少一个虚拟机进行资源管理,直到所述宿主机的负载满足第二预设条件,所述资源管理包括资源收缩或资源扩展。
在一个实施例中,处理模块71,具体用于获取所述宿主机上运行的各个虚拟机的预划分等级;基于所述各个虚拟机的预划分等级从所述各个虚拟机中确定出至少一个虚拟机。
在一个实施例中,所述第一预设条件为所述宿主机的负载大于或者等于第一预设负载阈值,处理模块71,还具体用于按照预划分等级从低到高的次序从所述各个虚拟机中确定出至少一个虚拟机。
在一个实施例中,所述第二预设条件为所述宿主机的负载小于所述第一预设负载阈值,处理模块71,还具体用于对所述至少一个虚拟机中预划分等级最低的虚拟机进行资源限制;在对所述预划分等级最低的虚拟机进行资源限制之后,若所述宿主机的负载不满足所述第二预设条件,则对所述至少一个虚拟机中预划分等级次低的虚拟机进行资源限制,直到资源限制的结果为所述宿主机的负载满足第二预设条件。
在一个实施例中,所述第一预设条件为所述宿主机的负载小于或者等于第二预设负载阈值,处理模块71,还具体用于从所述各个虚拟机中确定出资源限制后的虚拟机;按照预划分等级从高到低的次序从所述资源限制后的虚拟机中确定出至少一个虚拟机。
在一个实施例中,所述第二预设条件为所述宿主机的负载大于所述第二预设负载阈值,处理模块71,还具体用于对所述资源限制后的虚拟机中预划分等级最高的虚拟机进行资源扩展;在对所述预划分等级最高的虚拟机进行资源扩展之后,若所述宿主机的负载不满足所述第二预设条件,则对所述资源限制后的虚拟机中预划分等级次高的虚拟机进行资源扩展,直到资源扩展的结果为所述宿主机的负载满足第二预设条件。
在本发明实施例中,上述各个模块的具体实现可参考前述各个附图所对应的实施例中相关内容的描述。
本发明实施例中,获取模块70可以获取宿主机的负载,处理模块71当检测到宿主机的负载满足第一预设条件时,从宿主机上运行的虚拟机中确定出至少一个虚拟机,并对至少一个虚拟机进行资源收缩或资源扩展,直到宿主机的负载满足第二预设条件。采用本发明实施例,可以基于宿主机的负载对宿主机的资源进行资源收缩或资源扩展,有利于提高宿主机资源的利用率。
再请参见图8,是本发明实施例的一种主机设备的结构示意图,本发明实施例的所述主机设备包括供电模块等结构,并包括处理器801、存储装置802以及网络接口803。所述处理器801、存储装置802以及网络接口803之间可以交互数据,由处理器801实现相应的资源管理功能。
所述存储装置802可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储装置802也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;所述存储装置802还可以包括上述种类的存储器的组合。
所述处理器801可以是中央处理器801(central processing unit,CPU)。在一个实施例中,所述处理器801还可以是图形处理器801(Graphics Processing Unit,GPU)。所述处理器801也可以是由CPU和GPU的组合。在所述主机设备中,可以根据需要包括多个CPU和GPU进行相应的资源管理。在一个实施例中,所述存储装置802用于存储程序指令。所述处理器801可以调用所述程序指令,实现如本发明实施例中上述涉及的各种方法。
在第一个可能的实施方式中,所述主机设备的所述处理器801,调用所述存储装置802中存储的程序指令,用于获取宿主机的负载,当所述宿主机的负载满足第一预设条件时,从所述宿主机上运行的虚拟机中确定出至少一个虚拟机,对所述至少一个虚拟机进行资源管理,直到所述宿主机的负载满足第二预设条件,所述资源管理包括资源收缩或资源扩展。
在一个实施例中,处理器801,具体用于获取所述宿主机上运行的各个虚拟机的预划分等级;基于所述各个虚拟机的预划分等级从所述各个虚拟机中确定出至少一个虚拟机。
在一个实施例中,所述第一预设条件为所述宿主机的负载大于或者等于第一预设负载阈值,处理器801,还具体用于按照预划分等级从低到高的次序从所述各个虚拟机中确定出至少一个虚拟机。
在一个实施例中,所述第二预设条件为所述宿主机的负载小于所述第一预设负载阈值,处理器801,还具体用于对所述至少一个虚拟机中预划分等级最低的虚拟机进行资源限制;在对所述预划分等级最低的虚拟机进行资源限制之后,若所述宿主机的负载不满足所述第二预设条件,则对所述至少一个虚拟机中预划分等级次低的虚拟机进行资源限制,直到资源限制的结果为所述宿主机的负载满足第二预设条件。
在一个实施例中,所述第一预设条件为所述宿主机的负载小于或者等于第二预设负载阈值,处理器801,还具体用于从所述各个虚拟机中确定出资源限制后的虚拟机;按照预划分等级从高到低的次序从所述资源限制后的虚拟机中确定出至少一个虚拟机。
在一个实施例中,所述第二预设条件为所述宿主机的负载大于所述第二预设负载阈值,处理器801,还具体用于对所述资源限制后的虚拟机中预划分等级最高的虚拟机进行资源扩展;在对所述预划分等级最高的虚拟机进行资源扩展之后,若所述宿主机的负载不满足所述第二预设条件,则对所述资源限制后的虚拟机中预划分等级次高的虚拟机进行资源扩展,直到资源扩展的结果为所述宿主机的负载满足第二预设条件。
在本发明实施例中,所述处理器801的具体实现可参考前述各个附图所对应的实施例中相关内容的描述。
本发明实施例中,处理器801可以获取宿主机的负载,当检测到宿主机的负载满足第一预设条件时,从宿主机上运行的虚拟机中确定出至少一个虚拟机,并对至少一个虚拟机进行资源收缩或资源扩展,直到宿主机的负载满足第二预设条件。采用本发明实施例,可以基于宿主机的负载对宿主机的资源进行资源收缩或资源扩展,有利于提高宿主机资源的利用率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (10)

1.一种资源管理方法,其特征在于,所述方法包括:
获取宿主机的负载;
当所述宿主机的负载满足第一预设条件时,从所述宿主机上运行的虚拟机中确定出至少一个虚拟机;
对所述至少一个虚拟机进行资源管理,直到所述宿主机的负载满足第二预设条件,所述资源管理包括资源收缩或资源扩展。
2.根据权利要求1所述的方法,其特征在于,所述从所述宿主机上运行的虚拟机中确定出至少一个虚拟机,包括:
获取所述宿主机上运行的各个虚拟机的预划分等级;
基于所述各个虚拟机的预划分等级从所述各个虚拟机中确定出至少一个虚拟机。
3.根据权利要求2所述的方法,其特征在于,所述第一预设条件为所述宿主机的负载大于或者等于第一预设负载阈值,所述基于所述各个虚拟机的预划分等级从所述各个虚拟机中确定出至少一个虚拟机,包括:
按照预划分等级从低到高的次序从所述各个虚拟机中确定出至少一个虚拟机。
4.根据权利要求3所述的方法,其特征在于,所述第二预设条件为所述宿主机的负载小于所述第一预设负载阈值,所述对所述至少一个虚拟机进行资源管理,直到所述宿主机的负载满足第二预设条件,包括:
对所述至少一个虚拟机中预划分等级最低的虚拟机进行资源限制;
在对所述预划分等级最低的虚拟机进行资源限制之后,若所述宿主机的负载不满足所述第二预设条件,则对所述至少一个虚拟机中预划分等级次低的虚拟机进行资源限制,直到资源限制的结果为所述宿主机的负载满足所述第二预设条件。
5.根据权利要求2所述的方法,其特征在于,所述第一预设条件为所述宿主机的负载小于或者等于第二预设负载阈值,所述基于所述各个虚拟机的预划分等级从所述各个虚拟机中确定出至少一个虚拟机,包括:
从所述各个虚拟机中确定出资源限制后的虚拟机;
按照预划分等级从高到低的次序从所述资源限制后的虚拟机中确定出至少一个虚拟机。
6.根据权利要求5所述的方法,其特征在于,所述第二预设条件为所述宿主机的负载大于所述第二预设负载阈值,所述对所述至少一个虚拟机进行资源管理,直到所述宿主机的负载满足第二预设条件,包括:
对所述资源限制后的虚拟机中预划分等级最高的虚拟机进行资源扩展;
在对所述预划分等级最高的虚拟机进行资源扩展之后,若所述宿主机的负载不满足所述第二预设条件,则对所述资源限制后的虚拟机中预划分等级次高的虚拟机进行资源扩展,直到资源扩展的结果为所述宿主机的负载满足所述第二预设条件。
7.根据权利要求2所述的方法,其特征在于,所述获取所述宿主机上运行的各个虚拟机的预划分等级之前,所述方法还包括:
获取所述宿主机上运行的各个虚拟机对应的业务重要程度;
基于所述各个虚拟机对应的业务重要程度确定所述各个虚拟机的预划分等级。
8.一种资源管理装置,其特征在于,所述装置包括:
获取模块,用于获取宿主机的负载;
处理模块,用于当所述宿主机的负载满足第一预设条件时,从所述宿主机上运行的虚拟机中确定出至少一个虚拟机,并对所述至少一个虚拟机进行资源管理,直到所述宿主机的负载满足第二预设条件,所述资源管理包括资源收缩或资源扩展。
9.一种主机设备,其特征在于,包括处理器和存储装置,所述处理器和存储装置相互连接,其中,所述存储装置用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机存储介质,其特征在于,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现如权利要求1-7任一项所述的方法。
CN201910619064.2A 2019-07-10 2019-07-10 一种资源管理方法、装置及主机设备、存储介质 Active CN110377398B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910619064.2A CN110377398B (zh) 2019-07-10 2019-07-10 一种资源管理方法、装置及主机设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910619064.2A CN110377398B (zh) 2019-07-10 2019-07-10 一种资源管理方法、装置及主机设备、存储介质

Publications (2)

Publication Number Publication Date
CN110377398A true CN110377398A (zh) 2019-10-25
CN110377398B CN110377398B (zh) 2024-06-25

Family

ID=68250855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910619064.2A Active CN110377398B (zh) 2019-07-10 2019-07-10 一种资源管理方法、装置及主机设备、存储介质

Country Status (1)

Country Link
CN (1) CN110377398B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158861A (zh) * 2019-12-31 2020-05-15 联想(北京)有限公司 一种选择虚拟机运行环境的方法、设备及存储介质
CN111367678A (zh) * 2020-03-31 2020-07-03 中国工商银行股份有限公司 集群资源管理方法及系统
CN114077493A (zh) * 2020-08-21 2022-02-22 荣耀终端有限公司 一种资源分配方法及相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130115553A (ko) * 2012-04-12 2013-10-22 한국전자통신연구원 동적 자원 관리를 위한 2단계 자원 관리 방법 및 장치
CN109918170A (zh) * 2019-01-25 2019-06-21 西安电子科技大学 一种云数据中心虚拟机动态资源配置方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130115553A (ko) * 2012-04-12 2013-10-22 한국전자통신연구원 동적 자원 관리를 위한 2단계 자원 관리 방법 및 장치
CN109918170A (zh) * 2019-01-25 2019-06-21 西安电子科技大学 一种云数据中心虚拟机动态资源配置方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158861A (zh) * 2019-12-31 2020-05-15 联想(北京)有限公司 一种选择虚拟机运行环境的方法、设备及存储介质
CN111367678A (zh) * 2020-03-31 2020-07-03 中国工商银行股份有限公司 集群资源管理方法及系统
CN111367678B (zh) * 2020-03-31 2023-08-22 中国工商银行股份有限公司 集群资源管理方法及系统
CN114077493A (zh) * 2020-08-21 2022-02-22 荣耀终端有限公司 一种资源分配方法及相关设备

Also Published As

Publication number Publication date
CN110377398B (zh) 2024-06-25

Similar Documents

Publication Publication Date Title
CN111052086B (zh) 一种云托管函数的暖启动技术
US9934105B2 (en) Fault tolerance for complex distributed computing operations
US10666574B2 (en) Distributed stream-based database triggers
CN110377398A (zh) 一种资源管理方法、装置及主机设备、存储介质
CN102681895B (zh) 一种动态自迁移云服务方法
US20100332657A1 (en) Selecting a host from a host cluster for live migration of a virtual machine
CN111190745B (zh) 一种数据处理方法、装置及计算机可读存储介质
US20100332658A1 (en) Selecting a host from a host cluster to run a virtual machine
US10884667B2 (en) Storage controller and IO request processing method
Lee et al. Granular computing
CN107273182B (zh) 一种虚拟机资源动态扩充方法及系统
CN101702138A (zh) 一种内存管理方法、系统及服务器
US7784057B2 (en) Single-stack model for high performance parallelism
WO2011127865A2 (zh) 内存转储处理方法和装置及内存转储系统
CN109960579B (zh) 一种调整业务容器的方法及装置
CN111107012A (zh) 一种多维度集中流量的控制方法及系统
CN107038482A (zh) 应用于ai算法工程化、系统化的分布式框架
CN109739634A (zh) 一种原子任务执行方法及装置
WO2020062057A1 (zh) 一种主机升级方法及设备
US20120324194A1 (en) Adjusting the amount of memory allocated to a call stack
CN109669822A (zh) 电子装置、备用存储池的创建方法和计算机可读存储介质
Satpathy et al. A service sustainable live migration strategy for multiple virtual machines in cloud data centers
CN113886012A (zh) 一种自动选择虚拟机热迁移加速方案的方法、装置、设备
CN112306670B (zh) 一种Docker虚拟化场景下的服务器集群优化方法
Sarmila et al. Survey on fault tolerant—Load balancing algorithmsin 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
GR01 Patent grant