CN117271056A - 公有云降频风险识别方法、设备及存储介质 - Google Patents

公有云降频风险识别方法、设备及存储介质 Download PDF

Info

Publication number
CN117271056A
CN117271056A CN202311214779.2A CN202311214779A CN117271056A CN 117271056 A CN117271056 A CN 117271056A CN 202311214779 A CN202311214779 A CN 202311214779A CN 117271056 A CN117271056 A CN 117271056A
Authority
CN
China
Prior art keywords
virtual machine
cpu
tenant
target
risk
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
CN202311214779.2A
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.)
Beijing Volcano Engine Technology Co Ltd
Original Assignee
Beijing Volcano Engine 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 Beijing Volcano Engine Technology Co Ltd filed Critical Beijing Volcano Engine Technology Co Ltd
Priority to CN202311214779.2A priority Critical patent/CN117271056A/zh
Publication of CN117271056A publication Critical patent/CN117271056A/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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • G06F11/3423Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
    • 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
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开实施例提供一种公有云降频风险识别方法、设备及存储介质,通过采集公有云环境中的宿主机中各CPU单元的频率波动;采集所述宿主机中各租户虚拟机的CPU利用率;根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选出风险虚拟机。通过对公有云环境中的宿主机各CPU单元的频率波动和各租户虚拟机的CPU利用率的检测,可以快速准确的筛选出可能受到CPU降频的影响的风险虚拟机,进而可为风险虚拟机的迁移和调度提供依据,减小降频带来的影响,避免公有云各租户间负载干扰,保障公有云租户虚拟机的稳定性,保障公有云的服务级别协议。

Description

公有云降频风险识别方法、设备及存储介质
技术领域
本公开实施例涉及计算机与网络通信技术领域,尤其涉及一种公有云降频风险识别方法、设备及存储介质。
背景技术
公有云是第三方提供商为用户提供的云端计算资源,在公有云非超售场景下,为达到资源的弹性售卖和按需使用,多租户一般会共享同宿主机上的不同物理核来运行业务,公有云提供商提供基本的多租户隔离、以及安全保障,还提供预期运行频率的spec(厂商虚机规格说明书)。
公有云提供商一般通过vcpu(虚机进程)和物理核的绑定实现基本的隔离和性能保障,但是在租户业务为高负载业务时,仍然可能导致宿主机的单socket或整机降频,导致同socket或同宿主机其他租户业务性能下降,影响租户业务。
发明内容
本公开实施例提供一种公有云降频风险识别方法、设备及存储介质,以在公有云环境中筛选出可能受到CPU降频的影响的风险虚拟机。
第一方面,本公开实施例提供一种公有云降频风险识别方法,包括:
采集公有云环境中的宿主机中各CPU单元的频率波动;其中每一CPU单元包括多个核心;
采集所述宿主机中各租户虚拟机的CPU利用率;
根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选出风险虚拟机。
第二方面,本公开实施例提供一种公有云降频风险识别设备,包括:
CPU频率波动采集单元,用于采集公有云环境中的宿主机中各CPU单元的频率波动;其中每一CPU单元包括多个核心;
CPU利用率采集单元,用于采集所述宿主机中各租户虚拟机的CPU利用率;
识别单元,用于根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选出风险虚拟机。
第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的公有云降频风险识别方法。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的公有云降频风险识别方法。
第五方面,本公开实施例提供一种计算机程序产品,包括计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的公有云降频风险识别方法。
本公开实施例提供的公有云降频风险识别方法、设备及存储介质,通过采集公有云环境中的宿主机中各CPU单元的频率波动;采集所述宿主机中各租户虚拟机的CPU利用率;根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选出风险虚拟机。通过对公有云环境中的宿主机各CPU单元的频率波动和各租户虚拟机的CPU利用率的检测,可以快速准确的筛选出可能受到CPU降频的影响的风险虚拟机,进而可为风险虚拟机的迁移和调度提供依据,减小降频带来的影响,避免公有云各租户间负载干扰,保障公有云租户虚拟机的稳定性,保障公有云的服务级别协议SLA。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中一种公有云降频风险识别的示例图;
图2为本公开一实施例提供的公有云降频风险识别方法的架构示意图;
图3为本公开一实施例提供的公有云降频风险识别方法流程示意图;
图4为本公开另一实施例提供的公有云降频风险识别方法流程示意图;
图5为本公开一实施例提供的公有云降频风险识别设备的结构框图;
图6为本公开一实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
公有云提供商一般通过vcpu(虚机进程)和物理核的绑定实现基本的隔离和性能保障,但是在租户业务为高负载业务时,仍然可能导致宿主机的单socket(CPU插槽)或整机降频,导致同socket或同宿主机其他租户业务性能下降,影响租户业务(例如实时任务的时延上升、计算业务的性能不达预期)。
其具体原因为,不同租户虚拟机共存于一个物理socket或numa(非一致内存访问架构,在一些情况中numa等同于socket),本质还是共享物理socket上的供电,在有一定核数运行高负载业务,例如:渲染、AVX/AMX重负载指令下,单颗CPU(socket)在一定时间运行下温度升高,会达到CPU厂商预设的TDP(Thermal Design Power,热量设计功耗,和具体CPU型号相关),触发硬件执行降频,如图1中所示的租户A、B、C在socket0和socket1中对核心使用情况,当租户A运行AMX重负载指令时导致socket0达到TDP,使得socket0对应的整个CPU单元(包括各核心)出现降频,租户B和C的业务也收到降频影响,可能出现延时上升,进而租户B和C可能会投诉公有云提供商存在超卖或者不稳定的问题,而租户A也可能性能达不到预期。
因此公有云提供商在公有云售卖非超售虚拟机时,如何保证租户之间的隔离性一直是各大提供商关键竞争力的重要体现,并且CPU的降频在业界是普遍会发生和无法避免的,如何控制租户业务由于降频带来的影响,保障SLA(Service Level Agreement,服务级别协议),是目标亟待解决的问题。
为了解决上述技术问题,本公开实施例提供一种公有云降频风险识别方法,通过采集公有云环境中的宿主机中各CPU单元的频率波动;采集所述宿主机中各租户虚拟机的CPU利用率;根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选出风险虚拟机。通过对公有云环境中的宿主机各CPU单元的频率波动和各租户虚拟机的CPU利用率的检测,可以快速准确的筛选出可能受到CPU降频的影响的风险虚拟机,进而可为风险虚拟机的迁移和调度提供依据,减小降频带来的影响,避免公有云各租户间负载干扰,保障公有云租户虚拟机的稳定性,保障公有云的服务级别协议SLA,适用于更多不同负载类型租户的场景。
本公开实施例的公有云降频风险识别方法的系统架构如图2所示,可采集宿主机中各CPU单元的频率波动和宿主机中各租户虚拟机的CPU利用率到指标服务(metricsserver)中,下游通过数据任务将各租户虚拟机的CPU利用率加入消息队列(如Kafka)中,再由流数据处理引擎(如Flink)从消息队列中消费宿主机中各CPU单元的频率波动和各租户虚拟机的CPU利用率,根据各CPU单元的频率波动以及各租户虚拟机的CPU利用率,从各租户虚拟机中筛选出风险虚拟机,再存储到另一消息队列(如Kafka)中,以供后续精细化筛选(也即离线调度)。
精细化筛选(也即离线调度)根据预设检测规则,检测所述风险虚拟机是否为受到降频影响的目标虚拟机,从而实现筛选受到降频影响的目标虚拟机,在对目标虚拟机进行迁移时,通过排序将使用所述目标CPU单元的核心数不为0、且使用目标CPU单元的核心数最少的一个或多个目标虚拟机进行迁移,在对目标虚拟机进行迁移前,还需进行判断目标虚拟机是否允许被迁移,验证迁移的可行性,最后进行迁移,完成离线调度。
此外,还可由分析型数据库clickhouse获取各租户虚拟机的历史CPU使用率,根据历史CPU使用率对各租户添加标签(或者对各租户虚拟机负载添加标签),标签包括高负载业务类型标签和低负载业务类型标签;在接收到各租户中任一租户的虚拟机创建请求后,进行在线调度,根据该租户的标签确定用于创建该租户虚拟机的宿主机和/或CPU单元,并根据所述虚拟机创建请求创建该租户虚拟机,通过提前对租户虚拟机进行合理的部署,尽量避免发生降频,防范降频对租户业务影响。
需要说明的是,本申请所涉及的用户信和数据,均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
下面将结合具体实施例对本公开的公有云降频风险识别方法进行详细介绍。
参考图3,图3为本公开一实施例提供的公有云降频风险识别方法流程示意图。本实施例的方法可以应用在终端设备或服务器中,该公有云降频风险识别方法包括:
S201、采集公有云环境中的宿主机中各CPU单元的频率波动。
在本实施例中,在公有云中包括多个宿主机,其中每一宿主机通常包括两个CPU单元(也即宿主机通常包括两个socket或numa),每个CPU单元包括多个核心(也称内核)。同一个CPU单元中可能共存有不同租户虚拟机,不同租户虚拟机使用该CPU单元的不同核心,在CPU出现降频时通常是整颗CPU单元发生降频,因此本实施例中,以CPU单元维度来检测CPU单元的频率波动。
可选的,对于任一CPU单元,获取该CPU单元每一核心的实际运行频率与预期运行频率之间的频率差值;对该CPU单元的每一核心的频率差值进行聚合,得到该CPU单元的频率波动。其公式可如下所示:
其中,cpu_x_f req_deviation表示CPU单元x的频率波动,其中x指的是socket或者numa编号,一般为0或1;cores为单socket或单muna上的物理核心数量;fexpect(corei)为corei的预期运行频率,可以为对应CPU厂商白皮书上的all turbo boost(睿频加速)频率;factual(corei)为corei的实际运行频率,可从CPU的寄存器中获取,非从核心下的/proc或/sys接口下获取的实际运行频率,提高准确性;其中乘1000是为了将频率波动转化为千分数,以便于更好的比对频率波动,当然也可不乘1000。举例来讲,假设cpu_0_freq_deviation=110,意味着socket0上的CPU实际运行频率和预期运行频率相差(110/1000)=11.1%,也即该CPU降频11.1%。
S202、采集所述宿主机中各租户虚拟机的CPU利用率。
在本实施例中,还需要采集宿主机中各租户虚拟机的CPU利用率,以反映租户业务的负载情况。需要说明的是,租户虚拟机可能使用单个CPU单元的核心,也可能跨CPU单元使用不同CPU单元的核心,本实施例中租户虚拟机的CPU利用率为所使用的所有核心的利用率,可作为租户虚拟机业务画像,反映租户业务的负载情况。
需要说明的是,S201和S202不区分执行的先后顺序。
S203、根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选出风险虚拟机。
在本实施例中,在获取到宿主机各CPU单元的频率波动以及各租户虚拟机的CPU利用率后,可根据各CPU单元的频率波动判断各CPU是否出现降频,在出现降频后可根据各租户虚拟机的CPU利用率判断哪些租户虚拟机可能受到CPU降频的影响,其中CPU利用率越高,CPU降频时用户感知越明显,租户虚拟机受到CPU降频的影响越大,而CPU利用率越低,CPU降频时用户感知越不明显,租户虚拟机受到CPU降频的影响越小(例如CPU利用率5%常态负载的租户,即时降频20%,也可能是无感状态,受到CPU降频的影响较小),从而可以从各租户虚拟机中筛选出可能受CPU降频影响的风险虚拟机,以便于进行通过租户虚拟机迁移和调度,降低受到CPU降频的影响。
本实施例提供的公有云降频风险识别方法,通过采集公有云环境中的宿主机中各CPU单元的频率波动;采集所述宿主机中各租户虚拟机的CPU利用率;根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选出风险虚拟机。通过对公有云环境中的宿主机各CPU单元的频率波动和各租户虚拟机的CPU利用率的检测,可以快速准确的筛选出可能受到CPU降频的影响的风险虚拟机,进而可为风险虚拟机的迁移和调度提供依据,减小降频带来的影响,避免公有云各租户间负载干扰,保障公有云租户虚拟机的稳定性,保障公有云的服务级别协议SLA。
在上述实施例的基础上,S203所述根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选风险虚拟机,具体可包括:
若任意目标CPU单元降频的频率波动超过预设波动阈值,则从所述各租户虚拟机中筛选CPU利用率大于预设CPU利用率阈值的租户虚拟机,确定为所述风险虚拟机。
在本实施例中,若任意目标CPU单元降频的频率波动超过预设波动阈值,例如预设波动阈值为10%,可确定宿主机的CPU出现降频,进而基于各租户虚拟机的CPU利用率来筛选可能受到CPU降频影响的风险虚拟机,可以设置一个预设CPU利用率阈值,例如预设CPU利用率阈值为70%,若宿主机中任一租户虚拟机中筛选CPU利用率大于预设CPU利用率阈值,则将该租户虚拟机作为风险虚拟机。
其中,预设CPU利用率阈值可根据需求进行设定,本实施例中采用70%是考虑到预设CPU利用率阈值不设置过大(如90%),留有一定的空间防止漏筛;且CPU利用率为70%属于高负载业务,高负载业务的租户对CPU利用率的关注度较高。
在另一种可选实施例中,也可检测各租户虚拟机的CPU利用率波动,在确定任意目标CPU单元降频的频率波动超过预设波动阈值,则从各租户虚拟机中筛选CPU利用率波动超过预设CPU利用率波动阈值(如10%)的租户虚拟机,认为目标CPU单元降频导致租户虚拟机的CPU利用率下降,从而确定为风险虚拟机。但是本实施例的计算复杂度相对较高,影响风险虚拟机识别的时效性。
在上述实施例的基础上,在筛选出风险虚拟机后,还可进行进一步精细化的筛选(也即二次判定),根据预设检测规则,检测风险虚拟机是否为真正受到降频影响的目标虚拟机。
在本实施例中,基于宿主机各CPU单元的频率波动和各租户虚拟机的CPU利用率,只能初步确定哪些租户虚拟机可能受到CPU降频的影响,也即存在受影响的风险,而通过精细化筛选,可以确定出真正受到降频影响的目标虚拟机。由于风险虚拟机仅仅是考虑了CPU使用率,在精细化筛选时可考虑租户虚拟机的更多信息,包括但不限于租户是否属于预设租户集合(租户白名单)、租户是否独占宿主机、租户使用的核心的分布情况等等,通过配置预设检测规则,结合上述信息中的一种或多种,实现精准筛选出真正受到降频影响的目标虚拟机。
可选的,在根据预设检测规则,检测所述风险虚拟机是否为受到降频影响的目标虚拟机时,具体可包括:
判断所述风险虚拟机对应的租户是否属于预设租户集合,若属于所述预设租户集合,则确定所述风险虚拟机不是受到降频影响的目标虚拟机;和/或
判断所述风险虚拟机是否独占所述宿主机,若独占所述宿主机,则确定所述风险虚拟机不是受到降频影响的目标虚拟机;和/或
根据所述风险虚拟机使用所述目标CPU单元的核心数,检测所述风险虚拟机是否为受到降频影响的目标虚拟机。
在本实施例中,预设租户集合中包括多个预设租户,该些租户不关心CPU降频、或者即便CPU降频也认为不受影响、或者该些租户虚拟机无需进行调度和迁移,若风险虚拟机对应的租户属于预设租户集合,则确定该风险虚拟机不是受到降频影响的目标虚拟机,可排除该风险虚拟机。
此外,若风险虚拟机独占宿主机,也即宿主机中只有该风险虚拟机,不存在其他租户虚拟机,则CPU降频是该风险虚拟机自己导致的,是在预期内的,因此也确定该风险虚拟机不是受到降频影响的目标虚拟机,可排除该风险虚拟机。
此外,由于目标CPU单元出现降频,而风险虚拟机受影响的程度也取决于该风险虚拟机使用目标CPU单元的核心数,因此可根据风险虚拟机使用目标CPU单元的核心数,确定该风险虚拟机是否为受到降频影响的目标虚拟机。
可选的,若风险虚拟机使用目标CPU单元的核心数为0,也即该风险虚拟机并未使用目标CPU单元的核心,也就不会受到目标CPU单元降频的影响,可确定该风险虚拟机不是受到降频影响的目标虚拟机,可排除该风险虚拟机。
可选的,若风险虚拟机使用目标CPU单元的核心数不为0、且小于预设核心数阈值,说明风险虚拟机使用目标CPU单元的核心较少,更容易受到目标CPU单元降频的影响;且风险虚拟机在目标CPU单元中所使用的核心上的业务更方便迁移,因此确定该风险虚拟机为受到降频影响的目标虚拟机,可进行后续的迁移,将目标虚拟机在目标CPU单元中所使用的核心上的业务迁移到其他CPU单元中。
可选的,将使用所述目标CPU单元的核心数不为0的风险虚拟机按照使用所述目标CPU单元的核心数进行排序,将排序中使用所述目标CPU单元的核心数最少的一个或多个风险虚拟机确定为受到降频影响的目标虚拟机。
在本实施例中,对于目标CPU单元的核心数不为0的风险虚拟机按照使用目标CPU单元的核心数进行排序,排序中使用目标CPU单元的核心数最少的一个或多个风险虚拟机更容易受到目标CPU单元降频的影响,并且也更方便迁移,因此将使用目标CPU单元的核心数最少的一个或多个风险虚拟机确定为受到降频影响的目标虚拟机,可进行后续的迁移,将目标虚拟机在目标CPU单元中所使用的核心上的业务迁移到其他CPU单元中。
而排序中使用目标CPU单元的核心数较多的风险虚拟机,可能是导致目标CPU单元降频的虚拟机,或者由于涉及核心数较多而不便于迁移,因此排除。
在上述实施例的基础上,在确定所述风险虚拟机为受到降频影响的目标虚拟机后,还可对目标虚拟机进行迁移,尤其是将目标虚拟机在目标CPU单元中所使用的核心上的业务迁移到其他CPU单元中,也即目标虚拟机不再使用目标CPU单元的核心,也就不会在受到目标CPU单元降频的影响。
可选的,在对所述目标虚拟机进行迁移时,并不是将所有目标虚拟机都进行迁移,而是将使用所述目标CPU单元的核心数不为0、且使用目标CPU单元的核心数最少的一个或多个目标虚拟机进行迁移(将该些目标虚拟机在目标CPU单元中所使用的核心上的业务迁移到其他CPU单元中),避免迁移带宽过大。
在上述任一实施例的基础上,在对目标虚拟机进行迁移前,还可判断所述目标虚拟机是否允许被迁移;若确定所述目标虚拟机允许被迁移,则对所述目标虚拟机进行迁移;否则,若目标虚拟机不允许被迁移,则不对所述目标虚拟机进行迁移。
可选的,在判断所述目标虚拟机是否允许被迁移时,可考虑多种因素,例如判断目标虚拟机是否预设有允许迁移的标签(或者不允许迁移的标签),根据标签可以确定目标虚拟机是否允许迁移;此外,目标虚拟机的还预设有保护等级,其中某些保护等级允许迁移,某些保护等级不允许迁移,可判断目标虚拟机的保护等级是否为允许迁移的保护等级,从而确定目标虚拟机是否允许迁移;当然判断是否允许迁移还可考虑其他因素,此处不做限定。
在此基础上,若所述目标虚拟机预设有允许迁移的标签,和/或所述目标虚拟机的保护等级满足允许迁移的保护等级,则确定所述目标虚拟机允许被迁移。
可选的,在筛选出目标虚拟机后,还可以进行风险通知,以通知租户目标虚拟机受到降频影响,还可向租户请求是否进行迁移,在租户确定迁移后,再对目标虚拟机进行迁移。
在上述任一实施例的基础上,在S201采集公有云环境中的宿主机中各CPU单元的频率波动时,具体可包括:
每间隔第一预设时间采集所述宿主机中各CPU单元的频率波动,并加入消息队列中,通过流数据处理引擎从所述消息队列中消费各CPU单元的频率波动,并对同一CPU单元的频率波动进行滤波,以过滤异常的频率波动。
在本实施例中,可每间隔第一预设时间采集宿主机中各CPU单元的频率波动到指标服务(metrics server)中,下游通过数据任务将各CPU单元的频率波动加入消息队列(如Kafka)中,再由流数据处理引擎(如Flink)从消息队列中消费各CPU单元的频率波动,对同一CPU单元的频率波动进行滤波,过滤掉异常的频率波动,例如一些偏差较大的异常频率波动。
在采集所述宿主机中各租户虚拟机的CPU利用率时,也可每间隔一个预设时间采集宿主机中各租户虚拟机的CPU利用率到指标服务(metrics server)中,下游通过数据任务将各租户虚拟机的CPU利用率加入消息队列(如Kafka)中,再由流数据处理引擎(如Flink)从消息队列中消费各租户虚拟机的CPU利用率。
通过根据各CPU单元的频率波动以及各租户虚拟机的CPU利用率,从各租户虚拟机中筛选出风险虚拟机,再存储到另一消息队列(如Kafka)中,以供后续精细化筛选。后续精细化筛选过程可从该消息队列中消费风险虚拟机进行精细化筛选,具体可包括但不限于过滤、排序、是否允许迁移的验证等。
在上述任一实施例的基础上,如图4所示,所述方法还包括:
S301、获取所述各租户虚拟机的历史CPU使用率,根据历史CPU使用率对所述各租户添加标签,所述标签包括高负载业务类型标签和低负载业务类型标签;
S302、在接收到所述各租户中任一租户的虚拟机创建请求后,根据该租户的标签确定用于创建该租户虚拟机的宿主机和/或CPU单元,并根据所述虚拟机创建请求创建该租户虚拟机。
在本实施例中,可获取宿主机中各租户虚拟机的历史CPU使用率,根据历史CPU使用率对各租户进行相应的业务画像,也即判断该租户的业务负载高低,进而可对各租户添加标签,其中标签包括高负载业务类型标签和低负载业务类型标签。在该些租户中任一租户创建新虚拟机时,也即在接收到该租户的虚拟机创建请求时,可根据该租户的标签选择合适的宿主机和/或CPU单元,来创建该租户的新的虚拟机,其中结合在线调度反亲和能力,尽量将高负载业务类型标签的租户的虚拟机隔离在不同的宿主机上,通过提前对租户虚拟机进行合理的部署,尽量避免发生降频,防范降频对租户业务影响。
在获取所述各租户虚拟机的历史CPU使用率时,包括:
每间隔第二预设时间采集各租户虚拟机的CPU利用率,并存储到分析型数据库中;
采用所述分析型数据库确定同一租户虚拟机不同时间CPU利用率的预设分位数对应的CPU利用率,确定为该租户虚拟机的历史CPU使用率。
在本实施例中,每间隔第二预设时间采集各租户虚拟机的CPU利用率,并采用分析型数据库进行分析,其中分析型数据库可以为OLAP数据clickhouse或者其他任意分析型数据库,通过分析同一租户虚拟机不同历史时间的CPU利用率(时序数据),找到CPU利用率的预设分位数对应的CPU利用率,例如P99(99%分位数)或者P90(90%分位数),确定为该租户虚拟机的历史CPU使用率,当该租户虚拟机的历史CPU使用率超过预设阈值,则确定为高负载业务类型,通过打标服务对租户添加高负载业务类型标签。
对应于上文实施例的公有云降频风险识别方法,图5为本公开实施例提供的公有云降频风险识别设备的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图5,所述公有云降频风险识别设备500包括:CPU频率波动采集单元501、CPU利用率采集单元502、识别单元503。
其中,CPU频率波动采集单元501,用于采集公有云环境中的宿主机中各CPU单元的频率波动;其中每一CPU单元包括多个核心;
CPU利用率采集单元502,用于采集所述宿主机中各租户虚拟机的CPU利用率;
识别单元503,用于根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选出风险虚拟机。
在本公开的一个或多个实施例中,所述识别单元503在根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选风险虚拟机时,用于:
若任意目标CPU单元降频的频率波动超过预设波动阈值,则从所述各租户虚拟机中筛选CPU利用率大于预设CPU利用率阈值的租户虚拟机,确定为所述风险虚拟机。
在本公开的一个或多个实施例中,所述识别单元503在筛选出风险虚拟机后,还用于:
根据预设检测规则,检测所述风险虚拟机是否为受到降频影响的目标虚拟机。
在本公开的一个或多个实施例中,所述识别单元503在根据预设检测规则,检测所述风险虚拟机是否为受到降频影响的目标虚拟机时,用于:
判断所述风险虚拟机对应的租户是否属于预设租户集合,若属于所述预设租户集合,则确定所述风险虚拟机不是受到降频影响的目标虚拟机;和/或
判断所述风险虚拟机是否独占所述宿主机,若独占所述宿主机,则确定所述风险虚拟机不是受到降频影响的目标虚拟机;和/或
根据所述风险虚拟机使用所述目标CPU单元的核心数,检测所述风险虚拟机是否为受到降频影响的目标虚拟机。
在本公开的一个或多个实施例中,所述识别单元503在根据所述风险虚拟机使用所述目标CPU单元的核心数,检测所述风险虚拟机是否为受到降频影响的目标虚拟机时,用于:
若所述风险虚拟机使用所述目标CPU单元的核心数不为0、且小于预设核心数阈值,则确定所述风险虚拟机为受到降频影响的目标虚拟机;或者
将使用所述目标CPU单元的核心数不为0的风险虚拟机按照使用所述目标CPU单元的核心数进行排序,将排序中使用所述目标CPU单元的核心数最少的一个或多个风险虚拟机确定为受到降频影响的目标虚拟机;或者
若所述风险虚拟机使用所述目标CPU单元的核心为0,则确定所述风险虚拟机不是受到降频影响的目标虚拟机。
在本公开的一个或多个实施例中,所述设备还包括调度单元504504,用于在确定所述风险虚拟机为受到降频影响的目标虚拟机后,对所述目标虚拟机进行迁移。
在本公开的一个或多个实施例中,所述调度单元504在对所述目标虚拟机进行迁移时,用于:
将使用所述目标CPU单元的核心数不为0、且使用所述目标CPU单元的核心数最少的一个或多个目标虚拟机进行迁移。
在本公开的一个或多个实施例中,所述调度单元504在对所述目标虚拟机进行迁移时,用于:
判断所述目标虚拟机是否允许被迁移;
若确定所述目标虚拟机允许被迁移,则对所述目标虚拟机进行迁移。
在本公开的一个或多个实施例中,所述调度单元504在判断所述目标虚拟机是否允许被迁移时,用于:
若所述目标虚拟机预设有允许迁移的标签,和/或所述目标虚拟机的保护等级满足允许迁移的保护等级,则确定所述目标虚拟机允许被迁移。
在本公开的一个或多个实施例中,所述CPU利用率采集单元502在采集公有云环境中的宿主机中各CPU单元的频率波动时,用于:
每间隔第一预设时间采集所述宿主机中各CPU单元的频率波动,并加入消息队列中,通过流数据处理引擎从所述消息队列中消费各CPU单元的频率波动,并对同一CPU单元的频率波动进行滤波,以过滤异常的频率波动。
在本公开的一个或多个实施例中,所述CPU频率波动采集单元501在采集公有云环境中的宿主机中各CPU单元的频率波动时,用于:
对于任一CPU单元,获取该CPU单元每一核心的实际运行频率与预期运行频率之间的频率差值;
对该CPU单元的每一核心的频率差值进行聚合,得到该CPU单元的频率波动。
在本公开的一个或多个实施例中,所述CPU频率波动采集单元501还用于,获取所述各租户虚拟机的历史CPU使用率;
所述调度单元504还用于,根据历史CPU使用率对所述各租户添加标签,所述标签包括高负载业务类型标签和低负载业务类型标签;在接收到所述各租户中任一租户的虚拟机创建请求后,根据该租户的标签确定用于创建该租户虚拟机的宿主机和/或CPU单元,并根据所述虚拟机创建请求创建该租户虚拟机。
在本公开的一个或多个实施例中,所述CPU频率波动采集单元501在获取所述各租户虚拟机的历史CPU使用率时,用于:
每间隔第二预设时间采集各租户虚拟机的CPU利用率,并存储到分析型数据库中;
采用所述分析型数据库确定同一租户虚拟机不同时间CPU利用率的预设分位数对应的CPU利用率,确定为该租户虚拟机的历史CPU使用率。
本实施例提供的设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
参考图6,其示出了适于用来实现本公开实施例的电子设备600的结构示意图,该电子设备600可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable MediaPlayer,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(Read Only Memory,简称ROM)602中的程序或者从存储装置608加载到随机访问存储器(Random Access Memory,简称RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(Liquid CrystalDisplay,简称LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
第一方面,根据本公开的一个或多个实施例,提供了一种公有云降频风险识别方法,包括:
采集公有云环境中的宿主机中各CPU单元的频率波动;其中每一CPU单元包括多个核心;
采集所述宿主机中各租户虚拟机的CPU利用率;
根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选出风险虚拟机。
根据本公开的一个或多个实施例,所述根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选风险虚拟机,包括:
若任意目标CPU单元降频的频率波动超过预设波动阈值,则从所述各租户虚拟机中筛选CPU利用率大于预设CPU利用率阈值的租户虚拟机,确定为所述风险虚拟机。
根据本公开的一个或多个实施例,在筛选出风险虚拟机后,还包括:
根据预设检测规则,检测所述风险虚拟机是否为受到降频影响的目标虚拟机。
根据本公开的一个或多个实施例,所述根据预设检测规则,检测所述风险虚拟机是否为受到降频影响的目标虚拟机,包括:
判断所述风险虚拟机对应的租户是否属于预设租户集合,若属于所述预设租户集合,则确定所述风险虚拟机不是受到降频影响的目标虚拟机;和/或
判断所述风险虚拟机是否独占所述宿主机,若独占所述宿主机,则确定所述风险虚拟机不是受到降频影响的目标虚拟机;和/或
根据所述风险虚拟机使用所述目标CPU单元的核心数,检测所述风险虚拟机是否为受到降频影响的目标虚拟机。
根据本公开的一个或多个实施例,所述根据所述风险虚拟机使用所述目标CPU单元的核心数,检测所述风险虚拟机是否为受到降频影响的目标虚拟机,包括:
若所述风险虚拟机使用所述目标CPU单元的核心数不为0、且小于预设核心数阈值,则确定所述风险虚拟机为受到降频影响的目标虚拟机;或者
将使用所述目标CPU单元的核心数不为0的风险虚拟机按照使用所述目标CPU单元的核心数进行排序,将排序中使用所述目标CPU单元的核心数最少的一个或多个风险虚拟机确定为受到降频影响的目标虚拟机;或者
若所述风险虚拟机使用所述目标CPU单元的核心为0,则确定所述风险虚拟机不是受到降频影响的目标虚拟机。
根据本公开的一个或多个实施例,在确定所述风险虚拟机为受到降频影响的目标虚拟机后,还包括:
对所述目标虚拟机进行迁移。
根据本公开的一个或多个实施例,所述对所述目标虚拟机进行迁移,包括:
将使用所述目标CPU单元的核心数不为0、且使用所述目标CPU单元的核心数最少的一个或多个目标虚拟机进行迁移。
根据本公开的一个或多个实施例,所述对所述目标虚拟机进行迁移,包括:
判断所述目标虚拟机是否允许被迁移;
若确定所述目标虚拟机允许被迁移,则对所述目标虚拟机进行迁移。
根据本公开的一个或多个实施例,所述判断所述目标虚拟机是否允许被迁移,包括:
若所述目标虚拟机预设有允许迁移的标签,和/或所述目标虚拟机的保护等级满足允许迁移的保护等级,则确定所述目标虚拟机允许被迁移。
根据本公开的一个或多个实施例,所述采集公有云环境中的宿主机中各CPU单元的频率波动,包括:
每间隔第一预设时间采集所述宿主机中各CPU单元的频率波动,并加入消息队列中,通过流数据处理引擎从所述消息队列中消费各CPU单元的频率波动,并对同一CPU单元的频率波动进行滤波,以过滤异常的频率波动。
根据本公开的一个或多个实施例,所述采集公有云环境中的宿主机中各CPU单元的频率波动,包括:
对于任一CPU单元,获取该CPU单元每一核心的实际运行频率与预期运行频率之间的频率差值;
对该CPU单元的每一核心的频率差值进行聚合,得到该CPU单元的频率波动。
根据本公开的一个或多个实施例,所述方法还包括:
获取所述各租户虚拟机的历史CPU使用率,根据历史CPU使用率对所述各租户添加标签,所述标签包括高负载业务类型标签和低负载业务类型标签;
在接收到所述各租户中任一租户的虚拟机创建请求后,根据该租户的标签确定用于创建该租户虚拟机的宿主机和/或CPU单元,并根据所述虚拟机创建请求创建该租户虚拟机。
根据本公开的一个或多个实施例,所述获取所述各租户虚拟机的历史CPU使用率,包括:
每间隔第二预设时间采集各租户虚拟机的CPU利用率,并存储到分析型数据库中;
采用所述分析型数据库确定同一租户虚拟机不同时间CPU利用率的预设分位数对应的CPU利用率,确定为该租户虚拟机的历史CPU使用率。
第二方面,根据本公开的一个或多个实施例,提供了一种公有云降频风险识别设备,包括:
CPU频率波动采集单元,用于采集公有云环境中的宿主机中各CPU单元的频率波动;其中每一CPU单元包括多个核心;
CPU利用率采集单元,用于采集所述宿主机中各租户虚拟机的CPU利用率;
识别单元,用于根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选出风险虚拟机。
根据本公开的一个或多个实施例,所述识别单元在根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选风险虚拟机时,用于:
若任意目标CPU单元降频的频率波动超过预设波动阈值,则从所述各租户虚拟机中筛选CPU利用率大于预设CPU利用率阈值的租户虚拟机,确定为所述风险虚拟机。
根据本公开的一个或多个实施例,所述识别单元在筛选出风险虚拟机后,还用于:
根据预设检测规则,检测所述风险虚拟机是否为受到降频影响的目标虚拟机。
根据本公开的一个或多个实施例,所述识别单元在根据预设检测规则,检测所述风险虚拟机是否为受到降频影响的目标虚拟机时,用于:
判断所述风险虚拟机对应的租户是否属于预设租户集合,若属于所述预设租户集合,则确定所述风险虚拟机不是受到降频影响的目标虚拟机;和/或
判断所述风险虚拟机是否独占所述宿主机,若独占所述宿主机,则确定所述风险虚拟机不是受到降频影响的目标虚拟机;和/或
根据所述风险虚拟机使用所述目标CPU单元的核心数,检测所述风险虚拟机是否为受到降频影响的目标虚拟机。
根据本公开的一个或多个实施例,所述识别单元在根据所述风险虚拟机使用所述目标CPU单元的核心数,检测所述风险虚拟机是否为受到降频影响的目标虚拟机时,用于:
若所述风险虚拟机使用所述目标CPU单元的核心数不为0、且小于预设核心数阈值,则确定所述风险虚拟机为受到降频影响的目标虚拟机;或者
将使用所述目标CPU单元的核心数不为0的风险虚拟机按照使用所述目标CPU单元的核心数进行排序,将排序中使用所述目标CPU单元的核心数最少的一个或多个风险虚拟机确定为受到降频影响的目标虚拟机;或者
若所述风险虚拟机使用所述目标CPU单元的核心为0,则确定所述风险虚拟机不是受到降频影响的目标虚拟机。
根据本公开的一个或多个实施例,所述设备还包括调度单元,用于在确定所述风险虚拟机为受到降频影响的目标虚拟机后,对所述目标虚拟机进行迁移。
根据本公开的一个或多个实施例,所述调度单元在对所述目标虚拟机进行迁移时,用于:
将使用所述目标CPU单元的核心数不为0、且使用所述目标CPU单元的核心数最少的一个或多个目标虚拟机进行迁移。
根据本公开的一个或多个实施例,所述调度单元在对所述目标虚拟机进行迁移时,用于:
判断所述目标虚拟机是否允许被迁移;
若确定所述目标虚拟机允许被迁移,则对所述目标虚拟机进行迁移。
根据本公开的一个或多个实施例,所述调度单元在判断所述目标虚拟机是否允许被迁移时,用于:
若所述目标虚拟机预设有允许迁移的标签,和/或所述目标虚拟机的保护等级满足允许迁移的保护等级,则确定所述目标虚拟机允许被迁移。
根据本公开的一个或多个实施例,所述CPU利用率采集单元在采集公有云环境中的宿主机中各CPU单元的频率波动时,用于:
每间隔第一预设时间采集所述宿主机中各CPU单元的频率波动,并加入消息队列中,通过流数据处理引擎从所述消息队列中消费各CPU单元的频率波动,并对同一CPU单元的频率波动进行滤波,以过滤异常的频率波动。
根据本公开的一个或多个实施例,所述CPU频率波动采集单元在采集公有云环境中的宿主机中各CPU单元的频率波动时,用于:
对于任一CPU单元,获取该CPU单元每一核心的实际运行频率与预期运行频率之间的频率差值;
对该CPU单元的每一核心的频率差值进行聚合,得到该CPU单元的频率波动。
根据本公开的一个或多个实施例,所述CPU频率波动采集单元还用于,获取所述各租户虚拟机的历史CPU使用率;
所述调度单元还用于,根据历史CPU使用率对所述各租户添加标签,所述标签包括高负载业务类型标签和低负载业务类型标签;在接收到所述各租户中任一租户的虚拟机创建请求后,根据该租户的标签确定用于创建该租户虚拟机的宿主机和/或CPU单元,并根据所述虚拟机创建请求创建该租户虚拟机。
根据本公开的一个或多个实施例,所述CPU频率波动采集单元在获取所述各租户虚拟机的历史CPU使用率时,用于:
每间隔第二预设时间采集各租户虚拟机的CPU利用率,并存储到分析型数据库中;
采用所述分析型数据库确定同一租户虚拟机不同时间CPU利用率的预设分位数对应的CPU利用率,确定为该租户虚拟机的历史CPU使用率。
第三方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的公有云降频风险识别方法。
第四方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的公有云降频风险识别方法。
第五方面,根据本公开的一个或多个实施例,提供了一种计算机程序产品,包括计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的公有云降频风险识别方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (17)

1.一种公有云降频风险识别方法,其特征在于,包括:
采集公有云环境中的宿主机中各CPU单元的频率波动;其中每一CPU单元包括多个核心;
采集所述宿主机中各租户虚拟机的CPU利用率;
根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选出风险虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选风险虚拟机,包括:
若任意目标CPU单元降频的频率波动超过预设波动阈值,则从所述各租户虚拟机中筛选CPU利用率大于预设CPU利用率阈值的租户虚拟机,确定为所述风险虚拟机。
3.根据权利要求1所述的方法,其特征在于,在筛选出风险虚拟机后,还包括:
根据预设检测规则,检测所述风险虚拟机是否为受到降频影响的目标虚拟机。
4.根据权利要求3所述的方法,其特征在于,所述根据预设检测规则,检测所述风险虚拟机是否为受到降频影响的目标虚拟机,包括:
判断所述风险虚拟机对应的租户是否属于预设租户集合,若属于所述预设租户集合,则确定所述风险虚拟机不是受到降频影响的目标虚拟机;和/或
判断所述风险虚拟机是否独占所述宿主机,若独占所述宿主机,则确定所述风险虚拟机不是受到降频影响的目标虚拟机;和/或
根据所述风险虚拟机使用所述目标CPU单元的核心数,检测所述风险虚拟机是否为受到降频影响的目标虚拟机。
5.根据权利要求4所述的方法,其特征在于,所述根据所述风险虚拟机使用所述目标CPU单元的核心数,检测所述风险虚拟机是否为受到降频影响的目标虚拟机,包括:
若所述风险虚拟机使用所述目标CPU单元的核心数不为0、且小于预设核心数阈值,则确定所述风险虚拟机为受到降频影响的目标虚拟机;或者
将使用所述目标CPU单元的核心数不为0的风险虚拟机按照使用所述目标CPU单元的核心数进行排序,将排序中使用所述目标CPU单元的核心数最少的一个或多个风险虚拟机确定为受到降频影响的目标虚拟机;或者
若所述风险虚拟机使用所述目标CPU单元的核心为0,则确定所述风险虚拟机不是受到降频影响的目标虚拟机。
6.根据权利要求3-5任一项所述的方法,其特征在于,在确定所述风险虚拟机为受到降频影响的目标虚拟机后,还包括:
对所述目标虚拟机进行迁移。
7.根据权利要求6所述的方法,其特征在于,所述对所述目标虚拟机进行迁移,包括:
将使用所述目标CPU单元的核心数不为0、且使用所述目标CPU单元的核心数最少的一个或多个目标虚拟机进行迁移。
8.根据权利要求6所述的方法,其特征在于,所述对所述目标虚拟机进行迁移,包括:
判断所述目标虚拟机是否允许被迁移;
若确定所述目标虚拟机允许被迁移,则对所述目标虚拟机进行迁移。
9.根据权利要求8所述的方法,其特征在于,所述判断所述目标虚拟机是否允许被迁移,包括:
若所述目标虚拟机预设有允许迁移的标签,和/或所述目标虚拟机的保护等级满足允许迁移的保护等级,则确定所述目标虚拟机允许被迁移。
10.根据权利要求1所述的方法,其特征在于,所述采集公有云环境中的宿主机中各CPU单元的频率波动,包括:
每间隔第一预设时间采集所述宿主机中各CPU单元的频率波动,并加入消息队列中,通过流数据处理引擎从所述消息队列中消费各CPU单元的频率波动,并对同一CPU单元的频率波动进行滤波,以过滤异常的频率波动。
11.根据权利要求1所述的方法,其特征在于,所述采集公有云环境中的宿主机中各CPU单元的频率波动,包括:
对于任一CPU单元,获取该CPU单元每一核心的实际运行频率与预期运行频率之间的频率差值;
对该CPU单元的每一核心的频率差值进行聚合,得到该CPU单元的频率波动。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述各租户虚拟机的历史CPU使用率,根据历史CPU使用率对所述各租户添加标签,所述标签包括高负载业务类型标签和低负载业务类型标签;
在接收到所述各租户中任一租户的虚拟机创建请求后,根据该租户的标签确定用于创建该租户虚拟机的宿主机和/或CPU单元,并根据所述虚拟机创建请求创建该租户虚拟机。
13.根据权利要求12所述的方法,其特征在于,所述获取所述各租户虚拟机的历史CPU使用率,包括:
每间隔第二预设时间采集各租户虚拟机的CPU利用率,并存储到分析型数据库中;
采用所述分析型数据库确定同一租户虚拟机不同时间CPU利用率的预设分位数对应的CPU利用率,确定为该租户虚拟机的历史CPU使用率。
14.一种公有云降频风险识别设备,其特征在于,包括:
CPU频率波动采集单元,用于采集公有云环境中的宿主机中各CPU单元的频率波动;其中每一CPU单元包括多个核心;
CPU利用率采集单元,用于采集所述宿主机中各租户虚拟机的CPU利用率;
识别单元,用于根据所述各CPU单元的频率波动以及所述各租户虚拟机的CPU利用率,从所述各租户虚拟机中筛选出风险虚拟机。
15.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-13任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-13任一项所述的方法。
17.一种计算机程序产品,其特征在于,包括计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-13任一项所述的方法。
CN202311214779.2A 2023-09-19 2023-09-19 公有云降频风险识别方法、设备及存储介质 Pending CN117271056A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311214779.2A CN117271056A (zh) 2023-09-19 2023-09-19 公有云降频风险识别方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311214779.2A CN117271056A (zh) 2023-09-19 2023-09-19 公有云降频风险识别方法、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117271056A true CN117271056A (zh) 2023-12-22

Family

ID=89209885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311214779.2A Pending CN117271056A (zh) 2023-09-19 2023-09-19 公有云降频风险识别方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117271056A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440158A (zh) * 2013-07-29 2013-12-11 西北工业大学 面向云资源调度的热点移除方法
CN103827823A (zh) * 2011-07-29 2014-05-28 惠普发展公司,有限责任合伙企业 迁移虚拟机
CN109343931A (zh) * 2018-09-12 2019-02-15 西安交通大学 一种在IaaS环境中面向负载均衡的应用感知虚拟机调度方法
US20220038452A1 (en) * 2020-07-28 2022-02-03 Vmware, Inc. Method of distributing client certificates to machines with shared cloud account access
CN115167984A (zh) * 2022-07-12 2022-10-11 河南大学 基于云计算平台的考虑物理资源竞争的虚拟机负载均衡放置方法
CN116126475A (zh) * 2023-02-23 2023-05-16 湘潭大学 一种安全驱动的云数据中心容器迁移方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103827823A (zh) * 2011-07-29 2014-05-28 惠普发展公司,有限责任合伙企业 迁移虚拟机
CN103440158A (zh) * 2013-07-29 2013-12-11 西北工业大学 面向云资源调度的热点移除方法
CN109343931A (zh) * 2018-09-12 2019-02-15 西安交通大学 一种在IaaS环境中面向负载均衡的应用感知虚拟机调度方法
US20220038452A1 (en) * 2020-07-28 2022-02-03 Vmware, Inc. Method of distributing client certificates to machines with shared cloud account access
CN115167984A (zh) * 2022-07-12 2022-10-11 河南大学 基于云计算平台的考虑物理资源竞争的虚拟机负载均衡放置方法
CN116126475A (zh) * 2023-02-23 2023-05-16 湘潭大学 一种安全驱动的云数据中心容器迁移方法

Similar Documents

Publication Publication Date Title
US9949681B2 (en) Burnout symptoms detection and prediction
US9912607B2 (en) Automatic scaling of at least one user application to external clouds
US9690553B1 (en) Identifying software dependency relationships
US10523580B2 (en) Automatic cloud provisioning based on related internet news and social network trends
US9811442B2 (en) Dynamic trace level control
US20110119191A1 (en) License optimization in a virtualized environment
US11075979B2 (en) Optimized resource provisioning
CN114026542A (zh) 基于容器的应用
US10176017B2 (en) Configuration management for a shared pool of configurable computing resources
US10303388B1 (en) Storage filtering using container images
CN113157439B (zh) 一种资源统计方法、装置及终端
WO2024160273A1 (zh) 数据处理方法、装置、设备及存储介质
US10554525B2 (en) Tracking usage of computing resources
CN117271056A (zh) 公有云降频风险识别方法、设备及存储介质
US10394701B2 (en) Using run time and historical customer profiling and analytics to iteratively design, develop, test, tune, and maintain a customer-like test workload
CN112379967B (zh) 模拟器检测方法、装置、设备及介质
CN109710497A (zh) 数据采集方法和系统
CN116028452A (zh) 应用程序的存储管理方法、设备、存储介质及产品
US20120265691A1 (en) Visualizing and Managing Complex Scheduling Constraints
CN112905336A (zh) 数据采集方法、装置、设备及存储介质
CN115794353B (zh) 云网业务服务质量优化处理方法、装置、设备及存储介质
CN116820539B (zh) 一种基于互联网的系统软件运行维护系统及方法
US11593944B2 (en) System and method for instance segmentation in pathological images using object-guided framework
US12045161B2 (en) Environment specific software test failure analysis
KR20120118271A (ko) 가상머신 이동 대상 선택 방법

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