CN111324424B - 一种虚拟机部署方法、装置、服务器及存储介质 - Google Patents
一种虚拟机部署方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN111324424B CN111324424B CN202010297117.6A CN202010297117A CN111324424B CN 111324424 B CN111324424 B CN 111324424B CN 202010297117 A CN202010297117 A CN 202010297117A CN 111324424 B CN111324424 B CN 111324424B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- machine
- machines
- physical
- virtual
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明实施例提供一种虚拟机部署方法、装置、服务器及存储介质,通过获取虚拟机资源信息,虚拟机资源信息用于表征虚拟机运行所需的资源;根据虚拟机资源信息,确定物理机资源信息,其中,物理机资源信息用于表征多台物理机的总资源量,多台物理机中包括非空闲物理机;根据非空闲物理机的剩余资源,确定虚拟机与物理机的部署映射关系;根据部署映射关系,对虚拟机进行部署,由于根据虚拟机资源信息和非空闲物理机的剩余资源之间的关系,对虚拟机进行部署,能够使虚拟机优先部署在剩余资源较少的物理机上,因此,克服了虚拟机部署时产生较多碎片的问题,提高了硬件资源的利用率,降低了虚拟机部署的硬件成本。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种虚拟机部署方法、装置、服务器及存储介质。
背景技术
随着云化技术的发展,核心网的网络架构由传统的专有硬件、独立硬件部署方式转变为基于网络功能虚拟化(Network Functions Virtualization,NFV)通信云进行业务网元部署的方式,以便实现资源共享、动态调配。在进行云化部署时,需要对虚拟机运行所需的物理机资源进行评估,并按照评估结果,进行相应的部署。
现有技术中,通常是在空闲资源最充足的物理机上优先进行虚拟机的部署,从而保证虚拟机有充足的运行资源。
然后,按照物理机的空闲资源最大原则进行虚拟机的部署,存在部署过程中产生大量资源碎片的问题,降低了硬件资源的利用率,提高了虚拟机部署的硬件成本。
发明内容
本发明提供一种虚拟机部署方法、装置、服务器及存储介质,用以解决虚拟机部署过程中产生大量资源碎片的问题。
根据本公开实施例的第一方面,本发明提供了一种虚拟机部署方法,所述方法包括:
获取虚拟机资源信息,所述虚拟机资源信息用于表征虚拟机运行所需的资源;
根据所述虚拟机资源信息,确定物理机资源信息,其中,所述物理机资源信息用于表征多台物理机的总资源量,所述多台物理机中包括非空闲物理机;
根据所述非空闲物理机的剩余资源,确定所述虚拟机与物理机的部署映射关系;
根据所述部署映射关系,对所述虚拟机进行部署。
可选地,所述虚拟机资源信息包括虚拟机规格,所述虚拟机规格用于表征各虚拟机对应的资源需求量,所述多台物理机中还包括空闲物理机;根据所述非空闲物理机的剩余资源,确定所述虚拟机与物理机的部署映射关系,包括:
根据所述虚拟机规格,确定虚拟机序列;
依次将所述虚拟机序列中的虚拟机确定为目标虚拟机;
依次根据所述目标虚拟机的虚拟机规格与所述非空闲物理机的剩余资源的匹配程度,确定所述虚拟机序列中各虚拟机与预设的物理机之间的对应关系,其中,所述预设的物理机为非空闲物理机或者空闲物理机;
确定所述对应关系为所述部署映射关系。
可选地,根据所述虚拟机规格,确定虚拟机序列,包括:
根据所述虚拟机的规格,确定所述虚拟机对应的资源需求量;
按照所述资源需求量的大小对虚拟机进行降序排序,得到虚拟机序列。
可选地,根据所述目标虚拟机的虚拟机规格与所述非空闲物理机的剩余资源的匹配程度,确定所述虚拟机序列中各虚拟机与预设的物理机之间的对应关系,包括:
若所述目标虚拟机对应的虚拟机规格小于等于所述非空闲物理机的剩余资源,则将所述目标虚拟机与所述非空闲物理机建立映射关系;
若所述目标虚拟机对应的虚拟机规格大于所述非空闲物理机的剩余资源,则将所述目标虚拟机与所述空闲物理机建立映射关系。
可选地,所述虚拟机资源信息还包括虚拟机数量,根据所述虚拟机资源信息,确定物理机资源信息,包括:
根据所述虚拟机数量和所述虚拟机规格,确定所述虚拟机运行所需的总资源量;
根据所述总资源量,确定物理机资源信息。
可选地,在根据所述非空闲物理机的剩余资源,确定所述虚拟机与物理机的部署映射关系之前,还包括:
获取所述多台物理机对应的剩余资源;
根据所述多台物理机的剩余资源,对所述多台物理机的部署优先级进行排序。
可选地,所述虚拟机运行所需的资源包括:
CPU资源、内存资源、硬盘资源、网络带宽资源中的一种或多种。
根据本公开实施例的第二方面,本发明提供了一种虚拟机部署装置,包括:
获取模块,用于获取虚拟机资源信息,所述虚拟机资源信息用于表征虚拟机运行所需的资源;
第一确定模块,用于根据所述虚拟机资源信息,确定物理机资源信息,其中,所述物理机资源信息用于表征多台物理机的总资源量,所述多台物理机中包括非空闲物理机;
第二确定模块,用于根据所述非空闲物理机的剩余资源,确定所述虚拟机与物理机的部署映射关系;
部署模块,用于根据所述部署映射关系,对所述虚拟机进行部署。
可选地,所述虚拟机资源信息包括虚拟机规格,所述虚拟机规格用于表征各虚拟机对应的资源需求量,所述多台物理机中还包括空闲物理机;所述第二确定模块,具体用于:
根据所述虚拟机规格,确定虚拟机序列;
依次将所述虚拟机序列中的虚拟机确定为目标虚拟机;
依次根据所述目标虚拟机的虚拟机规格与所述非空闲物理机的剩余资源的匹配程度,确定所述虚拟机序列中各虚拟机与预设的物理机之间的对应关系,其中,所述预设的物理机为非空闲物理机或者空闲物理机;
确定所述对应关系为所述部署映射关系。
可选地,所述第二确定模块在根据所述虚拟机规格,确定虚拟机序列时,具体用于:
根据所述虚拟机的规格,确定所述虚拟机对应的资源需求量;
按照所述资源需求量的大小对虚拟机进行降序排序,得到虚拟机序列。
可选地,所述第二确定模块在根据所述目标虚拟机的虚拟机规格与所述非空闲物理机的剩余资源的匹配程度,确定所述虚拟机序列中各虚拟机与预设的物理机之间的对应关系时,具体用于:
若所述目标虚拟机对应的虚拟机规格小于等于所述非空闲物理机的剩余资源,则将所述目标虚拟机与所述非空闲物理机建立映射关系;
若所述目标虚拟机对应的虚拟机规格大于所述非空闲物理机的剩余资源,则将所述目标虚拟机与所述空闲物理机建立映射关系。
可选地,所述虚拟机资源信息还包括虚拟机数量,所述第一确定模块,具体用于:
根据所述虚拟机数量和所述虚拟机规格,确定所述虚拟机运行所需的总资源量;
根据所述总资源量,确定物理机资源信息。
可选地,所述第一确定模块,还用于:
获取所述多台物理机对应的剩余资源;
根据所述多台物理机的剩余资源,对所述多台物理机的部署优先级进行排序。
可选地,所述虚拟机运行所需的资源包括:
CPU资源、内存资源、硬盘资源、网络带宽资源中的一种或多种。
根据本公开实施例的第三方面,本发明提供了一种服务器,包括:存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行如本公开实施例第一方面任一项所述的虚拟机部署方法。
根据本公开实施例的第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如本公开实施例第一方面任一项所述的虚拟机部署方法。
本发明提供的虚拟机部署方法、装置、服务器及存储介质,通过获取虚拟机资源信息,所述虚拟机资源信息用于表征虚拟机运行所需的资源;根据所述虚拟机资源信息,确定物理机资源信息,其中,所述物理机资源信息用于表征多台物理机的总资源量,所述多台物理机中包括非空闲物理机;根据所述非空闲物理机的剩余资源,确定所述虚拟机与物理机的部署映射关系;根据所述部署映射关系,对所述虚拟机进行部署,由于根据虚拟机资源信息和非空闲物理机的剩余资源之间的关系,对虚拟机进行部署,能够使虚拟机优先部署在剩余资源较少的物理机上,因此,克服了虚拟机部署时产生较多碎片的问题,提高了硬件资源的利用率,降低了虚拟机部署的硬件成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本发明实施例提供的虚拟机部署方法的一种应用场景图;
图2为本发明一个实施例提供的虚拟机部署方法的流程图;
图3为本发明另一个实施例提供的虚拟机部署方法的流程图;
图4为步骤S206中确定目标虚拟机与预设的物理机之间的对应关系的示意图;
图5为步骤S207中确定部署映射关系的方法的示意图;
图6为本发明一个实施例提供的虚拟机部署装置的结构示意图;
图7为本发明一个实施例提供的服务器的示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先对本发明所涉及的名词进行解释:
虚拟机:虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体机中能够完成的工作在虚拟机中都能够实现。在实体机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量,以使虚拟机能够实现各种功能和应用。
下面对本发明实施例的应用场景进行解释:
图1为本发明实施例提供的虚拟机部署方法的一种应用场景图,如图1所示,本实施例提供的虚拟机部署方法应用于服务器,例如为核心网服务器。核心网服务器包括多台物理机,核心网服务器通过与基站通信连接,用户终端设备通过与基站间的无线通信,实现核心网的接入。通过在在物理机内部署虚拟机,实现将核心网的网络架构由专有硬件、独立硬件部署方式转变为基于NFV通信云进行业务网元部署的方式,进而通过虚拟机提供的虚拟资源实现不同业务功能。
目前,随着云化技术的发展,核心网的网络架构由传统的专有硬件、独立硬件部署方式转变为基于NFV通信云进行业务网元部署的方式,以便实现资源共享、动态调配。在进行云化部署时,需要通过网络功能虚拟化基础设施解决方案(NFV Infrastructure,NFVI)中的虚拟化软件部署策略评估出业务网元所需的物理层资源,并在资源最充足的物理机上优先进行虚拟机的部署。然而,通过按照空闲资源最大的原则进行物理机资源优先级排序及部署的方式,无法有效解决部署时产生的资源碎片问题,由于物理机资源的优先级排序是按照资源占有率进行排序,使用率越低,即空闲资源越多时,物理机优先级越高,创建虚拟机时优先部署在空闲资源最大的物理机上,物理资源越充足,虚拟机的部署会越分散,产生的碎片就会越多,从而降低了硬件资源的利用率,提高了虚拟机部署的硬件成本。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2为本发明一个实施例提供的虚拟机部署方法的流程图,如图1所示,本实施例提供的虚拟机部署方法的执行主体例如为执行虚拟机部署的服务器,方法包括以下几个步骤:
步骤S101,获取虚拟机资源信息,虚拟机资源信息用于表征虚拟机运行所需的资源。
具体地,虚拟机资源信息是用于表征待创建的虚拟机运行所需的资源的信息,可以包括待创建的虚拟机运行所需的CPU资源、内存资源、硬盘资源、网络带宽资源中的一种或多种。不同的待创建虚拟机对应有不同的虚拟机资源信息,不同的待创建虚拟机对应的虚拟机资源信息可以是预设的,也可以是根据具体需求计算后获得的,此处不对此进行限定。
步骤S102,根据虚拟机资源信息,确定物理机资源信息,其中,物理机资源信息用于表征多台物理机的总资源量,多台物理机中包括非空闲物理机。
当待创建的虚拟机对应的虚拟机资源信息确定后,可以确定运行该一个或多个虚拟机所需要的总资源量。例如总内存量、总硬盘量、总带宽等。根据该总资源量,可以相应的确定用于部署虚拟机的物理机资源信息。可选地,物理机资源信息包括物理机规格和物理机数量,例如,虚拟机资源信息中要求的内存资源为30G,则可以对应确定物理机资源信息包括物理机数量为3台,每台物理机的内存为10G。
具体地,非空闲物理机是指多台物理机中,其资源已经被部分或全部使用的物理机。例如,物理机A01,具有总共10G可用于创建虚拟机的内存资源,在使用部分内存资源后,剩余8G可用于创建虚拟机的内存资源,即剩余资源为8G,则物理机A01可视为非空闲物理机。
步骤S103,根据非空闲物理机的剩余资源,确定虚拟机与物理机的部署映射关系。
当非空闲物理机的资源由于已经被部分或全部占用,因此非空闲物理机的剩余资源小于物理机的全部资源。此时,相对于空闲物理机而言,非空闲物理机的资源量较少,因此,现有技术中,通常是将非空闲物理机设置较低的部署优先级,但这会形成较多的资源碎片,造成资源浪费。本方法实施例中,优先对非空闲物理机进行处理,通过非空闲物理机的剩余资源,与虚拟机所需的资源进行比对,当非空闲物理机的剩余资源可以承载虚拟机所需的资源时,则优先对非空闲物理机进行部署,即建立该非空闲物理机与对应的虚拟机的映射关系;若非空闲物理机的剩余资源无法承载虚拟机所需的资源时,再使用空闲物理机对虚拟机进行部署,即建立该空闲物理机与对应的虚拟机的映射关系。
步骤S104,根据部署映射关系,对虚拟机进行部署。
具体地,在获得部署映射关系后,根据部署映射关系中虚拟机和物理机的对应关系,可以将虚拟机对应部署于物理机中。基于不同的虚拟机部署平台和框架,有不同的虚拟机部署方法,示例性的,包括:
(1)云化网络中的资源编排和管理系统(MANO)中输入虚拟机和物理机部署对应的部署映射关系。
(2)MANO根据需要部署的虚拟机队列,向虚拟化软件下发命令,进行物理机资源预留(打上标签)。
(3)虚拟化软件返回物理机ID(Host ID)给网络功能虚拟化管理器(VNF Manager,VNFM)。
(4)MANO调用虚拟化软件,要求虚拟化软件按照指定位置创建虚拟机,虚拟化软件按照指定位置进行虚拟机部署。
需要说明的是,对虚拟机进行部署的实现形式还可以为其他,此处不进行具体限定。
本实施例中,通过获取虚拟机资源信息,虚拟机资源信息用于表征虚拟机运行所需的资源;根据虚拟机资源信息,确定物理机资源信息,其中,物理机资源信息用于表征多台物理机的总资源量,多台物理机中包括非空闲物理机;根据非空闲物理机的剩余资源,确定虚拟机与物理机的部署映射关系;根据部署映射关系,对虚拟机进行部署,由于根据虚拟机资源信息和非空闲物理机的剩余资源之间的关系,对虚拟机进行部署,能够使虚拟机优先部署在剩余资源较少的物理机上,因此,克服了虚拟机部署时产生较多碎片的问题,提高了硬件资源的利用率,降低了虚拟机部署的硬件成本。
图3为本发明另一个实施例提供的虚拟机部署方法的流程图,如图3所示,本实施例提供的虚拟机部署方法在图2所示实施例提供的虚拟机部署方法的基础上,对步骤S102-S103进一步细化,则本实施例提供的虚拟机部署方法包括以下几个步骤:
步骤S201,获取虚拟机资源信息,虚拟机资源信息用于表征虚拟机运行所需的资源,虚拟机资源信息包括虚拟机数量和虚拟机规格,虚拟机规格用于表征各虚拟机对应的资源需求量。
具体地,虚拟机资源信息可以根据具体的业务需求进行确定,例如,根据电信服务运营商的移动核心网话务模型,计算需要部署的网元,再根据网元确定对应的虚拟机规格和虚拟机数量。更加具体地,按照虚拟机具体承担的功能,确定虚拟机的虚拟机规格和虚拟机数量,示例性的,包括:
操作维护虚拟机,数量为2台,包括一台主虚拟机和一台备用虚拟机。
业务处理虚拟机的规格计算方法包括:
业务信令处理虚机,虚拟机规格为总激活用户数除以单台虚拟机处理能力,再除以冗余系数。
业务流量转发处理虚机,虚拟机规格为用户数乘以每用户承载数,再乘以每承载平均流量,再除以虚拟机利用率和单台虚拟机流量处理性能的积。
接口流量处理虚机,用户数乘以逻辑接口流量的积,除以接口装载率,再乘以1加冗余度的和,如果虚拟机负责多个接口流量业务处理,则需要计算所有接口计算数值的总和作为该虚拟机最终的计算结果。其中,可选地,冗余度为70%,虚拟机利用率为70%。
同时业务信令和业务流量转发处理虚机:按照业务信令处理计算原则与业务流量处理计算原则,取二者之间的最大值作为该虚拟机的最终数量计算结果。
步骤S202,根据虚拟机数量和虚拟机规格,确定虚拟机运行所需的总资源量。
步骤S203,根据总资源量,确定物理机资源信息,其中,物理机资源信息用于表征多台物理机的总资源量,多台物理机中包括非空闲物理机。
根据虚拟机数量和虚拟机规格的乘积,可以确定虚拟机运行所需要的总资源量。根据该总资源量,可以对应确定需要的物理机资源量,即物理机资源信息。其中,物理机资源信息包括物理机数量和物理机规格。为了保证虚拟机的正常部署和运行,物理服务器数量计算原则为:依次计算CPU、内存、硬盘等资源需求所需要的服务器数量,选取其中最大值作为服务器数量计算结果,并额外考虑一台冗余服务器资源,物理机数量和物理机规格的计算方法可以包括:
服务器数量=max(虚拟机CPU总需求/(单台物理机CPU核数-预留CPU资源)/(1-冗余系数,虚拟机内存总需求/(单台物理机内存容量*内存利用率)/(1-冗余系数)+1。
其中,可选地,冗余系数为0.15,内存利用率为0.8,预留CPU资源为2。
根据以上计算方法,可以确定虚拟机对应的物理机的数量。例如,实现某网元而部署的10台虚拟机,计算出需要的物理机数量为7台。
物理机规格一般为预设的,由物理机的硬件配置决定,示例性的,物理机的规格如表1所示。
表1
步骤S204,根据虚拟机规格,确定虚拟机序列。
具体地,根据虚拟机规格进行排序,形成不同优先级的虚拟机,即虚拟机序列。虚拟机序列的头部为高优先级虚拟机,虚拟机序列的尾部为低优先级虚拟机。
可选地,步骤S204包括步骤S2041、S2042两个具体的实现步骤:
步骤S2041,根据虚拟机的规格,确定虚拟机对应的资源需求量。
虚拟机的规格越高,其运行所需的资源需求量越多,根据虚拟机的规格,确定虚拟机对应的资源需求量。例如,根据虚拟机a01的规格,确定虚拟机a01运行所需的内存为1G,根据虚拟机a02的规格,确定虚拟机a02运行所需的内存为2G,根据虚拟机a03的规格,确定虚拟机a03运行所需的内存为0.8G。
步骤S2042,按照资源需求量的大小对虚拟机进行降序排序,得到虚拟机序列。
按照虚拟机对应的资源需求量进行降序排序,确定虚拟机优先级,将虚拟机优先级对应的各虚拟机排序为虚拟机序列。例如步骤S2041中的举例,根据资源需求量的大小对虚拟机进行降序排序后,得到的虚拟机序列为:{虚拟机a02,虚拟机a01,虚拟机a03}。
本实施例步骤中,通过按照资源需求量的大小对虚拟机进行降序排列,使虚拟机按照资源需求量有序排列,在后续对虚拟机进行部署时,会优先对资源需求量较大的虚拟机进行部署,使物理机的资源使用更加紧凑、合理,提高物理机的资源利用率。
步骤S205,依次将虚拟机序列中的虚拟机确定为目标虚拟机。
根据虚拟机序列,对虚拟机序列中的各虚拟机依次进行处理,即,从虚拟机序列的头部开始,依次将虚拟机作为目标虚拟机与物理机进行匹配,例如虚拟机序列为:{虚拟机a02,虚拟机a01,虚拟机a03},则依次将虚拟机a02,虚拟机a01,虚拟机a03确定为目标虚拟机,执行后续的步骤。
可选地,在步骤S205之后,还包括步骤S2051和S2052两个步骤:
S2051、获取多台物理机对应的剩余资源。
可选地,多台物理机包括空闲物理机和非空闲物理机,根据物理机资源信息,分别获取空闲物理机和非空闲物理机的剩余资源。例如,多台物理机包括3台空闲物理机和3台非空闲物理机,根据物理机资源信息可以确定3台空闲物理机内存的剩余资源分别为4G、4G和8G,以及3台非空闲物理机内存的剩余资源为分别为3.5G、2G和3G,其中,空闲物理机的剩余资源由空闲物理机的规格决定。
S2052、根据多台物理机的剩余资源,对多台物理机的部署优先级进行排序。
在对多台物理机中的非空闲物理机或空闲物理机部署虚拟机之前,先分别根据空闲物理机的剩余资源,对空闲物理机的部署优先级进行排序,和/或,分别根据非空闲物理机的剩余资源,对非空闲物理机的部署优先级进行排序。之后,在对非空闲物理机或空闲物理机部署进行虚拟机部署时,按照非空闲物理机或空闲物理机各自的部署优先级进行虚拟机部署。例如,3台空闲物理机分别为a01、a02、a03,对应的内存的剩余资源分别为4G、4G和8G,则对各空闲物理机的部署优先级进行排序后,空闲物理机的部署优先级从高到低依次为a03、a01、a02,其中,空闲物理机a01和空闲物理机a02的剩余资源相同,因此空闲物理机a01和空闲物理机a02的部署优先级可以互换。类似地,3台非空闲物理机分别为b01、b02、b03,对应的内存的剩余资源分别为3.5G、2G和3G,则对各非空闲物理机的部署优先级进行排序后,非空闲物理机的部署优先级从高到低依次为b01、b03、b02。
步骤S206,依次根据目标虚拟机的虚拟机规格与非空闲物理机的剩余资源的匹配程度,确定虚拟机序列中各虚拟机与预设的物理机之间的对应关系,其中,预设的物理机为非空闲物理机或者空闲物理机。
具体地,依次选择一个目标虚拟机,其中,目标虚拟机为虚拟机序列中位于首位的虚拟机,该虚拟机的规格最高,或所需资源最多,即,优先级最高的虚拟机。将目标虚拟机的虚拟机规格与非空闲物理机的剩余资源进行匹配,若能够匹配,则将目标虚拟机与该非空闲物理机进行映射,若不能够匹配,则将目标虚拟机的虚拟机规格与空闲物理机的剩余资源进行匹配,若能够匹配,则将目标虚拟机与该空闲物理机进行映射;若仍不能匹配,则输出资源不足提示。
可选地,若输出资源不足提示,则根据资源不足提示,返回步骤S203,重新确定物理机资源信息。
可选地,步骤S206一种可能的实现方式包括:
若目标虚拟机对应的虚拟机规格小于等于非空闲物理机的剩余资源,则将目标虚拟机与非空闲物理机建立映射关系;若目标虚拟机对应的虚拟机规格大于非空闲物理机的剩余资源,则将目标虚拟机与空闲物理机建立映射关系。
具体地,图4为步骤S206中确定目标虚拟机与预设的物理机之间的对应关系的示意图,如图4所示,首先比较目标虚拟机a01的虚拟机规格与各非空闲物理机的剩余资源的关系,其中,非空闲物理机包括A01、A02、A03,空闲物理机包括B01、B02。若目标虚拟机a01所需的资源小于或等于非空闲物理机A01的剩余资源,则将目标虚拟机a01与非空闲物理机包括A01建立映射关系;若目标虚拟机所需的资源大于非空闲物理机A01的剩余资源,则目标虚拟机a01与非空闲物理机包括A01不匹配,将目标虚拟机a01所需的资源继续与非空闲物理机A02的剩余资源进行比较,若小于或等于非空闲物理机A02的剩余资源,则将目标虚拟机a01与非空闲物理机包括A02建立映射关系,否则继续与非空闲物理机A03进行匹配。
若非空闲物理机A03仍未实现对目标虚拟机a01的匹配,即目标虚拟机a01所需的资源大于非空闲物理机A03的剩余资源,说明所有非空闲物理机均无法部署目标虚拟机a01,因此,将目标虚拟机a01与空闲物理机进行匹配,直至目标虚拟机a01与某一物理机建立映射关系。
本实施例步骤中,根据目标虚拟机的资源需求量,优先将虚拟机部署在非空闲物理机上,直至非空闲物理机无法承载目标虚拟机的资源量,有效的提高了非空闲物理机的碎片大小和数量,提高了物理机的资源使用效率。
步骤S207,确定对应关系为部署映射关系。
图5为步骤S207中确定部署映射关系的方法的示意图,如图5所示,根据相似的步骤,依次将虚拟机序列中的其他虚拟机a02、a03、a04、a05作为目标虚拟机,依次对非空闲物理机A01、A02、A03和空闲物理B01、B02机进行匹配,直至确定虚拟机序列中所有的虚拟机分别与物理机的对应关系,并将该对应关系确定为对应关系。
可选地,确定部署映射关系之后,根据具体地部署映射关系,调整物理机资源信息,由于虚拟机是优先设置在非空闲物理机中的,因此,非空闲物理机中虚拟机部署的更加紧凑,物理机的资源使用效率更高,碎片更少,最终可能会形成冗余空闲物理机,因此,减少物理机的数量,可以降低虚拟机部署的综合成本。
步骤S208,根据部署映射关系,对虚拟机进行部署。
本实施例中,步骤S208的实现方式与本发明图2所示实施例中的步骤S104的实现方式相同,在此不再一一赘述。
图6为本发明一个实施例提供的虚拟机部署装置的结构示意图,如图所示,本实施例提供的虚拟机部署装置6包括:
获取模块61,用于获取虚拟机资源信息,虚拟机资源信息用于表征虚拟机运行所需的资源。
第一确定模块62,用于根据虚拟机资源信息,确定物理机资源信息,其中,物理机资源信息用于表征多台物理机的总资源量,多台物理机中包括非空闲物理机。
第二确定模块63,用于根据非空闲物理机的剩余资源,确定虚拟机与物理机的部署映射关系。
部署模块64,用于根据部署映射关系,对虚拟机进行部署。
可选地,虚拟机资源信息包括虚拟机规格,虚拟机规格用于表征各虚拟机对应的资源需求量,多台物理机中还包括空闲物理机;第二确定模块63,具体用于:
根据虚拟机规格,确定虚拟机序列。
依次将虚拟机序列中的虚拟机确定为目标虚拟机。
依次根据目标虚拟机的虚拟机规格与非空闲物理机的剩余资源的匹配程度,确定虚拟机序列中各虚拟机与预设的物理机之间的对应关系,其中,预设的物理机为非空闲物理机或者空闲物理机。
确定对应关系为部署映射关系。
可选地,第二确定模块63在根据虚拟机规格,确定虚拟机序列时,具体用于:
根据虚拟机的规格,确定虚拟机对应的资源需求量。
按照资源需求量的大小对虚拟机进行降序排序,得到虚拟机序列。
可选地,第二确定模块63在根据目标虚拟机的虚拟机规格与非空闲物理机的剩余资源的匹配程度,确定虚拟机序列中各虚拟机与预设的物理机之间的对应关系时,具体用于:
若目标虚拟机对应的虚拟机规格小于等于非空闲物理机的剩余资源,则将目标虚拟机与非空闲物理机建立映射关系。
若目标虚拟机对应的虚拟机规格大于非空闲物理机的剩余资源,则将目标虚拟机与空闲物理机建立映射关系。
可选地,虚拟机资源信息还包括虚拟机数量,第一确定模块62,具体用于:
根据虚拟机数量和虚拟机规格,确定虚拟机运行所需的总资源量。
根据总资源量,确定物理机资源信息。
可选地,第一确定模块62,还用于:
获取多台物理机对应的剩余资源。
根据多台物理机的剩余资源,对多台物理机的部署优先级进行排序。
可选地,虚拟机运行所需的资源包括:
CPU资源、内存资源、硬盘资源、网络带宽资源中的一种或多种。
其中,获取模块61、第一确定模块62、第二确定模块63、部署模块64依次连接。本实施例提供的虚拟机部署装置6可以执行如图2或图3所示的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本发明一个实施例提供的服务器的示意图,如图7所示,本实施例提供的服务器包括:存储器71,处理器72以及计算机程序。
其中,计算机程序存储在存储器71中,并被配置为由处理器72执行以实现本发明图2或图3所对应的实施例中任一实施例提供的虚拟机部署方法。
其中,存储器71和处理器72通过总线73连接。
相关说明可以对应参见图2或图3所对应的实施例中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
本发明一个实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本发明图2或图3所对应的实施例中任一实施例提供的虚拟机部署方法。
其中,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。
Claims (6)
1.一种虚拟机部署方法,其特征在于,所述方法包括:
获取虚拟机资源信息,所述虚拟机资源信息用于表征虚拟机运行所需的资源;所述虚拟机资源信息包括虚拟机数量和虚拟机规格,所述虚拟机规格用于表征各所述虚拟机对应的资源需求量;
根据虚拟机数量和虚拟机规格,确定虚拟机运行所需的总资源量;
根据所述总资源量,确定物理机资源信息,其中,所述物理机资源信息用于表征多台物理机的总资源量,所述多台物理机中包括非空闲物理机和空闲物理机;
根据所述虚拟机规格,确定虚拟机对应的资源需求量;
按照资源需求量的大小对虚拟机进行降序排序,得到虚拟机序列;
依次将所述虚拟机序列中的所述虚拟机确定为目标虚拟机;
获取所述多台物理机对应的剩余资源;
根据所述多台物理机的剩余资源,分别对所述非空闲物理机和所述空闲物理机的部署优先级从高到低进行排序,其中,所述剩余资源多的所述物理机的部署优先级高;
依次将所述目标虚拟机的虚拟机规格与所述非空闲物理机的剩余资源进行匹配,若能够匹配,则将所述目标虚拟机与所述非空闲物理机建立部署映射关系,若不能匹配,则将所述目标虚拟机的虚拟机规格依次与所述空闲物理机的剩余资源进行匹配,若能够匹配,则将所述目标虚拟机与所述空闲物理机建立部署映射关系;
根据所述部署映射关系,对所述虚拟机进行部署。
2.根据权利要求1所述的方法,其特征在于,依次将目标虚拟机的虚拟机规格与非空闲物理机的剩余资源进行匹配,若能够匹配,则将目标虚拟机与非空闲物理机建立部署映射关系,若不能匹配,则将目标虚拟机的虚拟机规格依次与空闲物理机的剩余资源进行匹配,若能够匹配,则将目标虚拟机与空闲物理机建立部署映射关系,包括:
若所述目标虚拟机对应的虚拟机规格小于等于所述非空闲物理机的剩余资源,则将所述目标虚拟机与所述非空闲物理机建立映射关系;
若所述目标虚拟机对应的虚拟机规格大于所述非空闲物理机的剩余资源,则将所述目标虚拟机与所述空闲物理机建立映射关系。
3.根据权利要求1所述的方法,其特征在于,所述根据所述多台物理机的剩余资源,对所述多台物理机的部署优先级进行排序包括:
CPU资源、内存资源、硬盘资源、网络带宽资源中的一种或多种。
4.一种虚拟机部署装置,其特征在于,所述装置包括:
获取模块,用于获取虚拟机资源信息,所述虚拟机资源信息用于表征虚拟机运行所需的资源;所述虚拟机资源信息包括虚拟机数量和虚拟机规格,所述虚拟机规格用于表征各所述虚拟机对应的资源需求量;
第一确定模块,用于根据虚拟机数量和虚拟机规格,确定虚拟机运行所需的总资源量;根据所述总资源量,确定物理机资源信息,其中,所述物理机资源信息用于表征多台物理机的总资源量,所述多台物理机中包括非空闲物理机和空闲物理机;
第二确定模块,用于根据所述虚拟机规格,确定虚拟机对应的资源需求量;按照资源需求量的大小对虚拟机进行降序排序,得到虚拟机序列;依次将所述虚拟机序列中的所述虚拟机确定为目标虚拟机;
所述第一确定模块,还用于获取所述多台物理机对应的剩余资源;根据所述多台物理机的剩余资源,分别对所述非空闲物理机和所述空闲物理机的部署优先级从高到低进行排序,其中,所述剩余资源多的所述物理机的部署优先级高;
所述第二确定模块,还用于依次将所述目标虚拟机的虚拟机规格与所述非空闲物理机的剩余资源进行匹配,若能够匹配,则将所述目标虚拟机与所述非空闲物理机建立部署映射关系,若不能匹配,则将所述目标虚拟机的虚拟机规格依次与所述空闲物理机的剩余资源进行匹配,若能够匹配,则将所述目标虚拟机与所述空闲物理机建立部署映射关系;
部署模块,用于根据所述部署映射关系,对所述虚拟机进行部署。
5.一种服务器,其特征在于,包括:存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1至3中任一项所述的虚拟机部署方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至3中任一项所述的虚拟机部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010297117.6A CN111324424B (zh) | 2020-04-15 | 2020-04-15 | 一种虚拟机部署方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010297117.6A CN111324424B (zh) | 2020-04-15 | 2020-04-15 | 一种虚拟机部署方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111324424A CN111324424A (zh) | 2020-06-23 |
CN111324424B true CN111324424B (zh) | 2023-07-18 |
Family
ID=71166151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010297117.6A Active CN111324424B (zh) | 2020-04-15 | 2020-04-15 | 一种虚拟机部署方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324424B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799783B (zh) * | 2021-01-29 | 2023-11-03 | 桂林电子科技大学 | 一种云平台资源碎片优化的虚拟机放置方法及系统 |
CN113791914B (zh) * | 2021-11-17 | 2022-03-11 | 腾讯科技(深圳)有限公司 | 对象处理方法、装置、计算机设备、存储介质及产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214118A (zh) * | 2010-04-08 | 2011-10-12 | 中国移动通信集团公司 | 一种虚拟机控制方法、系统及装置 |
JP2014021847A (ja) * | 2012-07-20 | 2014-02-03 | Mitsubishi Electric Corp | リソース管理装置及びリソース管理方法及びプログラム |
CN105279027A (zh) * | 2015-11-19 | 2016-01-27 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机部署方法及装置 |
CN107749805A (zh) * | 2017-10-30 | 2018-03-02 | 山东浪潮云服务信息科技有限公司 | 一种虚拟机部署方法及装置 |
CN109286513A (zh) * | 2017-07-20 | 2019-01-29 | 华为技术有限公司 | 资源部署方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9286134B2 (en) * | 2012-12-31 | 2016-03-15 | Alcatel Lucent | Virtual machine placement in a cloud-based network |
CN104572251B (zh) * | 2015-01-30 | 2018-01-26 | 中国联合网络通信集团有限公司 | 虚拟机部署方法和装置 |
CN105824686B (zh) * | 2016-03-11 | 2019-03-22 | 中国联合网络通信集团有限公司 | 一种虚拟机宿主机的选择方法和选择系统 |
CN106445631B (zh) * | 2016-08-26 | 2020-02-14 | 华为技术有限公司 | 一种布署虚拟机的方法、系统以及物理服务器 |
CN106502761B (zh) * | 2016-10-18 | 2020-04-03 | 华南师范大学 | 一种资源高效利用的虚拟机部署方法 |
CN107967179B (zh) * | 2017-12-12 | 2021-08-06 | 山东省计算中心(国家超级计算济南中心) | 一种支持突发应急的云计算资源分配方法 |
CN109669760B (zh) * | 2018-11-01 | 2020-03-31 | 江苏南大苏富特科技股份有限公司 | 虚拟化动态资源管理系统 |
CN109739614A (zh) * | 2018-11-22 | 2019-05-10 | 杭州数梦工场科技有限公司 | 虚拟机新建方法、装置及设备 |
-
2020
- 2020-04-15 CN CN202010297117.6A patent/CN111324424B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214118A (zh) * | 2010-04-08 | 2011-10-12 | 中国移动通信集团公司 | 一种虚拟机控制方法、系统及装置 |
JP2014021847A (ja) * | 2012-07-20 | 2014-02-03 | Mitsubishi Electric Corp | リソース管理装置及びリソース管理方法及びプログラム |
CN105279027A (zh) * | 2015-11-19 | 2016-01-27 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机部署方法及装置 |
CN109286513A (zh) * | 2017-07-20 | 2019-01-29 | 华为技术有限公司 | 资源部署方法和装置 |
CN107749805A (zh) * | 2017-10-30 | 2018-03-02 | 山东浪潮云服务信息科技有限公司 | 一种虚拟机部署方法及装置 |
Non-Patent Citations (1)
Title |
---|
云环境下能耗优化的任务调度模型及虚拟机部署算法;朱海;王洪峰;廖貅武;;系统工程理论与实践(第03期);226-236 * |
Also Published As
Publication number | Publication date |
---|---|
CN111324424A (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11960915B2 (en) | Method and apparatus for creating virtual machine based on parameter information of a virtual network interface card | |
CN111966500B (zh) | 资源调度方法、装置、电子设备及存储介质 | |
US11301303B2 (en) | Resource pool processing to determine to create new virtual resource pools and storage devices based on currebt pools and devices not meeting SLA requirements | |
CN110098946B (zh) | 虚拟化网元设备的部署方法以及装置 | |
CN111459665A (zh) | 一种分布式边缘计算系统及分布式边缘计算方法 | |
CN111324424B (zh) | 一种虚拟机部署方法、装置、服务器及存储介质 | |
CN112000463B (zh) | 一种基于cuda的gpu资源分配方法、系统、终端及存储介质 | |
CN108132827B (zh) | 一种网络切片资源映射方法、相关设备及系统 | |
CN114416352A (zh) | 算力资源分配方法、装置、电子设备及储存介质 | |
CN111338779B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN114706596B (zh) | 容器部署方法、资源调度方法、装置、介质和电子设备 | |
CN110633130B (zh) | 一种基于内存热插拔技术的虚拟内存管理方法和装置 | |
CN110389843A (zh) | 一种业务调度方法、装置、设备及可读存储介质 | |
CN113821308A (zh) | 片上系统、虚拟机任务处理方法及设备、存储介质 | |
CN111427822A (zh) | 一种边缘计算系统 | |
CN116800616B (zh) | 虚拟化网络设备的管理方法及相关装置 | |
JP2023543744A (ja) | リソーススケジューリング方法、システム、電子デバイスおよびコンピュータ可読記憶媒体 | |
CN112860383A (zh) | 集群资源调度方法、装置、设备及存储介质 | |
CN110704182A (zh) | 深度学习的资源调度方法、装置及终端设备 | |
CN114003238B (zh) | 一种基于转码卡的容器部署方法、装置、设备及存储介质 | |
CN114253663A (zh) | 一种虚拟机资源的调度方法和装置 | |
CN111580935A (zh) | 一种网络通信方法、装置、设备及存储介质 | |
CN109002347B (zh) | 一种虚拟机内存分配方法、装置及系统 | |
CN117149440B (zh) | 一种任务调度方法、装置、电子设备及存储介质 | |
CN113268346A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |