CN106959889A - 一种服务器资源调整的方法和装置 - Google Patents

一种服务器资源调整的方法和装置 Download PDF

Info

Publication number
CN106959889A
CN106959889A CN201610016718.9A CN201610016718A CN106959889A CN 106959889 A CN106959889 A CN 106959889A CN 201610016718 A CN201610016718 A CN 201610016718A CN 106959889 A CN106959889 A CN 106959889A
Authority
CN
China
Prior art keywords
usage amount
host
virtual machine
resource
packet
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
CN201610016718.9A
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610016718.9A priority Critical patent/CN106959889A/zh
Priority to US15/402,026 priority patent/US20170201574A1/en
Priority to PCT/US2017/012878 priority patent/WO2017123554A1/en
Priority to EP17738807.1A priority patent/EP3403179A4/en
Publication of CN106959889A publication Critical patent/CN106959889A/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供了一种服务器资源调整的方法和装置,所述服务器包括第一主机和第二主机,所述方法包括:按预设采样频率采集第一主机的资源使用量信息,以及,第二主机的资源使用量信息;按预设调整频率,依据所采集的第一主机的资源使用量信息计算第一特征值,以及,依据所采集第二主机的资源使用量信息计算第二特征值;将第一特征值与预设的第一主机资源使用量阈值进行比对,获得第一比对结果,以及,将第二特征值与预设的第二主机资源使用量阈值进行比对获得第二比对结果;依据第一比对结果和/或第二比对结果,调整第一主机和/或第二主机的资源分配,可以完全自适应地进行在线资源调整,可充分适配于各种业务场景,达到资源的最优化配置。

Description

一种服务器资源调整的方法和装置
技术领域
本申请涉及服务器数据处理的技术领域,特别是涉及一种服务器资源调整的方法,以及,一种服务器资源调整的装置。
背景技术
云计算作为一种新型的基于互联网的计算方式已被广泛应用在各个领域。通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。典型的云计算提供商往往提供通用的网络业务应用,可以通过浏览器等软件或者其他Web服务来访问,而软件和数据都存储在服务器上。如何控制云计算的服务质量与成本是日渐重视的问题,其中最重要的控制手段在于确定服务器不同主机的资源配比,即服务器资源分配的问题。
已有的技术往往是通过事先进行静态配置,然后不同主机按照静态配置的内容进行资源分配。但是,线上业务场景千差万别,不可能在事先确定一个完美的静态配置方案以达到资源的最优化配置。由于已有的静态配置方案很难实现资源的最优化配置,则不可避免容易导致资源的耗费,从而严重影响服务的质量和稳定性。
已有技术中,如需要对当前主机的资源分配进行调整,则通常采用人工调整的方式。显然,采用人工调整配置方案的方式,不能及时响应于线上的负载变化来进行调整;再者,人工调整的粒度往往是以集群为单位的,若以独立主机为粒度进行调整,成本不可接受;尤为重要的是,线上人工操作的风险很大,且由此必将带来权限管理方面的问题。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种服务器资源调整的方法和相应的一种服务器资源调整的装置。
为了解决上述问题,本申请公开了一种服务器资源调整的方法,所述服务器包括第一主机和第二主机,所述的方法包括:
按预设采样频率采集所述第一主机的资源使用量信息,以及,所述第二主机的资源使用量信息;
按预设调整频率,依据所采集的第一主机的资源使用量信息计算第一特征值,以及,依据所采集第二主机的资源使用量信息计算第二特征值;其中,所述预设调整频率低于预设采样频率;
将所述第一特征值与预设的第一主机资源使用量阈值进行比对,获得第一比对结果,以及,将所述第二特征值与预设的第二主机资源使用量阈值进行比对获得第二比对结果;
依据第一比对结果和/或第二比对结果,调整所述第一主机和/或第二主机的资源分配。
可选地,所述按预设调整频率,依据所采集的第一主机的资源使用量信息计算第一特征值,以及,依据所采集第二主机的资源使用量信息计算第二特征值的步骤为:
按预设调整频率,计算所采集的第一主机的资源使用量信息的滑动平均值,以及,所采集第二主机的资源使用量信息的滑动平均值。
可选地,所述服务器为KVM虚拟化下的服务器,所述第一主机为宿主机,所述第二主机为虚拟机。
可选地,所述宿主机的资源使用量信息包括宿主机进程分组的资源使用数据,所述虚拟机的资源使用量信息包括虚拟机进程分组的资源使用数据,其中,所述宿主机进程分组包括为所有虚拟机提供服务的相关进程分组;所述虚拟机进程分组为虚拟机本身的进程分组。
可选地,所述按预设采样频率采集所述宿主机的资源使用量信息,以及,所述虚拟机的资源使用量信息的步骤包括:
按预设采样频率从宿主机的指定文件中收集所述宿主机进程分组的资源使用数据,以及,所述虚拟机进程分组的资源使用数据,所述指定文件包括宿主机的/proc文件系统中对应进程的stat文件。
可选地,所述宿主机资源使用量阈值为宿主机资源使用量的上限阈值,所述虚拟机资源使用量阈值为虚拟机资源使用量的上限阈值;
所述依据第一比对结果和/或第二比对结果,调整所述宿主机和/或虚拟机的资源分配的步骤包括:
当所述第一比对结果为,所述第一特征值小于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值小于所述虚拟机资源使用量的上限阈值时,
若第一特征参数比第二特征参数少N倍最小单位资源使用量,则针对虚拟机进程分组设置增加N/2倍的最小单位资源使用量,以及,针对宿主机进程分组减少N/2的最小单位资源使用量;
或者,
若第二特征参数比第一特征参数少N倍最小单位资源使用量,则针对虚拟机进程分组设置减少N/2倍的最小单位资源使用量,以及,针对宿主机进程分组增加N/2倍的最小单位资源使用量;其中,N为正整数,N/2取整。
可选地,所述依据第一比对结果和/或第二比对结果,调整所述宿主机和/或虚拟机的资源分配的步骤还包括:
当所述第一比对结果为,所述第一特征值大于或等于所述宿主机资源使用量的上限阈值,和/或,所述第二比对结果为,所述第二特征值大于或等于所述虚拟机资源使用量的上限阈值时,提取互斥的虚拟机进程分组和宿主机进程分组;
从所述互斥的虚拟机进程分组和宿主机进程分组分配资源。
可选地,所述虚拟机进程分组和宿主机进程分组分别具有优先级,所述从所述互斥的虚拟机进程分组和宿主机进程分组分配资源的子步骤进一步包括:
从所述互斥的虚拟机进程分组和宿主机进程分组中,确定可分配的当前优先级最低的虚拟机进程分组或宿主机进程分组;
占用所述虚拟机进程分组或宿主机进程分组进行资源分配。
可选地,所述依据第一比对结果和/或第二比对结果,调整所述宿主机和/或虚拟机的资源分配的步骤还包括:
发出预警信号,所述预警信号用于指示上层控制系统依据进行热迁移。
可选地,所述依据第一比对结果和/或第二比对结果,调整所述宿主机和/或虚拟机的资源分配的步骤还包括:
当所述第一比对结果为,所述第一特征值大于或等于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值大于或等于所述虚拟机资源使用量的上限阈值时,暂停虚拟机进程分组的资源分配,保持宿主机进程分组的资源分配。
为了解决上述问题,本申请还公开了一种服务器资源调整的装置,所述服务器包括第一主机和第二主机,所述的装置包括:
采集模块,用于按照预设采样频率采集所述第一主机的资源使用量信息,以及,所述第二主机的资源使用量信息;
计算模块,用于按预设调整频率,依据所采集的第一主机的资源使用量信息计算第一特征值,以及,依据所采集第二主机的资源使用量信息计算第二特征值;其中,所述预设调整频率低于预设采样频率;
比对模块,用于将所述第一特征值与预设的第一主机资源使用量阈值进行比对,获得第一比对结果,以及,将所述第二特征值与预设的第二主机资源使用量阈值进行比对获得第二比对结果;
调整模块,用于依据第一比对结果和/或第二比对结果,调整所述第一主机和/或第二主机的资源分配。
可选地,所述服务器为KVM虚拟化下的服务器,所述第一主机为宿主机,所述第二主机为虚拟机。
可选地,所述第一主机的资源使用量信息包括宿主机进程分组的资源使用数据,所述第二主机的资源使用量信息包括虚拟机进程分组的资源使用数据,其中,所述宿主机进程分组包括为所有虚拟机提供服务的相关进程分组;所述虚拟机进程分组为虚拟机本身的进程分组。
可选地,所述第一特征值为所采集的宿主机的资源使用量信息的滑动平均值,所述第二特征值为所采集虚拟机的资源使用量信息的滑动平均值。
可选地,所述宿主机资源使用量阈值为宿主机资源使用量的上限阈值,所述虚拟机资源使用量阈值为虚拟机资源使用量的上限阈值;
所述调整模块包括:
第一调整子模块,用于在所述第一比对结果为,所述第一特征值小于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值小于所述虚拟机资源使用量的上限阈值时,
若第一特征参数比第二特征参数少N倍最小单位资源使用量,则针对虚拟机进程分组设置增加N/2的最小单位资源使用量,以及,针对宿主机进程分组减少N/2的最小单位资源使用量;
或者,
第二调整子模块,用于在所述第一比对结果为,所述第一特征值小于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值小于所述虚拟机资源使用量的上限阈值时,
若第二特征参数比第一特征参数少N倍最小单位资源使用量,则针对虚拟机进程分组设置减少N/2的最小单位资源使用量,以及,针对宿主机进程分组增加N/2的最小单位资源使用量;其中,N为正整数,N/2取整。
可选地,所述调整模块还包括:
第三调整子模块,用于在所述第一比对结果为,所述第一特征值大于或等于所述宿主机资源使用量的上限阈值,和/或,所述第二比对结果为,所述第二特征值大于或等于所述虚拟机资源使用量的上限阈值时,提取互斥的虚拟机进程分组和宿主机进程分组;以及,
互斥分组分配子模块,用于从所述互斥的虚拟机进程分组和宿主机进程分组分配资源。
可选地,所述虚拟机进程分组和宿主机进程分组分别具有优先级,所述互斥分组分配子模块进一步包括:
分组确定单元,用于从所述互斥的虚拟机进程分组和宿主机进程分组中,确定可分配的当前优先级最低的虚拟机进程分组或宿主机进程分组;
占用单元,用于占用所述虚拟机进程分组或宿主机进程分组进行资源分配。
可选地,所述调整模块还包括:
报警子模块,用于发出预警信号;所述预警信号用于指示上层控制系统依据进行热迁移。
可选地,所述调整模块还包括:
第四调整子模块,用于在所述第一比对结果为,所述第一特征值大于或等于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值大于或等于所述虚拟机资源使用量的上限阈值时,暂停虚拟机进程分组的资源分配,保持宿主机进程分组的资源分配。
本申请实施例包括以下优点:
本申请实施例预先设定有第一主机资源使用量的阈值和第二主机资源使用量的阈值,在服务器运行过程中,运行在第一主机上的后台程序以一定采样频率收集第一主机的资源使用数据和第二主机的资源使用数据,再按照预设的调整频率分别计算前面收集的第一主机和第二主机的资源使用数据的特征值(比如滑动平均值),然后基于所计算的特征值相应动态调整服务器的资源配置,本申请可以完全自适应地进行在线资源调整,可充分适配于各种业务场景。
将本申请实施例应用到KVM虚拟化技术中,可以预先设定宿主机资源使用量的阈值和虚拟机资源使用量的阈值,应用本申请实施例,运行在宿主机上的后台程序以一定采样频率收集宿主机关键进程分组的资源使用数据和虚拟机进程分组的资源使用数据,再按照预设的调整频率分别计算前面收集的宿主机关键进程分组的资源使用数据的特征值(比如滑动平均值),以及,虚拟机进程分组的资源使用数据的特征值,然后基于所计算的特征值相应调整Cgroups设置,本申请可以完全自适应地进行在线资源调整,充分适配于各种业务场景,达到资源的最优化配置,毫无人工参与成本与风险。
本申请实施例不以单次采样的结果作为决策依据,而是采用过去一段时间的采样数据的特征值,这样计算得出的数值带有历史信息,不会受到瞬时数据毛刺的影响,更能反映真实的资源使用情况,同时不必大量保存采样数据。
本申请实施例针对资源分配策略调整粒度(Cgroups设置调整粒度)大大细化,以单个宿主机为粒度,从而可以更及时地优化宿主机的资源使用,提升用户体验。
本申请实施例不仅能提供更加灵活的资源配置,还可以在不影响用户体验的情况下优化基础设施的使用率,可以更有效率的使用硬件,长期来看可以大大节约云计算服务的成本。而且本申请实施例能提供一种资源预警机制,提高服务的质量,保证服务的稳定性。
附图说明
图1是本申请的一种服务器资源调整的方法实施例1的步骤流程图;
图2是本申请的一种服务器资源调整的方法实施例2的步骤流程图;
图3是本申请的一种服务器资源调整的装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的核心构思之一在于,通过后台进程在服务器上收集资源使用量信息并相应调整资源配置,从而自适应各种业务场景,达到资源的最优化配置。
参考图1,示出了本申请的一种服务器资源调整的方法实施例1的步骤流程图,其中,所述服务器可以包括第一主机和第二主机,本方法实施例1具体可以包括如下步骤:
步骤101,按预设采样频率采集所述第一主机的资源使用量信息,以及,所述第二主机的资源使用量信息;
步骤102,按预设调整频率,依据所采集的第一主机的资源使用量信息计算第一特征值,以及,依据所采集第二主机的资源使用量信息计算第二特征值;
其中,所述预设调整频率低于预设采样频率。
步骤103,将所述第一特征值与预设的第一主机资源使用量阈值进行比对,获得第一比对结果,以及,将所述第二特征值与预设的第二主机资源使用量阈值进行比对获得第二比对结果;
步骤104,依据第一比对结果和/或第二比对结果,调整所述第一主机和/或第二主机的资源分配。
本实施例通过预先设定第一主机资源使用量的阈值和第二主机资源使用量的阈值,在服务器运行过程中,运行在第一主机上的后台程序以一定采样频率收集第一主机的资源使用数据和第二主机的资源使用数据,再按照预设的调整频率分别计算前面收集的第一主机和第二主机的资源使用数据的特征值,然后基于所计算的特征值相应动态调整服务器的资源配置,本申请可以完全自适应地进行在线资源调整,可充分适配于各种业务场景。
为使本领域技术人员更好地理解本发明,以下将本申请实施例应用在KVM虚拟技术中的一种示例进行详细说明。
KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,它使用Linux自身的调度器进行管理,KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。
虚拟化的一个重要优势是能将多个工作负载整合到一个计算机系统中。这样的整合能够节省电力消耗、成本支出和管理费用。节约的程度取决于超量使用硬件资源,如内存、CPU周期、I/O和网络带宽。但是超量使用必须在确保安全和服务质量的情况下进行,所以有必要将宿主机和虚拟机所占用的资源进行划分和隔离。
在KVM虚拟化下,一般会采用Cgroups对虚拟机和宿主机的资源进行这种隔离,即在KVM虚拟化的宿主机上一般都采用静态的Cgroups策略对资源进行限制。由于对资源进行隔离必然牺牲了资源共享的灵活性。
在KVM虚拟化架构中,虚拟机包括由Qemu进程(主线程和vcpu线程)和vhost-net等内核线程组合而成的运行实体。在不做限制的前提下,这些线程和宿主机上的线程(包括系统的线程和应用程序的线程)会产生竞争关系,这种竞争往往会影响服务质量,甚至在极端情况下导致某些关键服务进程被杀死或导致宿主机崩溃。
在这种情况下,如果盲目提高宿主机进程的优先级,会出现严重降低虚拟机QoS(Quality of Service,服务质量)的情况。为解决上述问题,需要在优先保证宿主机上的关键进程有足够的保证其安全运行资源(cpu资源、memory资源等)的同时,为虚拟机提供尽可能高的QoS,因此可以考虑对服务器上的资源做一定比例的隔离。Cgroups是一种常用的对计算机资源进行隔离的手段。而隔离的比例,即Cgroups的策略,可以采用经验值,或者采用根据在一定负载模型下的测试数据得出的参考值。
KVM虚拟化的宿主机上一般都采用静态的Cgroups策略对资源进行限制。但是不同的用户的应用类型(负载模型)不同,导致对不同资源的使用量需求差别很大。与此同时,实际中也不可能针对集群中的所有宿主机一一调整策略,静态策略调整依据都是一段时间整个集群机器的平均数值。这样的整体调整粒度太粗,无法应对宿主机自身的负载特点。
如果事先确定一些常用的资源分配策略,下发到不同的宿主机分组上,线上再对虚拟机的资源使用类型进行判断,并使用热迁移技术将其迁移到不同的宿主机分组里。这样也可以动态地保证服务质量,但是并不能最大化的优化资源利用率,而且目前热迁移技术限制较大,无法完美的商用化。而且,其中最大的问题是,热迁移过程会不可避免的带来一定时间的服务暂停。而且事先所定的资源分配策略也往往会比较粗糙,没有在线动态调整更加能适应线上瞬息万变的负载变化情况。再者,这些不同的资源分组本身的规模也是难以确定的,很有可能造成新的资源分配不均衡。
因此,若采用上述技术在KVM虚拟化下对服务器资源进行调整仍不可避免存在至少如下问题:
第一,不能实时响应,往往可能发生资源争抢,并且这种资源争抢会影响用户体验很久之后,才会被发现,从而才能做出新的调整;
第二,调整粒度太粗糙,无法针对单个宿主机的负载特点做出有针对性的决策,容易造成资源的浪费和用户体验的下降;
第三,调整需要人工进行,费时费力,有操作风险,带来额外的权限管理成本。
针对以上问题,本申请实施例提出另一核心构思之一在于,通过后台进程在服务器上收集资源使用量信息并相应调整Cgroups设置,从而自适应各种业务场景,达到资源的最优化配置。
参照图2,示出了本申请的一种服务器资源调整的方法实施例2的步骤流程图,其中,所述服务器可以包括宿主机和虚拟机,本申请实施例具体可以包括如下步骤:
步骤201,按预设采样频率采集所述宿主机的资源使用量信息,以及,所述虚拟机的资源使用量信息;
在具体实现中,可以按预设频率f(比如5s一次)收集宿主机上的资源使用量信息采集所述宿主机的资源使用量信息,以及,所述虚拟机的资源使用量信息。
本申请实施例主要基于Cgroups技术对服务器动态分配资源。KVM虚拟机是一种将Linux内核当成Hypervisor的虚拟化技术,一个KVM虚拟机作为一个进程运行在Linux内核上。由于KVM虚拟机是Linux的一个进程,因此可以采用Cgroups机制来进行资源管理,控制每个KVM虚拟机可以使用的物理资源,报告CPU占用率,CPU核心,内存等。Cgroups,其名称源自控制分组(control groups)的简写,是Linux内核的一个功能,用来限制,控制与分离一个进程分组的资源(如CPU、内存、磁盘输入输出等)。可以理解,control group就是一组按照某种标准划分的进程。Cgroups中的资源控制都是以控制分组为单位实现。一个进程可以加入到某个控制分组,也从一个进程分组迁移到另一个控制分组。一个进程分组中的进程可以使用Cgroups以控制分组为单位分配的资源,同时受到Cgroups以控制分组为单位设定的限制。
作为本申请实施例具体应用的一种示例,可以在宿主机上使用Cgroups为虚拟机进程和宿主机进程分别进行分组,在这种情况下,所述宿主机的资源使用量信息可以包括宿主机进程分组的资源使用数据,所述虚拟机的资源使用量信息可以包括虚拟机进程分组的资源使用数据,其中,所述宿主机进程分组可以包括为所有虚拟机提供服务的相关进程分组;所述虚拟机进程分组可以为虚拟机本身的进程分组。
在实际中,所述宿主机进程主要包括宿主机的系统关键进程和对所有虚拟机提供服务的相关进程,所述虚拟机进程主要包括虚拟机本身的进程。
更具体而言,应用本实施例可以按预设采样频率从宿主机的指定文件中收集所述宿主机进程分组的资源使用数据,以及,所述虚拟机进程分组的资源使用数据。例如,所述指定文件可以为宿主机的/proc文件系统中对应进程的stat文件。
当然,本领域技术人员采用任一种方式采集所述宿主机和虚拟机的资源使用量信息都是可行的,本申请对此不作限制。
步骤202,按预设调整频率,依据所采集的宿主机的资源使用量信息计算第一特征值,以及,依据所采集虚拟机的资源使用量信息计算第二特征值;
需要说明的是,用来计算第一特征值和第二特征值的调整频率,高于步骤201中采集资源使用量信息的采样频率。例如,以5s一次的频率采集所述宿主机和虚拟机的资源使用量信息;再按预设调整频率T(比如2h,两个小时)计算前面采集的资源使用量信息的特征值(包括第一特征值和第二特征值),比如,在10:00计算8:00——10:00所采集资源使用量信息的特征值,在12:00计算10:00——12:00所采集资源使用量信息的特征值。
作为本申请实施例具体应用的一种示例,所述采用滑动平均值作为特征值。即应用本申请实施例,可以按预设调整频率,计算所采集的宿主机的资源使用量信息的滑动平均值,以及,所采集虚拟机的资源使用量信息的滑动平均值。
公知的是,滑动平均值是从一个有n项的时间序列中来计算多个连续m项序列的平均值。其中第一个连续m项序列的第一项,是原来n序列的第一项至m项和除以m;第二个连续m项序列的第二项是原来n序列的第二项至第m+1项和除以m;……;最后一个m项序列的第一项是n序列的第(n-m+1)项。滑动平均值因项数m的不同而有不同的名称。例如,m为1、2、3,其滑动平均值分别为1h滑动平均值、2h滑动平均值和3h滑动平均值。
在本申请实施例中,不以单次采样的结果作为决策依据,而是采用过去一段时间的采样数据的特征值,这样计算得出的数值带有历史信息,不会受到瞬时数据毛刺的影响,更能反映真实的资源使用情况,同时不必大量保存采样数据。
当然,以上采用滑动平均值作为特征值的方案仅仅用作示例,本领域技术人员依据实际情况采用任一种特征值均是可行的,比如采用在先多个时间区域的加权滑动平均值,或增加阻尼系数进行计算都是可行的,本申请对此无需加以限制。
步骤203,将所述第一特征值与预设的宿主机资源使用量阈值进行比对,获得第一比对结果,以及,将所述第二特征值与预设的虚拟机资源使用量阈值进行比对获得第二比对结果;
可以理解,所述第一比对结果包括如下三种情形:
所述第一特征值大于所述宿主机资源使用量阈值;
所述第一特征值等于所述宿主机资源使用量阈值;
所述第一特征值小于所述宿主机资源使用量阈值。
所述第二比对结果包括如下三种情形:
所述第二特征值大于所述虚拟机资源使用量阈值;
所述第二特征值等于所述虚拟机资源使用量阈值;
所述第二特征值小于所述虚拟机资源使用量阈值。
作为本申请实施例具体应用的一种示例,所述宿主机资源使用量阈值可以为宿主机资源使用量的上限阈值,所述虚拟机资源使用量阈值可以为虚拟机资源使用量的上限阈值,即分别设置有两条保证系统安全的资源使用量的警戒线。在实际中,可以控制宿主机的资源使用率尽可能远离宿主机资源使用量的上限阈值,以及,控制虚拟机的资源使用率尽可能远离虚拟机资源使用量的上限阈值。以保证两者都在警戒线之下,并合理均分资源。
步骤204,依据第一比对结果和/或第二比对结果,调整所述宿主机和/或虚拟机的资源分配。
在本申请的一种优选实施例中,所述步骤204可以包括如下子步骤:
当所述第一比对结果为,所述第一特征值小于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值小于所述虚拟机资源使用量的上限阈值时,
若第一特征参数比第二特征参数少N倍最小单位资源使用量,则针对虚拟机进程分组设置增加N/2的最小单位资源使用量,以及,针对宿主机进程分组减少N/2的最小单位资源使用量;
或者,
若第二特征参数比第一特征参数少N倍最小单位资源使用量,则针对虚拟机进程分组设置减少N/2的最小单位资源使用量,以及,针对宿主机进程分组增加N/2的最小单位资源使用量;其中,N为正整数,N/2取整。
以cpu利用率为例,应用本申请实施例,预先设定有宿主机资源使用量的上限阈值和虚拟机资源使用量的上限阈值。在实际中,本申请实施例可以作为后台程序运行在宿主机上。后台程序以一定频率f(比如5s一次)收集收集宿主机关键进程分组的资源使用数据和虚拟机进程分组的资源使用数据,每隔一段时间T(比如两个小时)分别计算前面收集的宿主机关键进程分组的资源使用数据的滑动平均值(以下简称宿主机的滑动平均值),以及,虚拟机进程分组的资源使用数据的滑动平均值(以下简称虚拟机的滑动平均值)。
在宿主机的滑动平均值小于所述宿主机资源使用量的上限阈值,并且,虚拟机的滑动平均值也小于虚拟机资源使用量的上限阈值的情况下,如果宿主机的滑动平均值(即宿主机进程分组的cpu利用率(采样数据)的指数阻尼滑动平均值)比虚拟机的滑动平均值(即虚拟机进程分组的cpu利用率(采样数据)的指数阻尼滑动平均值)少N倍最小单位资源使用量(在本实施例中指的是不可分割的资源最小调整单位,比如cpu的一个processor),那么可以调整新的Cgroups限制策略为,将相应的宿主机进程分组的cpuset减少N/2的最小单位资源使用量,而同时将虚拟机进程分组的cpuset增加N/2的最小单位资源使用量。
在具体实现中,可以通过调用Cgroups的文件系统接口来动态更新新的策略。
在本申请的另一种优选实施例中,所述步骤204还可以包括如下子步骤:
当所述第一比对结果为,所述第一特征值大于或等于所述宿主机资源使用量的上限阈值,和/或,所述第二比对结果为,所述第二特征值大于或等于所述虚拟机资源使用量的上限阈值时,提取互斥的虚拟机进程分组和宿主机进程分组;
从所述互斥的虚拟机进程分组和宿主机进程分组分配资源。
更为优选的是,在这种情况下,所述步骤204还可以包括:
发出预警信号,所述预警信号用于指示上层控制系统依据进行热迁移。
在本申请的又一种优选实施例中,所述步骤204还可以包括如下子步骤:
当所述第一比对结果为,所述第一特征值大于或等于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值大于或等于所述虚拟机资源使用量的上限阈值时,暂停虚拟机进程分组的资源分配,保持宿主机进程分组的资源分配。
应用本申请实施例,如果发现有任一进程分组(宿主机进程分组或虚拟机进程分组)超过其预设的上限阈值,立即启动应急模式,在应急模式下,会强制从互斥的进程分组(比如资源不共享的虚拟机进程分组或宿主机进程分组)分配资源。
更具体而言,可以针对所述虚拟机进程分组和宿主机进程分组分别设置优先级,则可以通过如下方式从所述互斥的虚拟机进程分组和宿主机进程分组分配资源:
从所述互斥的虚拟机进程分组和宿主机进程分组中,确定可分配的当前优先级最低的虚拟机进程分组或宿主机进程分组;
占用所述虚拟机进程分组或宿主机进程分组进行资源分配。
例如,宿主机进程分组超过预设上限阈值,于是强制从当前可用于分配的优先级最低的虚拟机进程分组获取资源,即使当前虚拟机进程分组已经超过上限。因为在这种情况下,必然会有一个分组要超出预设上限阈值,只能牺牲优先级低一些的分组。
在实际中,还可以进一步发出预警信号,用以通知上层控制系统启动热迁移等策略。
在极端情况下,如果发现宿主机进程分组和虚拟机进程分组,都超过其预设的上限阈值时,则可以暂停虚拟机进程分组的资源分配,以优先保证宿主机进程分组的资源使用。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图3,示出了本申请的一种服务器资源调整的装置实施例的结构框图,其中,所述服务器可以包括第一主机和第二主机(图中未示出),所述装置实施例具体可以包括以下模块:
采集模块301,用于按预设采样频率采集所述第一主机的资源使用量信息,以及,所述虚拟机的资源使用量信息;
计算模块302,用于按预设调整频率,依据所采集的第一主机的资源使用量信息计算第一特征值,以及,依据所采集第二主机的资源使用量信息计算第二特征值;
其中,所述预设调整频率低于预设采样频率;
比对模块303,用于将所述第一特征值与预设的第一主机资源使用量阈值进行比对,获得第一比对结果,以及,将所述第二特征值与预设的第二主机资源使用量阈值进行比对获得第二比对结果;
调整模块304,用于依据第一比对结果和/或第二比对结果,调整所述第一主机和/或第二主机的资源分配。
作为本申请实施例具体应用的一种示例,所述服务器可以为KVM虚拟化下的服务器,所述第一主机可以为宿主机,所述第二主机可以为虚拟机。
在本申请的一种优选实施例中,所述第一主机的资源使用量信息可以包括宿主机进程分组的资源使用数据,所述第二主机的资源使用量信息可以包括虚拟机进程分组的资源使用数据,其中,所述宿主机进程分组可以包括为所有虚拟机提供服务的相关进程分组;所述虚拟机进程分组为虚拟机本身的进程分组。
作为本申请实施例具体应用的一种示例,所述第一特征值可以为所采集的宿主机的资源使用量信息的滑动平均值,所述第二特征值可以为所采集虚拟机的资源使用量信息的滑动平均值。
在本申请的一种优选实施例中,所述宿主机资源使用量阈值可以为宿主机资源使用量的上限阈值,所述虚拟机资源使用量阈值可以为虚拟机资源使用量的上限阈值;在这种情况下,所述调整模块304可以包括如下子模块:
第一调整子模块3041,用于在所述第一比对结果为,所述第一特征值小于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值小于所述虚拟机资源使用量的上限阈值时,
若第一特征参数比第二特征参数少N倍最小单位资源使用量,则针对虚拟机进程分组设置增加N/2的最小单位资源使用量,以及,针对宿主机进程分组减少N/2的最小单位资源使用量;
或者,
第二调整子模块3042,用于在所述第一比对结果为,所述第一特征值小于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值小于所述虚拟机资源使用量的上限阈值时,
若第二特征参数比第一特征参数少N倍最小单位资源使用量,则针对虚拟机进程分组设置减少N/2的最小单位资源使用量,以及,针对宿主机进程分组增加N/2的最小单位资源使用量;其中,N为正整数,N/2取整。
作为本申请的另一种优选实施例,所述调整模块304还可以包括如下子模块:
第三调整子模块3043,用于在所述第一比对结果为,所述第一特征值大于或等于所述宿主机资源使用量的上限阈值,和/或,所述第二比对结果为,所述第二特征值大于或等于所述虚拟机资源使用量的上限阈值时,提取互斥的虚拟机进程分组和宿主机进程分组;
互斥分组分配子模块3044,用于从所述互斥的虚拟机进程分组和宿主机进程分组分配资源。
作为本申请实施例具体应用的一种示例,所述虚拟机进程分组和宿主机进程分组分别具有优先级,在这种情况下,所述互斥分组分配子模块3044可以进一步包括如下单元:
分组确定单元441,用于从所述互斥的虚拟机进程分组和宿主机进程分组中,确定可分配的当前优先级最低的虚拟机进程分组或宿主机进程分组;
占用单元442,用于占用所述虚拟机进程分组或宿主机进程分组进行资源分配。
更为优选的是,所述调整模块304还可以包括如下子模块:
报警子模块3045,用于发出预警信号;所述预警信号用于指示上层控制系统依据进行热迁移。
作为本申请的又一种优选实施例,所述调整模块304还可以包括如下子模块:
第四调整子模块3046,用于在所述第一比对结果为,所述第一特征值大于或等于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值大于或等于所述虚拟机资源使用量的上限阈值时,暂停虚拟机进程分组的资源分配,保持宿主机进程分组的资源分配。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种服务器资源调整的方法,以及,一种服务器资源调整的装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (19)

1.一种服务器资源调整的方法,其特征在于,所述服务器包括第一主机和第二主机,所述的方法包括:
按预设采样频率采集所述第一主机的资源使用量信息,以及,所述第二主机的资源使用量信息;
按预设调整频率,依据所采集的第一主机的资源使用量信息计算第一特征值,以及,依据所采集第二主机的资源使用量信息计算第二特征值;其中,所述预设调整频率低于预设采样频率;
将所述第一特征值与预设的第一主机资源使用量阈值进行比对,获得第一比对结果,以及,将所述第二特征值与预设的第二主机资源使用量阈值进行比对获得第二比对结果;
依据第一比对结果和/或第二比对结果,调整所述第一主机和/或第二主机的资源分配。
2.根据权利要求1所述的方法,其特征在于,所述按预设调整频率,依据所采集的第一主机的资源使用量信息计算第一特征值,以及,依据所采集第二主机的资源使用量信息计算第二特征值的步骤为:
按预设调整频率,计算所采集的第一主机的资源使用量信息的滑动平均值,以及,所采集第二主机的资源使用量信息的滑动平均值。
3.根据权利要求1或2所述的方法,其特征在于,所述服务器为KVM虚拟化下的服务器,所述第一主机为宿主机,所述第二主机为虚拟机。
4.根据权利要求3所述的方法,其特征在于,所述宿主机的资源使用量信息包括宿主机进程分组的资源使用数据,所述虚拟机的资源使用量信息包括虚拟机进程分组的资源使用数据,其中,所述宿主机进程分组包括为所有虚拟机提供服务的相关进程分组;所述虚拟机进程分组为虚拟机本身的进程分组。
5.根据权利要求4所述的方法,其特征在于,所述按预设采样频率采集所述宿主机的资源使用量信息,以及,所述虚拟机的资源使用量信息的步骤包括:
按预设采样频率从宿主机的指定文件中收集所述宿主机进程分组的资源使用数据,以及,所述虚拟机进程分组的资源使用数据,所述指定文件包括宿主机的/proc文件系统中对应进程的stat文件。
6.根据权利要求5所述的方法,其特征在于,所述宿主机资源使用量阈值为宿主机资源使用量的上限阈值,所述虚拟机资源使用量阈值为虚拟机资源使用量的上限阈值;
所述依据第一比对结果和/或第二比对结果,调整所述宿主机和/或虚拟机的资源分配的步骤包括:
当所述第一比对结果为,所述第一特征值小于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值小于所述虚拟机资源使用量的上限阈值时,
若第一特征参数比第二特征参数少N倍最小单位资源使用量,则针对虚拟机进程分组设置增加N/2倍的最小单位资源使用量,以及,针对宿主机进程分组减少N/2的最小单位资源使用量;
或者,
若第二特征参数比第一特征参数少N倍最小单位资源使用量,则针对虚拟机进程分组设置减少N/2倍的最小单位资源使用量,以及,针对宿主机进程分组增加N/2倍的最小单位资源使用量;其中,N为正整数,N/2取整。
7.根据权利要求6所述的方法,其特征在于,所述依据第一比对结果和/或第二比对结果,调整所述宿主机和/或虚拟机的资源分配的步骤还包括:
当所述第一比对结果为,所述第一特征值大于或等于所述宿主机资源使用量的上限阈值,和/或,所述第二比对结果为,所述第二特征值大于或等于所述虚拟机资源使用量的上限阈值时,提取互斥的虚拟机进程分组和宿主机进程分组;
从所述互斥的虚拟机进程分组和宿主机进程分组分配资源。
8.根据权利要求7所述的方法,其特征在于,所述虚拟机进程分组和宿主机进程分组分别具有优先级,所述从所述互斥的虚拟机进程分组和宿主机进程分组分配资源的子步骤进一步包括:
从所述互斥的虚拟机进程分组和宿主机进程分组中,确定可分配的当前优先级最低的虚拟机进程分组或宿主机进程分组;
占用所述虚拟机进程分组或宿主机进程分组进行资源分配。
9.根据权利要求4或5或6或7或8所述的方法,其特征在于,所述依据第一比对结果和/或第二比对结果,调整所述宿主机和/或虚拟机的资源分配的步骤还包括:
发出预警信号,所述预警信号用于指示上层控制系统依据进行热迁移。
10.根据权利要求4或5或6或7或8所述的方法,其特征在于,所述依据第一比对结果和/或第二比对结果,调整所述宿主机和/或虚拟机的资源分配的步骤还包括:
当所述第一比对结果为,所述第一特征值大于或等于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值大于或等于所述虚拟机资源使用量的上限阈值时,暂停虚拟机进程分组的资源分配,保持宿主机进程分组的资源分配。
11.一种服务器资源调整的装置,其特征在于,所述服务器包括第一主机和第二主机,所述的装置包括:
采集模块,用于按照预设采样频率采集所述第一主机的资源使用量信息,以及,所述第二主机的资源使用量信息;
计算模块,用于按预设调整频率,依据所采集的第一主机的资源使用量信息计算第一特征值,以及,依据所采集第二主机的资源使用量信息计算第二特征值;其中,所述预设调整频率低于预设采样频率;
比对模块,用于将所述第一特征值与预设的第一主机资源使用量阈值进行比对,获得第一比对结果,以及,将所述第二特征值与预设的第二主机资源使用量阈值进行比对获得第二比对结果;
调整模块,用于依据第一比对结果和/或第二比对结果,调整所述第一主机和/或第二主机的资源分配。
12.根据权利要求11所述的装置,其特征在于,所述服务器为KVM虚拟化下的服务器,所述第一主机为宿主机,所述第二主机为虚拟机。
13.根据权利要求12所述的装置,其特征在于,所述第一主机的资源使用量信息包括宿主机进程分组的资源使用数据,所述第二主机的资源使用量信息包括虚拟机进程分组的资源使用数据,其中,所述宿主机进程分组包括为所有虚拟机提供服务的相关进程分组;所述虚拟机进程分组为虚拟机本身的进程分组。
14.根据权利要求11或12或13所述的装置,其特征在于,所述第一特征值为所采集的宿主机的资源使用量信息的滑动平均值,所述第二特征值为所采集虚拟机的资源使用量信息的滑动平均值。
15.根据权利要求14所述的装置,其特征在于,所述宿主机资源使用量阈值为宿主机资源使用量的上限阈值,所述虚拟机资源使用量阈值为虚拟机资源使用量的上限阈值;
所述调整模块包括:
第一调整子模块,用于在所述第一比对结果为,所述第一特征值小于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值小于所述虚拟机资源使用量的上限阈值时,
若第一特征参数比第二特征参数少N倍最小单位资源使用量,则针对虚拟机进程分组设置增加N/2的最小单位资源使用量,以及,针对宿主机进程分组减少N/2的最小单位资源使用量;
或者,
第二调整子模块,用于在所述第一比对结果为,所述第一特征值小于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值小于所述虚拟机资源使用量的上限阈值时,
若第二特征参数比第一特征参数少N倍最小单位资源使用量,则针对虚拟机进程分组设置减少N/2的最小单位资源使用量,以及,针对宿主机进程分组增加N/2的最小单位资源使用量;其中,N为正整数,N/2取整。
16.根据权利要求15所述的装置,其特征在于,所述调整模块还包括:
第三调整子模块,用于在所述第一比对结果为,所述第一特征值大于或等于所述宿主机资源使用量的上限阈值,和/或,所述第二比对结果为,所述第二特征值大于或等于所述虚拟机资源使用量的上限阈值时,提取互斥的虚拟机进程分组和宿主机进程分组;以及,
互斥分组分配子模块,用于从所述互斥的虚拟机进程分组和宿主机进程分组分配资源。
17.根据权利要求16所述的装置,其特征在于,所述虚拟机进程分组和宿主机进程分组分别具有优先级,所述互斥分组分配子模块进一步包括:
分组确定单元,用于从所述互斥的虚拟机进程分组和宿主机进程分组中,确定可分配的当前优先级最低的虚拟机进程分组或宿主机进程分组;
占用单元,用于占用所述虚拟机进程分组或宿主机进程分组进行资源分配。
18.根据权利要求15或16或17所述的装置,其特征在于,所述调整模块还包括:
报警子模块,用于发出预警信号;所述预警信号用于指示上层控制系统依据进行热迁移。
19.根据权利要求15或16或17所述的装置,其特征在于,所述调整模块还包括:
第四调整子模块,用于在所述第一比对结果为,所述第一特征值大于或等于所述宿主机资源使用量的上限阈值,并且,所述第二比对结果为,所述第二特征值大于或等于所述虚拟机资源使用量的上限阈值时,暂停虚拟机进程分组的资源分配,保持宿主机进程分组的资源分配。
CN201610016718.9A 2016-01-11 2016-01-11 一种服务器资源调整的方法和装置 Pending CN106959889A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610016718.9A CN106959889A (zh) 2016-01-11 2016-01-11 一种服务器资源调整的方法和装置
US15/402,026 US20170201574A1 (en) 2016-01-11 2017-01-09 Method, system, and device for allocating resources in a server
PCT/US2017/012878 WO2017123554A1 (en) 2016-01-11 2017-01-10 Method, system, and device for allocating resources in a server
EP17738807.1A EP3403179A4 (en) 2016-01-11 2017-01-10 METHOD, SYSTEM AND DEVICE FOR ASSIGNING RESOURCES IN A SERVER

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610016718.9A CN106959889A (zh) 2016-01-11 2016-01-11 一种服务器资源调整的方法和装置

Publications (1)

Publication Number Publication Date
CN106959889A true CN106959889A (zh) 2017-07-18

Family

ID=59276246

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610016718.9A Pending CN106959889A (zh) 2016-01-11 2016-01-11 一种服务器资源调整的方法和装置

Country Status (4)

Country Link
US (1) US20170201574A1 (zh)
EP (1) EP3403179A4 (zh)
CN (1) CN106959889A (zh)
WO (1) WO2017123554A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688483A (zh) * 2017-09-04 2018-02-13 郑州云海信息技术有限公司 一种读写控制方法及控制装置
CN109857518A (zh) * 2019-01-08 2019-06-07 平安科技(深圳)有限公司 一种网络资源的分配方法及设备
CN109918189A (zh) * 2017-12-12 2019-06-21 腾讯科技(深圳)有限公司 一种资源管理方法及相关设备
CN110609743A (zh) * 2018-06-15 2019-12-24 伊姆西Ip控股有限责任公司 用于配置资源的方法、电子设备和计算机程序产品
CN111580957A (zh) * 2020-04-17 2020-08-25 山东信通电子股份有限公司 一种无源设备虚拟空间的资源分配方法、设备及装置
CN112052072A (zh) * 2020-09-10 2020-12-08 华云数据控股集团有限公司 一种虚拟机的调度策略及超融合系统
CN113467884A (zh) * 2021-05-25 2021-10-01 阿里巴巴新加坡控股有限公司 资源配置方法和装置、电子设备及计算机可读存储介质
CN113568710A (zh) * 2021-08-03 2021-10-29 罗慧 一种虚拟机高可用实现方法、装置和设备

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860545B2 (en) 2017-03-24 2020-12-08 Microsoft Technology Licensing, Llc Measuring usage of computing resources
US10725979B2 (en) * 2017-03-24 2020-07-28 Microsoft Technology Licensing, Llc Measuring usage of computing resources by storing usage events in a distributed file system
CN107798036A (zh) * 2017-04-10 2018-03-13 平安科技(深圳)有限公司 一种计数方法及计数器
KR102316971B1 (ko) * 2017-05-08 2021-10-25 삼성전자 주식회사 소프트웨어 정의 네트워크에서 동적 자원 할당 방법 및 장치
WO2019012675A1 (ja) * 2017-07-13 2019-01-17 株式会社日立製作所 管理装置及び管理方法
US10496150B2 (en) * 2017-07-13 2019-12-03 Red Hat, Inc. Power consumption optimization on the cloud
CN110881058B (zh) * 2018-09-06 2022-04-12 阿里巴巴集团控股有限公司 请求调度方法、装置、服务器及存储介质
CN109542603B (zh) * 2018-11-22 2023-11-03 北京航空航天大学 一种提高不同优先级任务间隔离性的多维资源隔离系统
CN113168398A (zh) 2019-02-01 2021-07-23 惠普发展公司,有限责任合伙企业 基于遥测数据的设备的升级确定
CN117035321A (zh) * 2019-04-10 2023-11-10 创新先进技术有限公司 一种资源分配方法、装置、设备及介质
CN110175068A (zh) * 2019-04-16 2019-08-27 平安科技(深圳)有限公司 分布式系统中主机数量弹性伸缩方法、装置和计算机设备
CN112579177A (zh) * 2019-09-27 2021-03-30 宝能汽车集团有限公司 Hypervisor的CPU配置方法、系统以及车辆、存储介质
CN111124882B (zh) * 2019-11-15 2022-09-20 苏州浪潮智能科技有限公司 一种实现应用测试的方法、装置、计算机存储介质及终端
US11223572B2 (en) * 2019-11-22 2022-01-11 Sap Se Multi-tenant resource allocation using control groups in cloud-based computing environment
US11558311B2 (en) * 2020-01-08 2023-01-17 Amazon Technologies, Inc. Automated local scaling of compute instances
US11409619B2 (en) 2020-04-29 2022-08-09 The Research Foundation For The State University Of New York Recovering a virtual machine after failure of post-copy live migration
CN112052088B (zh) * 2020-08-31 2021-07-13 北京升鑫网络科技有限公司 自适应的进程cpu资源限制方法、装置、终端及存储介质
US11928515B2 (en) 2020-12-09 2024-03-12 Dell Products L.P. System and method for managing resource allocations in composed systems
US11693703B2 (en) 2020-12-09 2023-07-04 Dell Products L.P. Monitoring resource utilization via intercepting bare metal communications between resources
US20220179699A1 (en) * 2020-12-09 2022-06-09 Dell Products L.P. Method and system for composed information handling system reallocations based on priority
US11853782B2 (en) 2020-12-09 2023-12-26 Dell Products L.P. Method and system for composing systems using resource sets
US11704159B2 (en) 2020-12-09 2023-07-18 Dell Products L.P. System and method for unified infrastructure architecture
US11809911B2 (en) 2020-12-09 2023-11-07 Dell Products L.P. Resuming workload execution in composed information handling system
US11934875B2 (en) 2020-12-09 2024-03-19 Dell Products L.P. Method and system for maintaining composed systems
US11809912B2 (en) 2020-12-09 2023-11-07 Dell Products L.P. System and method for allocating resources to perform workloads
US11687280B2 (en) 2021-01-28 2023-06-27 Dell Products L.P. Method and system for efficient servicing of storage access requests
US11768612B2 (en) 2021-01-28 2023-09-26 Dell Products L.P. System and method for distributed deduplication in a composed system
US11797341B2 (en) 2021-01-28 2023-10-24 Dell Products L.P. System and method for performing remediation action during operation analysis
US20220405133A1 (en) * 2021-06-18 2022-12-22 International Business Machines Corporation Dynamic renewable runtime resource management
US11947697B2 (en) 2021-07-22 2024-04-02 Dell Products L.P. Method and system to place resources in a known state to be used in a composed information handling system
US11928506B2 (en) 2021-07-28 2024-03-12 Dell Products L.P. Managing composition service entities with complex networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729254A (zh) * 2013-12-31 2014-04-16 国网山东省电力公司 一种虚拟服务器Virtual CPU资源监测及动态分配方法
US20150324232A1 (en) * 2012-12-26 2015-11-12 Huawei Technologies Co., Ltd. Resource management method and apparatus for virtual machine system, and virtual machine system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479194B2 (en) * 2007-04-25 2013-07-02 Microsoft Corporation Virtual machine migration
US8281303B2 (en) * 2007-10-31 2012-10-02 Hewlett-Packard Development Company, L.P. Dynamic ejection of virtual devices on ejection request from virtual device resource object within the virtual firmware to virtual resource driver executing in virtual machine
US9037717B2 (en) * 2009-09-21 2015-05-19 International Business Machines Corporation Virtual machine demand estimation
US8244956B2 (en) * 2009-11-30 2012-08-14 Red Hat Israel, Ltd. Mechanism for automatic adjustment of virtual machine storage
US9152548B2 (en) * 2012-01-17 2015-10-06 Vmware, Inc. Controlling access to a privileged resource in user-mode system level mobile virtualization using a ptrace () system call
US9027024B2 (en) * 2012-05-09 2015-05-05 Rackspace Us, Inc. Market-based virtual machine allocation
US9021493B2 (en) * 2012-09-14 2015-04-28 International Business Machines Corporation Management of resources within a computing environment
WO2014159740A1 (en) * 2013-03-13 2014-10-02 Cloubrain, Inc. Feedback system for optimizing the allocation of resources in a data center
US9298492B2 (en) * 2014-03-05 2016-03-29 Ca, Inc. System and method for modifying allocated resources
US9594592B2 (en) * 2015-01-12 2017-03-14 International Business Machines Corporation Dynamic sharing of unused bandwidth capacity of virtualized input/output adapters

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150324232A1 (en) * 2012-12-26 2015-11-12 Huawei Technologies Co., Ltd. Resource management method and apparatus for virtual machine system, and virtual machine system
CN103729254A (zh) * 2013-12-31 2014-04-16 国网山东省电力公司 一种虚拟服务器Virtual CPU资源监测及动态分配方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
(美)瓦克塞万诺斯等著: "工程系统中的智能故障诊断与预测", 《工程系统中的智能故障诊断与预测 *
ADAM G. LITKE: "Manage resources on overcommitted KVM hosts consolidating workloads by overcommitting resources", 《IBM DEVELOPERWORKS》 *
ADAM LITKE: "管理超量使用的KVM主机资源", 《IBM DEVELOPER社区》 *
唐泽圣等编著: "《三维数据场可视化》", 31 December 1999, 清华大学出版社 *
许曰滨等编: "《计算机操作系统》", 30 April 2007, 北京邮电大学出版社 *
陈小全等主编: "《Linux系统配置与管理教程》", 31 January 2011, 北京邮电大学出版社 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688483A (zh) * 2017-09-04 2018-02-13 郑州云海信息技术有限公司 一种读写控制方法及控制装置
CN109918189A (zh) * 2017-12-12 2019-06-21 腾讯科技(深圳)有限公司 一种资源管理方法及相关设备
CN110609743A (zh) * 2018-06-15 2019-12-24 伊姆西Ip控股有限责任公司 用于配置资源的方法、电子设备和计算机程序产品
CN109857518A (zh) * 2019-01-08 2019-06-07 平安科技(深圳)有限公司 一种网络资源的分配方法及设备
CN111580957A (zh) * 2020-04-17 2020-08-25 山东信通电子股份有限公司 一种无源设备虚拟空间的资源分配方法、设备及装置
CN112052072A (zh) * 2020-09-10 2020-12-08 华云数据控股集团有限公司 一种虚拟机的调度策略及超融合系统
CN112052072B (zh) * 2020-09-10 2022-06-28 华云数据控股集团有限公司 一种虚拟机的调度策略及超融合系统
CN113467884A (zh) * 2021-05-25 2021-10-01 阿里巴巴新加坡控股有限公司 资源配置方法和装置、电子设备及计算机可读存储介质
CN113568710A (zh) * 2021-08-03 2021-10-29 罗慧 一种虚拟机高可用实现方法、装置和设备
CN113568710B (zh) * 2021-08-03 2023-07-21 罗慧 一种虚拟机高可用实现方法、装置和设备

Also Published As

Publication number Publication date
US20170201574A1 (en) 2017-07-13
EP3403179A1 (en) 2018-11-21
EP3403179A4 (en) 2019-07-31
WO2017123554A1 (en) 2017-07-20

Similar Documents

Publication Publication Date Title
CN106959889A (zh) 一种服务器资源调整的方法和装置
US20210329077A1 (en) System and method for throttling service requests having non-uniform workloads
CN106790726B (zh) 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法
US9419904B2 (en) System and method for throttling service requests using work-based tokens
US9378044B1 (en) Method and system that anticipates deleterious virtual-machine state changes within a virtualization layer
US9571561B2 (en) System and method for dynamically expanding virtual cluster and recording medium on which program for executing the method is recorded
US20120204176A1 (en) Method and device for implementing load balance of data center resources
CN102111337A (zh) 任务调度方法和系统
CN110289994B (zh) 一种集群容量调整方法及装置
CN105939225A (zh) 一种业务执行的方法及装置
CN113886010A (zh) 容器资源的控制方法、设备及计算机存储介质
CN110677499A (zh) 一种云资源管理应用系统
US9851988B1 (en) Recommending computer sizes for automatically scalable computer groups
CN102339233A (zh) 云计算集中管理平台
Zhang et al. PRMRAP: A proactive virtual resource management framework in cloud
CN110311933A (zh) 一种均衡业务流量的方法、装置、设备及存储介质
CN116841753A (zh) 一种流处理和批处理的切换方法及切换装置
CN113542027B (zh) 一种基于分布式服务架构的流量隔离方法、装置和系统
Li et al. Noah: Reinforcement-Learning-Based Rate Limiter for Microservices in Large-Scale E-Commerce Services
CN107436812B (zh) 一种Linux系统性能优化的方法及装置
KR101394365B1 (ko) 가상화 환경에서 프로세서를 할당하는 장치 및 방법
CN103188159A (zh) 硬件效能的管理方法及云端运算系统
Kumar et al. A QoS-based reactive auto scaler for cloud environment
CN112783637A (zh) 一种资源调控方法和装置
Mann Two are better than one: An algorithm portfolio approach to cloud resource management

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170718