CN112732401A - 虚拟机资源分配方法、系统、设备及介质 - Google Patents

虚拟机资源分配方法、系统、设备及介质 Download PDF

Info

Publication number
CN112732401A
CN112732401A CN202011603435.7A CN202011603435A CN112732401A CN 112732401 A CN112732401 A CN 112732401A CN 202011603435 A CN202011603435 A CN 202011603435A CN 112732401 A CN112732401 A CN 112732401A
Authority
CN
China
Prior art keywords
virtual machine
node
candidate
computing node
determining
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
CN202011603435.7A
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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202011603435.7A priority Critical patent/CN112732401A/zh
Publication of CN112732401A publication Critical patent/CN112732401A/zh
Pending legal-status Critical Current

Links

Images

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/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
    • G06F9/5016Allocation 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 the resource being the memory
    • 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/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及金融科技(Fintech)技术领域,公开了一种虚拟机资源分配方法,包括:接收对待创建虚拟机的创建请求,获取所述待创建虚拟机的需求内存,根据所述需求内存在备选计算节点中确定第一候选计算节点;获取所述第一候选计算节点的投产运行时间,根据所述投产运行时间确定所述第一候选计算节点的失效率;根据所述失效率从所述第一候选计算节点中确定目标计算节点,并在所述目标计算节点中创建所述待创建虚拟机。通过从虚拟机的需求内存和失效率两个维度综合分析确定目标计算节点,能够确定出稳定性好、失效率低的物理机,使在该物理机上构建的虚拟机能够稳定运行,避免因为物理机失效率高导致需要将虚拟机频繁切换至另一物理机。

Description

虚拟机资源分配方法、系统、设备及介质
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及虚拟机资源分配方法、系统、设备及计算机存储介质。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、通用性要求,也对虚拟机资源分配技术提出了更高的要求。
目前为用户提供虚拟机服务的计算机集群,根据用户所要求的虚拟机的资源需求信息,将集群中的基于硬件平台的计算机(相对于虚拟机,被称为物理机)的相应资源分配给用户构建虚拟机使用。
由于虚拟机的资源无法跨物理机分配(如将不同物理机上的资源组合成为一个虚拟机),因此在一个集群中分配虚拟机的方式通常是在集群中的满足虚拟机资源需求的单台物理机上创建一台虚拟机,若有多个物理机满足虚拟机创建条件,则随机选择任一满足虚拟机资源需求的物理机作为创建虚拟机的主机。但这种分配方式仅从单一维度考虑了虚拟机的构建条件是否满足要求,而未考虑到虚拟机构建完成后运行的稳定性和可靠性,随机选择可能会导致新创建的虚拟机构建在稳定性较差、失效率较高的物理机上,导致虚拟机的稳定性较差,需要频繁切换物理机。
发明内容
本发明的主要目的在于提出一种虚拟机资源分配方法、系统、设备及计算机存储介质,旨在降低虚拟机的物理机切换频率,提升虚拟机运行的稳定性。
为实现上述目的,本发明提供一种虚拟机资源分配方法,所述虚拟机资源分配方法包括如下步骤:
接收对待创建虚拟机的创建请求,获取所述待创建虚拟机的需求内存,根据所述需求内存在备选计算节点中确定第一候选计算节点;
获取所述第一候选计算节点的投产运行时间,根据所述投产运行时间确定所述第一候选计算节点的失效率;
根据所述失效率从所述第一候选计算节点中确定目标计算节点,并在所述目标计算节点中创建所述待创建虚拟机。
可选地,所述根据所述投产运行时间确定所述第一候选计算节点的失效率的步骤,包括:
根据所述投产运行时间确定所述第一候选计算节点所处的生命周期;
若所述第一候选计算节点所处的生命周期为最初故障期或者老化期,则根据所述第一候选计算节点所处的生命周期确定对应的周期参数,根据所述投产运行时间、所述周期参数以及预设失效率公式确定所述第一候选计算节点的失效率;
若所述第一候选计算节点所处的生命周期为正常寿命期,则将与所述正常寿命期对应的预设失效率作为所述第一候选计算节点的失效率。
可选地,所述根据所述失效率从所述第一候选计算节点中确定目标计算节点的步骤,包括:
确定所述第一候选计算节点中失效率最低的第二候选计算节点的数量;
若所述第二候选计算节点的数量等于1,则将所述第二候选计算节点确定为目标计算节点;
若所述第二候选计算节点的数量大于1,则将所述投产运行时间最短的所述第二候选计算节点确定为目标计算节点。
可选地,所述根据所述需求内存在备选计算节点中确定第一候选计算节点的步骤包括:
获取所述备选计算节点的空闲内存,根据所述空闲内存大于所述需求内存的备选计算节点确定第一候选计算节点。
可选地,所述根据所述空闲内存大于所述需求内存的备选计算节点确定第一候选计算节点的步骤,包括:
获取所述空闲内存大于所述需求内存的备选计算节点的CPU使用率;
将所述CPU使用率小于预设CPU使用率阈值,且所述空闲内存大于所述需求内存的备选计算节点确定为第一候选计算节点。
可选地,所述根据所述需求内存在备选计算节点中确定第一候选计算节点的步骤之前,还包括:
获取所述待创建虚拟机的需求服务器类型;
从分布式计算节点中确定与所述需求服务器类型对应的计算节点,作为备选计算节点。
可选地,所述虚拟机资源分配方法应用于云计算平台,所述云计算平台包括多个分布式可用区,所述备选计算节点位于所述分布式可用区中,所述虚拟机资源分配方法还包括:
根据预设选举算法从每个分布式可用区的计算节点中选举出各所述分布式可用区的主节点,并将所述分布式可用区中的其他计算节点作为从节点;
在所述主节点接收到所述分布式可用区内的从节点发送的可疑节点的标识信息时,通过所述分布式可用区的主节点对所述可疑节点进行失联状态检测;
若确定所述可疑节点为失联状态,则通过所述分布式可用区的主节点向管理节点上报所述可疑节点的状态为失联状态。
此外,为实现上述目的,本发明还提供一种虚拟机资源分配系统,所述虚拟机资源分配系统包括:
需求内存确定模块,用于接收对待创建虚拟机的创建请求,获取所述待创建虚拟机的需求内存,根据所述需求内存在备选计算节点中确定第一候选计算节点;
失效率确定模块,用于获取所述第一候选计算节点的投产运行时间,根据所述投产运行时间确定所述第一候选计算节点的失效率;
目标确定模块,用于根据所述失效率从所述第一候选计算节点中确定目标计算节点,并在所述目标计算节点中创建所述待创建虚拟机。
此外,为实现上述目的,本发明还提供一种虚拟机资源分配设备,所述虚拟机资源分配设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的虚拟机资源分配程序,所述虚拟机资源分配程序被所述处理器执行时实现如上所述的虚拟机资源分配方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有虚拟机资源分配程序,所述虚拟机资源分配程序被处理器执行时实现如上所述的虚拟机资源分配方法的步骤。
本发明通过接收对待创建虚拟机的创建请求,获取所述待创建虚拟机的需求内存,根据所述需求内存在备选计算节点中确定第一候选计算节点;获取所述第一候选计算节点的投产运行时间,根据所述投产运行时间确定所述第一候选计算节点的失效率;根据所述失效率从所述第一候选计算节点中确定目标计算节点,并在所述目标计算节点中创建所述待创建虚拟机。
通过在接收到对待创建虚拟机的创建请求时,不仅从虚拟机的需求内存维度考量目标计算节点,还会从失效率维度考量目标计算节点,从这两个维度综合分析并对候选计算节点进行筛选确定目标计算节点,能够确定出稳定性好、失效率低的物理机,在该物理机上构建的虚拟机能够稳定运行,避免因为物理机失效率高导致需要将虚拟机频繁切换至另一物理机。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的虚拟机资源分配设备结构示意图;
图2为本发明虚拟机资源分配方法第一实施例的流程示意图;
图3为本发明中计算节点的投产运行时间与失效率的变化关系示意图;
图4为本发明虚拟机资源分配系统的系统模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的虚拟机资源分配设备结构示意图。
本发明实施例虚拟机资源分配设备可以是PC机或服务器设备,其上运行有虚拟机。
如图1所示,该虚拟机资源分配设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏 (Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的虚拟机资源分配设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及虚拟机资源分配程序。
在图1所示的虚拟机资源分配设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005 中存储的虚拟机资源分配程序,并执行下述虚拟机资源分配方法中的操作。
基于上述硬件结构,提出本发明虚拟机资源分配方法实施例。
参照图2,图2为本发明虚拟机资源分配方法第一实施例的流程示意图,所述方法包括:
步骤S10,接收对待创建虚拟机的创建请求,获取所述待创建虚拟机的需求内存,根据所述需求内存在备选计算节点中确定第一候选计算节点;
本实施例虚拟机资源分配方法运用于虚拟机资源分配设备中,虚拟机资源分配设备可以是终端、机器人或者PC设备。
现有技术中,由于虚拟机的资源无法跨物理机分配(如将不同物理机上的资源组合成为一个虚拟机),因此在一个集群中分配虚拟机的方式通常是在集群中的满足虚拟机资源需求的单台物理机上创建一台虚拟机,若有多个物理机满足虚拟机创建条件,则随机选择任一满足虚拟机资源需求的物理机作为创建虚拟机的主机。但这种分配方式仅从单一维度考虑了虚拟机的构建条件是否满足要求,而未考虑到虚拟机构建完成后运行的稳定性和可靠性,随机选择可能会导致新创建的虚拟机构建在稳定性较差、失效率较高的物理机上,导致虚拟机的稳定性较差,需要频繁切换物理机。
在此背景下,本实施例为降低虚拟机的物理机切换频率,提升虚拟机运行的稳定性,通过在接收到对待创建虚拟机的创建请求时,不仅从虚拟机的需求内存维度考量目标计算节点,还会从失效率维度考量目标计算节点,从这两个维度综合分析并对候选计算节点进行筛选确定目标计算节点,能够确定出稳定性好、失效率低的物理机,在该物理机上构建的虚拟机能够稳定运行,避免因为物理机失效率高导致需要将虚拟机频繁切换至另一物理机。
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分内存容量作为虚拟机的内存容量。因此,在众多分布式计算节点中要为待创建虚拟机确定一目标计算节点时,该目标计算节点首先要满足待创建虚拟机的需求内存,该需求内存反映的是待创建虚拟机能够正常运行在物理机上所需要的最小内存,其可以是用户在发起对待创建虚拟机的创建请求时根据需要设置的,也可以是根据待创建虚拟机的类型对应获取到的,本实施例不做具体限制。
上述步骤S10中,所述根据所述需求内存在备选计算节点中确定第一候选计算节点的步骤,具体包括:
步骤a1,获取所述备选计算节点的空闲内存,根据所述空闲内存大于所述需求内存的备选计算节点确定第一候选计算节点。
在本实施例中,在获取到待创建虚拟机的需求内存后,还需要获取备选计算节点的空闲内存,确定备选计算节点中空闲内存大于需求内存的计算节点,根据这些满足需求内存的计算节点确定第一候选计算节点,再从第一候选计算节点中确定目标计算节点。其中,空闲内存指的计算节点的总内存与已用内存、预留内存的差值,计算节点的总内存反映的是计算节点的物理内存总量;已用内存反映的是计算节点中已经使用了的物理内存;预留内存反映的是为了保证计算节点的正常运行预留出的物理内存,该预留内存的大小可以是用户预设的一固定值,也可以是计算节点根据当前运行进程的类型动态确定的。
如此能够根据虚拟机资源分配的考量维度逐步缩小满足考量维度需求的计算节点集合,提升后续根据其他考量维度筛选目标计算节点的效率。
进一步地,所述根据所述空闲内存大于所述需求内存的备选计算节点确定第一候选计算节点的步骤,包括:
步骤b1,获取所述空闲内存大于所述需求内存的备选计算节点的CPU使用率;
步骤b2,将所述CPU使用率小于预设CPU使用率阈值,且所述空闲内存大于所述需求内存的备选计算节点确定为第一候选计算节点。
在根据满足需求内存的计算节点确定第一候选计算节点时,可以直接将所有满足需求内存的计算节点确定为第一候选计算节点,但为了进一步保证虚拟机在目标计算节点中的运行性能,使虚拟机能够在目标计算节点上进行高效的运算,本实施例在备选计算节点中确定满足需求内存的计算节点后,会获取这些满足需求内存的计算节点的CPU使用率。其中,CPU使用率指的是计算节点中运行的程序占用的CPU资源,表示计算节点在某个时间点的运行程序的情况,使用率越高,说明计算节点在这个时间上运行了很多程序,反之较少,CPU使用率过高会影响计算节点的处理速度,从而使得计算节点运行变慢,进而影响虚拟机的运行速度。
因此,为了进一步对满足需求内存的计算节点进行筛选,确定出运行速度较快的计算节点,可在满足需求内存的计算节点的基础上,将CPU使用率小于预设CPU使用率阈值的计算节点确定为第一候选计算节点,预设CPU使用率阈值是由管理人员设置的会影响虚拟机的运行速度的CPU使用率的临界值,从而能够将CPU使用率较高的、会影响虚拟机的运行速度的计算节点滤除。
进一步地,在所述根据所述需求内存在备选计算节点中确定第一候选计算节点的步骤之前,还包括:
步骤c1,获取所述待创建虚拟机的需求服务器类型;
步骤c2,从分布式计算节点中确定与所述需求服务器类型对应的计算节点,作为备选计算节点。
现有的分布式云计算平台中的主机基本都是都构建在X86 CPU架构之上的,无法满足用户多样化CPU架构的需求,而且X86 CPU架构的硬件成本相对较高,在此背景下,本实施例提供了一种同时构建了至少两种CPU架构(例如X86 CPU架构ARM CPU架构等)的分布式云计算平台,该平台中包括具有不同服务器类型的计算节点,用户可在发起对待创建虚拟机的创建请求时,设置待创建虚拟机的需求服务器类型,
在确定待创建虚拟机的需求服务器类型后,即可对分布式云计算平台中的所有分布式计算节点进行筛选,将与该待创建虚拟机的需求服务器类型一致的计算节点,作为备选计算节点。
本实施例能够给用户提供更多的CPU架构选择,满足用户的多样化需求,同时能够避免全平台采用X86 CPU架构导致的硬件成本高的问题。
步骤S20,获取所述第一候选计算节点的投产运行时间,根据所述投产运行时间确定所述第一候选计算节点的失效率;
在本实施例中,投产运行时间指的是分布式云计算平台中的计算节点从初次使用时至当前时刻的累计运行时间,计算节点的失效率与计算节点的投产运行时间是有密切联系的,失效率指的是计算节点发生故障的概率。参见图3,若以投产运行时间为横坐标,失效率为纵坐标,在计算节点的整个产品生命周期中,失效率是与投产运行时间呈浴盆曲线状的,若确定第一候选计算节点的投产运行时间,即可根据投产运行时间以及浴盆曲线对应的预设失效率公式确定对应的失效率。
整个产品生命周期依次分为最初故障期、正常寿命期和老化期三个阶段,其中,在最初故障期,由于产品刚开始投入使用,失效率很高,但随着产品运行时间的增加,失效率会迅速降低,这一阶段失效率较高的原因大多是由于设计、原材料和制造过程中的缺陷造成的;在正常寿命期,产品失效率较低,且较稳定,往往可近似看作常数,可以用指数分布表示,这一阶段是产品的良好使用阶段,偶然失效主要原因是质量缺陷、材料弱点、环境和使用不当导致的;在老化期,失效率随时间的延长而急速增加,主要是由磨损、疲劳、老化和耗损等原因造成的。
进一步地,上述步骤S20中,所述根据所述投产运行时间确定所述第一候选计算节点的失效率的步骤,具体包括:
步骤d1,根据所述投产运行时间确定所述第一候选计算节点所处的生命周期;
步骤d2,若所述第一候选计算节点所处的生命周期为最初故障期或者老化期,则根据所述第一候选计算节点所处的生命周期确定对应的周期参数,根据所述投产运行时间、所述周期参数以及预设失效率公式确定所述第一候选计算节点的失效率;
步骤d3,若所述第一候选计算节点所处的生命周期为正常寿命期,则将与所述正常寿命期对应的预设失效率作为所述第一候选计算节点的失效率。
在本实施例中,按照投产运行时间的长短将计算节点的生命周期划分为了三个阶段,并为最初故障期和老化期设置了对应的周期参数,周期参数包括预设位置参数和预设尺度参数,不同生命周期的周期参数不同,因此,在确定第一候选计算节点的投产运行时间后,需要根据该投产运行时间以及不同生命周期对应的时间区间,确定第一候选计算节点所处的生命周期;若第一候选计算节点所处的生命周期为正常寿命期,则其失效率为一常数;若第一候选计算节点所处的生命周期为最初故障期或者老化期,则需获取与该生命周期对应的周期参数,在周期参数和投产运行时间均确定后,即可将周期参数和投产运行时间带入预设失效率公式,得到计算节点的失效率。
在本实施例中,预设失效率公式为:
Figure RE-GDA0002981045040000091
其中,λ(t)为失效率;
t为投产运行时间;
β为预设位置参数,θ为预设尺度参数,计算节点处于不同的生命周期时,对应的β值不同,若计算节点处于最初故障期,则0<β<1,θ>0,β、θ的具体大小由管理人员根据需要设置;若计算节点处于老化期,β>1,θ>0,β、θ的具体大小由管理人员根据需要设置。
步骤S30,根据所述失效率从所述第一候选计算节点中确定目标计算节点,并在所述目标计算节点中创建所述待创建虚拟机。
在本实施例中,在确定第一候选计算节点的失效率后,即可根据失效率的大小从第一候选计算节点中确定出失效率最低的计算节点,根据失效率最低的计算节点确定目标计算节点。
进一步地,上述步骤S30中,所述根据所述失效率从所述第一候选计算节点中确定目标计算节点的步骤,具体包括:
步骤e1,确定所述第一候选计算节点中失效率最低的第二候选计算节点的数量;
步骤e2,若所述第二候选计算节点的数量等于1,则将所述第二候选计算节点确定为目标计算节点;
步骤e3,若所述第二候选计算节点的数量大于1,则将所述投产运行时间最短的所述第二候选计算节点确定为目标计算节点。
在本实施例中,从第一候选计算节点中确定出失效率最低且相同的计算节点,为第二候选计算节点,若第二候选计算节点的数量等于1,则直接将该第二候选计算节点确定为目标计算节点;但若第二候选计算节点的数量大于 1,则将投产运行时间最短的所述第二候选计算节点确定为目标计算节点,例如,若计算节点A处于最初故障期,计算节点B处于老化期,若这两个节点的失效率相同,为了进一步保证用于构建虚拟机的目标计算节点在后续运行时失效率持续保持在较低水平,优先选择投产运行时间最短的计算节点A作为目标计算节点。
在本实施例中,通过优先选择失效率最低的计算节点作为目标计算节点,能够降低虚拟机因为物理机失效导致需要切换物理机的频率;对于失效率最低的计算节点存在多个的情况,优先选择投产运行时间最短计算节点作为目标计算节点,能够进一步保证用于构建虚拟机的目标计算节点在后续运行时失效率持续保持在较低水平。
在本实施例中,通过接收对待创建虚拟机的创建请求,获取所述待创建虚拟机的需求内存,根据所述需求内存在备选计算节点中确定第一候选计算节点;获取所述第一候选计算节点的投产运行时间,根据所述投产运行时间确定所述第一候选计算节点的失效率;根据所述失效率从所述第一候选计算节点中确定目标计算节点,并在所述目标计算节点中创建所述待创建虚拟机。
通过在接收到对待创建虚拟机的创建请求时,不仅从虚拟机的需求内存维度考量目标计算节点,还会从失效率维度考量目标计算节点,从这两个维度综合分析并对候选计算节点进行筛选确定目标计算节点,能够确定出稳定性好、失效率低的物理机,在该物理机上构建的虚拟机能够稳定运行,避免因为物理机失效率高导致需要将虚拟机频繁切换至另一物理机。
进一步地,基于本发明虚拟机资源分配方法第一实施例,提出本发明虚拟机资源分配方法第二实施例。所述虚拟机资源分配方法应用于云计算平台,所述云计算平台包括多个分布式可用区,所述备选计算节点位于所述分布式可用区中,上述虚拟机资源分配方法还包括:
步骤f1,根据预设选举算法从每个分布式可用区的计算节点中选举出各所述分布式可用区的主节点,并将所述分布式可用区中的其他计算节点作为从节点;
步骤f2,在所述主节点接收到所述分布式可用区内的从节点发送的可疑节点的标识信息时,通过所述分布式可用区的主节点对所述可疑节点进行失联状态检测;
步骤f3,若确定所述可疑节点为失联状态,则通过所述分布式可用区的主节点向管理节点上报所述可疑节点的状态为失联状态。
目前云计算平台的计算与分布式存储方案都是构建在x86服务器之上的,现有方案是通过管理节点直接管理计算资源与存储资源,计算节点通过部署在每个计算节点上的agent与管理节点通讯,向管理节点上报状态,以保证云计算平台的虚拟机高可用(即HA,High availability),该高可用功能用于当物理主机出现故障导致部署在物理主机上的虚拟机不可用时,自动恢复这些正在运行的虚拟机,该功能在提升云平台可靠性的同时,也能够大大提升整个平台的可维护性。但是,现有方案中该功能的实现依赖于每个计算节点上的 agent及时向管理节点上报状态,由于云计算平台中可能存在海量的计算节点,若每个计算节点都需要按照统一频率向管理节点反馈状态,可能会导致管理节点因为处理这些海量状态信息导致资源瓶颈。
在此背景下,本实施例为降低管理节点需要与各个计算节点交互的交互压力,通过分布式可用区中的从节点互相进行状态监视,并向主节点汇报状态异常的从节点,再由主节点与管理节点进行交互,上报异常状态的从节点,从而能够大大减少直接与管理节点进行交互的计算节点数量,降低管理节点的交互压力。
管理人员根据安全需求将云计算平台中的分布式计算节点划分为不同的分布式可用区(Availability Zone,AZ),每个分布式可用区之间严格隔离,每个分布式可用区中包括大量的分布式计算节点,且每个分布式可用区均具有各自的主节点,主节点用于向云计算平台的管理节点上报该分布式可用区种所有计算节点的状态,从节点向主节点汇报状态信息,该主节点是根据预设选举算法从分布式可用区中所有计算节点中选举出来的,每个分布式可用区中的每个计算节点之间可以互相通信。其中,预设选举算法是为了减少与管理节点进行状态信息交互的计算节点数量,而设置的一套可以从分布式可用区中的多个计算节点中确定出一主节点的算法;预设选举算法可以为Raft 分布式选举算法、Bully算法、ZAB算法中的任意一种。
在本实施例中,分布式可用区中的从节点之间会按照一定周期互相发送心跳信号,若从节点A在预定周期内未接收到从节点B的心跳信号,则从节点A会向主节点上报该从节点B的标识信息,此时主节点若还接收到除从节点A外的其他从节点上报的从节点B的标识信息,且向主节点上报从节点B 的标识信息的数量大于预设数量阈值,则主节点确定该从节点B为可疑节点,在确定可疑节点后,还需要对该可疑节点进行失联状态检测,若主节点确定可疑节点为失联状态,则向管理节点上报该可疑节点的状态为失联状态,以供管理节点及时执行相应的处理措施。可以理解的是,对于未被其他从节点上报为可疑节点的主从节点,可以认为其处于正常运行状态。
其中,失联状态检测可以是主节点对从节点进行ping检测,和/或远程端口检测(例如telnet检测),若ping检测和远程端口检测中任一检测失败,则确定可疑节点为失联状态。
进一步地,在主节点确定可疑节点处于失联状态后,还可以进一步确定可疑节点上的虚拟机的状态,并向管理节点上报可疑节点上的虚拟机的状态。具体为,获取该可疑节点关联的存储节点与该可疑节点的连接状态,根据连接状态确定虚拟机的运行状态,其中,可疑节点上的虚拟机通过与该可疑节点关联的存储节点进行数据存储;若存储节点与该可疑节点仍处于连接状态,说明可疑节点本身并未发生故障,虚拟机仍可在可疑节点上运行,即该可疑节点上的虚拟机为正常运行状态,可以认为导致可疑节点处于失联状态的原因是可疑节点与其他计算节点之间的物理通信链路故障;若存储节点与该可疑节点处于未连接状态,说明可疑节点本身可能发生了故障,即该可疑节点上的虚拟机为异常状态,可以认为导致可疑节点处于失联状态的原因是可疑节点与本身发生了故障。
本实施例通过对与可疑节点关联的存储节点进行连接状态检测,能够在确定可疑节点的状态之后,确定构建在可疑节点之上的虚拟机的运行状态,以便于管理节点能够根据虚拟机的运行状态进一步确定可疑节点的故障原因。
本发明还提供一种虚拟机资源分配系统,参照图4,所述虚拟机资源分配系统包括:
需求内存确定模块10,用于接收对待创建虚拟机的创建请求,获取所述待创建虚拟机的需求内存,根据所述需求内存在备选计算节点中确定第一候选计算节点;
失效率确定模块20,用于获取所述第一候选计算节点的投产运行时间,根据所述投产运行时间确定所述第一候选计算节点的失效率;
目标确定模块30,用于根据所述失效率从所述第一候选计算节点中确定目标计算节点,并在所述目标计算节点中创建所述待创建虚拟机。
可选地,所述失效率确定模块,还用于:
根据所述投产运行时间确定所述第一候选计算节点所处的生命周期;
若所述第一候选计算节点所处的生命周期为最初故障期或者老化期,则根据所述第一候选计算节点所处的生命周期确定对应的周期参数,根据所述投产运行时间、所述周期参数以及预设失效率公式确定所述第一候选计算节点的失效率;
若所述第一候选计算节点所处的生命周期为正常寿命期,则将与所述正常寿命期对应的预设失效率作为所述第一候选计算节点的失效率。
可选地,所述目标确定模块,还用于:
确定所述第一候选计算节点中失效率最低的第二候选计算节点的数量;
若所述第二候选计算节点的数量等于1,则将所述第二候选计算节点确定为目标计算节点;
若所述第二候选计算节点的数量大于1,则将所述投产运行时间最短的所述第二候选计算节点确定为目标计算节点。
可选地,所述需求内存确定模块,还用于:
获取所述备选计算节点的空闲内存,根据所述空闲内存大于所述需求内存的备选计算节点确定第一候选计算节点。
可选地,所述需求内存确定模块,还用于:
获取所述空闲内存大于所述需求内存的备选计算节点的CPU使用率;
将所述CPU使用率小于预设CPU使用率阈值,且所述空闲内存大于所述需求内存的备选计算节点确定为第一候选计算节点。
可选地,所述虚拟机资源分配方法应用于云计算平台,所述云计算平台包括多个分布式可用区,所述备选计算节点位于所述分布式可用区中,所述需求内存确定模块,还用于:
获取所述待创建虚拟机的需求服务器类型;
从分布式计算节点中确定与所述需求服务器类型对应的计算节点,作为备选计算节点。
可选地,所述虚拟机资源分配系统,还包括:
选举模块,用于根据预设选举算法从每个分布式可用区的计算节点中选举出各所述分布式可用区的主节点,并将所述分布式可用区中的其他计算节点作为从节点;
失联状态检测模块,用于在所述主节点接收到所述分布式可用区内的从节点发送的可疑节点的标识信息时,通过所述分布式可用区的主节点对所述可疑节点进行失联状态检测;
上报模块,用于若确定所述可疑节点为失联状态,则通过所述分布式可用区的主节点向管理节点上报所述可疑节点的状态为失联状态。
上述各程序单元所执行的方法可参照本发明虚拟机资源分配方法各个实施例,此处不再赘述。
本发明还提供一种虚拟机资源分配设备,虚拟机资源分配设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的虚拟机资源分配程序,虚拟机资源分配程序被处理器执行时所实现的方法可参照本发明虚拟机资源分配方法各个实施例,此处不再赘述。
本发明还提供一种计算机存储介质。
本发明计算机存储介质上存储有虚拟机资源分配程序,所述虚拟机资源分配程序被处理器执行时实现如上所述的虚拟机资源分配方法的步骤。
其中,在所述处理器上运行的虚拟机资源分配程序被执行时所实现的方法可参照本发明虚拟机资源分配方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种虚拟机资源分配方法,其特征在于,所述虚拟机资源分配方法包括如下步骤:
接收对待创建虚拟机的创建请求,获取所述待创建虚拟机的需求内存,根据所述需求内存在备选计算节点中确定第一候选计算节点;
获取所述第一候选计算节点的投产运行时间,根据所述投产运行时间确定所述第一候选计算节点的失效率;
根据所述失效率从所述第一候选计算节点中确定目标计算节点,并在所述目标计算节点中创建所述待创建虚拟机。
2.如权利要求1所述的虚拟机资源分配方法,其特征在于,所述根据所述投产运行时间确定所述第一候选计算节点的失效率的步骤,包括:
根据所述投产运行时间确定所述第一候选计算节点所处的生命周期;
若所述第一候选计算节点所处的生命周期为最初故障期或者老化期,则根据所述第一候选计算节点所处的生命周期确定对应的周期参数,根据所述投产运行时间、所述周期参数以及预设失效率公式确定所述第一候选计算节点的失效率;
若所述第一候选计算节点所处的生命周期为正常寿命期,则将与所述正常寿命期对应的预设失效率作为所述第一候选计算节点的失效率。
3.如权利要求1所述的虚拟机资源分配方法,其特征在于,所述根据所述失效率从所述第一候选计算节点中确定目标计算节点的步骤,包括:
确定所述第一候选计算节点中失效率最低的第二候选计算节点的数量;
若所述第二候选计算节点的数量等于1,则将所述第二候选计算节点确定为目标计算节点;
若所述第二候选计算节点的数量大于1,则将所述投产运行时间最短的所述第二候选计算节点确定为目标计算节点。
4.如权利要求1所述的虚拟机资源分配方法,其特征在于,所述根据所述需求内存在备选计算节点中确定第一候选计算节点的步骤包括:
获取所述备选计算节点的空闲内存,根据所述空闲内存大于所述需求内存的备选计算节点确定第一候选计算节点。
5.如权利要求4所述的虚拟机资源分配方法,其特征在于,所述根据所述空闲内存大于所述需求内存的备选计算节点确定第一候选计算节点的步骤,包括:
获取所述空闲内存大于所述需求内存的备选计算节点的CPU使用率;
将所述CPU使用率小于预设CPU使用率阈值,且所述空闲内存大于所述需求内存的备选计算节点确定为第一候选计算节点。
6.如权利要求4所述的虚拟机资源分配方法,其特征在于,所述根据所述需求内存在备选计算节点中确定第一候选计算节点的步骤之前,还包括:
获取所述待创建虚拟机的需求服务器类型;
从分布式计算节点中确定与所述需求服务器类型对应的计算节点,作为备选计算节点。
7.如权利要求1所述的虚拟机资源分配方法,其特征在于,所述虚拟机资源分配方法应用于云计算平台,所述云计算平台包括多个分布式可用区,所述备选计算节点位于所述分布式可用区中,所述虚拟机资源分配方法还包括:
根据预设选举算法从每个分布式可用区的计算节点中选举出各所述分布式可用区的主节点,并将所述分布式可用区中的其他计算节点作为从节点;
在所述主节点接收到所述分布式可用区内的从节点发送的可疑节点的标识信息时,通过所述分布式可用区的主节点对所述可疑节点进行失联状态检测;
若确定所述可疑节点为失联状态,则通过所述分布式可用区的主节点向管理节点上报所述可疑节点的状态为失联状态。
8.一种虚拟机资源分配系统,其特征在于,所述虚拟机资源分配系统包括:
需求内存确定模块,用于接收对待创建虚拟机的创建请求,获取所述待创建虚拟机的需求内存,根据所述需求内存在备选计算节点中确定第一候选计算节点;
失效率确定模块,用于获取所述第一候选计算节点的投产运行时间,根据所述投产运行时间确定所述第一候选计算节点的失效率;
目标确定模块,用于根据所述失效率从所述第一候选计算节点中确定目标计算节点,并在所述目标计算节点中创建所述待创建虚拟机。
9.一种虚拟机资源分配设备,其特征在于,所述虚拟机资源分配设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的虚拟机资源分配程序,所述虚拟机资源分配程序被所述处理器执行时实现如权利要求1至7中任一项所述的虚拟机资源分配方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有虚拟机资源分配程序,所述虚拟机资源分配程序被处理器执行时实现如权利要求1至7中任一项所述的虚拟机资源分配方法的步骤。
CN202011603435.7A 2020-12-29 2020-12-29 虚拟机资源分配方法、系统、设备及介质 Pending CN112732401A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011603435.7A CN112732401A (zh) 2020-12-29 2020-12-29 虚拟机资源分配方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011603435.7A CN112732401A (zh) 2020-12-29 2020-12-29 虚拟机资源分配方法、系统、设备及介质

Publications (1)

Publication Number Publication Date
CN112732401A true CN112732401A (zh) 2021-04-30

Family

ID=75610574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011603435.7A Pending CN112732401A (zh) 2020-12-29 2020-12-29 虚拟机资源分配方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN112732401A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282369A (zh) * 2021-05-26 2021-08-20 上海仪电(集团)有限公司中央研究院 一种虚拟机调度方法、装置、介质及设备
CN113326102A (zh) * 2021-08-02 2021-08-31 中电长城网际安全技术研究院(北京)有限公司 大规模虚拟机创建方法、装置、计算机设备和可读介质
CN113608833A (zh) * 2021-07-19 2021-11-05 曙光信息产业(北京)有限公司 虚拟机创建方法、装置、计算机设备和存储介质
CN116051018A (zh) * 2022-11-25 2023-05-02 北京多氪信息科技有限公司 选举处理方法、装置、电子设备及计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905530A (zh) * 2014-03-11 2014-07-02 浪潮集团山东通用软件有限公司 一种高性能全局负载均衡的分布式数据库数据路由方法
CN104320459A (zh) * 2014-10-24 2015-01-28 杭州华三通信技术有限公司 一种节点管理方法和装置
CN105700948A (zh) * 2014-11-24 2016-06-22 阿里巴巴集团控股有限公司 一种用于在集群中调度计算任务的方法与设备
CN106020937A (zh) * 2016-07-07 2016-10-12 腾讯科技(深圳)有限公司 一种创建虚拟机的方法、装置及系统
CN107168805A (zh) * 2017-06-19 2017-09-15 成都鼎智汇科技有限公司 一种基于虚拟机的资源调度方法
CN109508223A (zh) * 2017-09-14 2019-03-22 顺丰科技有限公司 一种虚拟机批量创建方法、系统及设备
CN109669762A (zh) * 2018-12-25 2019-04-23 深圳前海微众银行股份有限公司 云计算资源管理方法、装置、设备及计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905530A (zh) * 2014-03-11 2014-07-02 浪潮集团山东通用软件有限公司 一种高性能全局负载均衡的分布式数据库数据路由方法
CN104320459A (zh) * 2014-10-24 2015-01-28 杭州华三通信技术有限公司 一种节点管理方法和装置
CN105700948A (zh) * 2014-11-24 2016-06-22 阿里巴巴集团控股有限公司 一种用于在集群中调度计算任务的方法与设备
CN106020937A (zh) * 2016-07-07 2016-10-12 腾讯科技(深圳)有限公司 一种创建虚拟机的方法、装置及系统
CN107168805A (zh) * 2017-06-19 2017-09-15 成都鼎智汇科技有限公司 一种基于虚拟机的资源调度方法
CN109508223A (zh) * 2017-09-14 2019-03-22 顺丰科技有限公司 一种虚拟机批量创建方法、系统及设备
CN109669762A (zh) * 2018-12-25 2019-04-23 深圳前海微众银行股份有限公司 云计算资源管理方法、装置、设备及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张林等: "《装备可信性管理与监督》", 国防工业出版社, pages: 42 - 43 *
黄勇理: "《能源动力设备的控制与管理》", 31 December 2006, 华中科技大学出版社, pages: 291 - 296 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282369A (zh) * 2021-05-26 2021-08-20 上海仪电(集团)有限公司中央研究院 一种虚拟机调度方法、装置、介质及设备
CN113282369B (zh) * 2021-05-26 2023-05-12 上海仪电(集团)有限公司中央研究院 一种虚拟机调度方法、装置、介质及设备
CN113608833A (zh) * 2021-07-19 2021-11-05 曙光信息产业(北京)有限公司 虚拟机创建方法、装置、计算机设备和存储介质
CN113326102A (zh) * 2021-08-02 2021-08-31 中电长城网际安全技术研究院(北京)有限公司 大规模虚拟机创建方法、装置、计算机设备和可读介质
CN116051018A (zh) * 2022-11-25 2023-05-02 北京多氪信息科技有限公司 选举处理方法、装置、电子设备及计算机可读存储介质
CN116051018B (zh) * 2022-11-25 2023-07-14 北京多氪信息科技有限公司 选举处理方法、装置、电子设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN112732401A (zh) 虚拟机资源分配方法、系统、设备及介质
US9588821B2 (en) Automatic determination of required resource allocation of virtual machines
US8826290B2 (en) Method of monitoring performance of virtual computer and apparatus using the method
US7234073B1 (en) System and methods for failover management of manageable entity agents
CN103873279B (zh) 一种服务器管理方法,及装置
EP2838228B1 (en) Alarm correlation analysis method, apparatus, and system
US10282279B2 (en) System and method for diagnosing information technology systems in multiple virtual parallel universes
CN110764963B (zh) 一种服务异常处理方法、装置及设备
EP3255833B1 (en) Alarm information processing method, relevant device and system
US10846186B2 (en) Central processing unit CPU hot-remove method and apparatus, and central processing unit CPU hot-add method and apparatus
CN111818159A (zh) 数据处理节点的管理方法、装置、设备及存储介质
US8572621B2 (en) Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria
CN109981405B (zh) 节点管理方法、装置及计算机可读存储介质
CN114884838B (zh) Kubernetes组件的监控方法及服务器
CN111221632A (zh) 分布式并行任务调度方法、装置、计算机设备和存储介质
CN112199240B (zh) 一种节点故障时进行节点切换的方法及相关设备
EP4024765B1 (en) Method and apparatus for extracting fault propagation condition, and storage medium
WO2011108553A1 (ja) 構成情報管理サーバ、構成情報管理方法、及び構成情報管理用プログラム
CN106506278B (zh) 一种服务可用性监控方法及装置
CN107453888B (zh) 高可用性的虚拟机集群的管理方法及装置
CN110096407A (zh) 识别成员处的软故障
CN108170507B (zh) 虚拟应用管理方法/系统、计算机可读存储介质及服务端
CN112416594A (zh) 一种微服务分配方法、电子设备和计算机存储介质
JP6295856B2 (ja) 管理支援方法,管理支援装置及び管理支援プログラム
CN102546652B (zh) 一种服务器负载平衡系统及方法

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