一种启动虚拟机的方法和装置制造方法及图纸

技术编号:16128493 阅读:26 留言:0更新日期:2017-09-01 20:40
本发明专利技术提供了一种启动虚拟机的方法及装置,根据第一业务,确定N个类型的虚拟化网络功能组件VNFC;获取所述N个类型的VNFC与虚拟机的分布关系,所述分布关系描述了每个类型的VNFC分布在每个虚拟机中的数量;根据分布关系,从未启动的虚拟机中选择至少一个待启动虚拟机,使得已启动虚拟机和所述至少一个待启动虚拟机中所含有的每个类型的VNFC的数量总和满足相应的预设数量;启动所述至少一个待启动虚拟机。本发明专利技术通过首先获取到每个虚拟机中运行VNFC的类型和数量情况,进而有针对性地先选择出最需要启动的虚拟机,以保证启动最少数量的虚拟机,就能够保证业务的正常运转,并且充分利用已启动虚拟机中运行的VNFC。

Method and device for starting virtual machine

The present invention provides a method and a device for virtual machine start, according to the first business, determine the virtual network function module VNFC N type; the relationship between the distribution of acquiring the N types of VNFC and virtual machine, the relationship between the distribution of number describes each type of VNFC distribution in each virtual machine; according to the relationship between the distribution of the virtual machine, never start selecting at least one virtual machine to be started, the virtual machine and the at least one has started to be started in a virtual machine with the sum of the number of each type of VNFC meet the preset number; start the at least one virtual machine to start. The present invention by first gets to run the type and number of VNFC in each virtual machine, so as to select a virtual machine is the most need to start, to ensure that the minimum number of virtual machine, we can ensure the normal operation of the business, and fully utilize the start and run in the virtual machine VNFC.

【技术实现步骤摘要】
一种启动虚拟机的方法和装置
本专利技术实施例涉及通信领域,并且更具体地,涉及一种启动虚拟机的方法和装置。
技术介绍
在运营商、数据中心、云计算服务商以及大型网络企业中,NFV的部署与应用占据着越来越重要的地位。NFV即网络功能虚拟化(NetworkFunctionVirtualization),通过使用x86等通用性硬件以及虚拟化技术,来承载很多功能的软件处理,从而降低网络昂贵的设备成本。NFV可以通过软硬件解耦及功能抽象,使网络设备功能不再依赖于专用硬件,资源可以充分灵活共享,实现新业务的快速开发和部署,并基于实际业务(在本领域所提到的网络均指网络业务)需求进行自动部署、弹性伸缩、故障隔离和自愈等。按照NFV的技术原理,一个网络业务可以包括至少一个VNF(VNF,VirtualisedNetworkFunction),每个VNF又可以分解为一组VNFC(VNFC,VirtualisedNetworkFunctionComponent);即NFV网络由一个或者多个VNF组成;VNF又由一个或者多个VNFC组成;其中VNFC是提供特定网络业务功能的软件包的一组进程或软件模块,VNFC对应到物理上包括:接口板、软件包、交换板、业务处理板、主控板等;VNFC对应到软件上包括:接口进程、交换进程、业务处理进程、主控进程等。相同种类的VNFC能够实现相同的功能,每个VNFC最终映射到一个虚拟机(VM,VirtualMachine)上。通常同一种VNFC会在多个虚拟机上运行(从而提供更强的业务处理能力或者更高的业务可靠性),同一个虚拟机也会运行多个不同的虚拟化网络功能组件。虚拟机启动时,虚拟机上运行的虚拟化网络功能组件同时启动并运行。通常情况下,一个VNF可以拥有若干种VNFC,其中每种VNFC各自实现的功能都是不同的。在一个完整的NFV网络中,同一种VNF的个数为X0,那么该种VNF的各种VNFC也对应着有X0个;对于同一种VNFC可以有多个,只是启动的时间或运行所在的虚拟机有所差别,值得注意的是所有的VNFC并不是规则地分布在虚拟机中。请参阅图1,图1为一种VNFC在虚拟机中的分布示意图。以VFN0和VNF11为例,VNF0包含的VNFC为VNF000、VNF001、VNF002,VNF1包含的VNFC为VNF010、VNF011。图1中,VM0和VM4表示同一种VNF的所有VNFC都可以运行在同一个虚拟机中,且不同的虚拟机中运行的VNF可能不同;图1中,VM1表示一个虚拟机中可以只运行一种VNF的部分VNFC;图1中,VM4和VM5表示一个虚拟机中可以运行一种VNF的部分VNFC,并且每种VNFC的个数也可以为一个或多个;图1中,VM3表示一个虚拟机中可以运行不同VNF的VNFC。NFV网络能够正常提供业务需要至少一个特定的VNFC集合正常工作,该VNFC集合通常包含不同VNF的VNFC。不同类型或者优先级的业务的VNFC集合可能不同。大型的NFV网络会运行大量的虚拟机,这些虚拟机共享物理资源,例如存储,网络和主机资源等。这些虚拟机启动时,需要从共享存储读取OS(OperationsSystem,操作系统)和VNFC进程等数据,会产生大量存储I/O操作,如果同时启动的虚拟机太多,形成虚拟机启动风暴,会导致共享存储I/O等资源过载,导致每个虚拟机启动时间都很长甚至引起复位或者挂死等异常。因此NFV网络的虚拟机管理系统会限制同时启动的虚拟机的数量,避免虚拟机启动时共享存储I/O等资源过载。虚拟机管理系统限制同时启动的虚拟机数量的情况下会相应地带来可靠性的问题,现有技术中虚拟机管理系统按照主机或者VNF顺序启动虚拟机(逐个启动部署在各个主机上的虚拟机或者逐个启动各个VNF的虚拟机)。由于同时启动的虚拟机数量有限且没有规划,而无法迅速启动所有的虚拟机以运行某一特定网络业务要求的所有VNFC,由于某一特定的网络业务要求的VNFC没有全部运行,而使得在启动的一段时间内,该网络业务不能正常提供,造成提供网络业务的效率低下。
技术实现思路
本专利技术实施例提供了一种启动虚拟机的方法和装置,在虚拟机业务故障恢复或者初始系统建立的过程中,可以实现业务快速提供以及业务处理能力的快速提升。第一方面,本专利技术实施例提供了一种启动虚拟机的方法,所述方法应用于部署了第一网络业务的网络功能虚拟化NFV网络,所述NFV网络由运行于计算设备上的多个虚拟机实现,所述第一网络业务由N个类型的虚拟化网络功能组件VNFC共同实现,所述方法包括:获取所述N个类型的VNFC与所述多个虚拟机的分布关系,所述分布关系描述了所述N个类型的VNFC中每个类型的VNFC在所述多个虚拟机中的每个虚拟机中的数量;根据所述分布关系,从所述多个虚拟机中选择至少一个未启动虚拟机作为待启动虚拟机集合,使得第一组虚拟机中的所述每个类型的VNFC的数量总和分别满足所述每个类型的VNFC对应的预设数量,所述第一组虚拟机集合包括已启动虚拟机集合及所述待启动虚拟机集合,所述已启动虚拟机集合中的已启动虚拟机数量大于等于0,当数量大于0时,所述已启动虚拟机属于所述多个虚拟机;启动所述待启动虚拟机集合中的虚拟机。该方法能够根据各个虚拟机中VNFC的种类和数量,有针对性地、有选择性地选择出来尽量少的虚拟机,进而能够实现NFV网络中第一网络业务的尽快实现。第二方面,本专利技术实施例提供了一种启动虚拟机的装置,所述装置应用于应用于部署了第一网络业务的网络功能虚拟化NFV网络,所述NFV网络由运行于计算设备上的多个虚拟机实现,所述第一网络业务由N个类型的虚拟化网络功能组件VNFC共同实现,其中N为正整数,所述装置包括:获取模块,用于获取所述N个类型的VNFC与所述多个虚拟机的分布关系,所述分布关系描述了所述N个类型的VNFC中每个类型的VNFC在所述多个虚拟机中的每个虚拟机中的数量;选择模块,用于根据所述获取模块获取到的分布关系,从所述多个虚拟机中选择至少一个未启动虚拟机作为待启动虚拟机集合,使得第一组虚拟机中的所述每个类型的VNFC的数量总和分别满足所述每个类型的VNFC对应的预设数量,所述第一组虚拟机集合包括已启动虚拟机集合及所述待启动虚拟机集合,所述已启动虚拟机集合中的已启动虚拟机数量大于等于0,当数量大于0时,所述已启动虚拟机属于所述多个虚拟机;启动模块,用于启动所述选择模块选择出来的待启动虚拟机集合中的虚拟机。该装置能够根据各个虚拟机中VNFC的种类和数量,有针对性地、有选择性地选择出来尽量少的虚拟机,进而能够实现NFV网络中业务的尽快实现。第一方面和第二方面的技术方案可以应用于单一业务类型需求的场景中;单一业务类型需求的场景包括两种情况:一种是指NFV网络只有一种业务优先级SLA(ServiceLevelAgreement,服务水平协议)可用度级别的业务,网络中不存在其他不同业务优先级的业务,网络中所有的虚拟机都支持这一种优先级业务类型的业务。另一种是指NFV网络中存在多种业务,网络中的虚拟机中含有不同业务对应的VNFC,但是本次启动虚拟机的目的只为了实现其中一种特定的业务。根据第一方面或者第二方面,在一种可能的设计中,所述根据所述分布关系,从所述未启动的虚拟机中选择至少一个待启动虚拟机包括本文档来自技高网
...
一种启动虚拟机的方法和装置

【技术保护点】
一种启动虚拟机的方法,其特征在于,所述方法应用于部署了第一网络业务的网络功能虚拟化NFV网络,所述NFV网络由运行于计算设备上的多个虚拟机实现,所述第一网络业务由N个类型的虚拟化网络功能组件VNFC共同实现,其中N为正整数,所述方法包括:获取所述N个类型的VNFC与所述多个虚拟机的分布关系,所述分布关系描述了所述N个类型的VNFC中每个类型的VNFC在所述多个虚拟机中的每个虚拟机中的数量;根据所述分布关系,从所述多个虚拟机中选择至少一个未启动虚拟机作为待启动虚拟机集合,使得第一组虚拟机中的所述每个类型的VNFC的数量总和分别满足所述每个类型的VNFC对应的预设数量,所述第一组虚拟机集合包括已启动虚拟机集合及所述待启动虚拟机集合,所述已启动虚拟机集合中的已启动虚拟机数量大于等于0,当数量大于0时,所述已启动虚拟机属于所述多个虚拟机;启动所述待启动虚拟机集合中的虚拟机。

【技术特征摘要】
2016.02.25 CN 20161010404521.一种启动虚拟机的方法,其特征在于,所述方法应用于部署了第一网络业务的网络功能虚拟化NFV网络,所述NFV网络由运行于计算设备上的多个虚拟机实现,所述第一网络业务由N个类型的虚拟化网络功能组件VNFC共同实现,其中N为正整数,所述方法包括:获取所述N个类型的VNFC与所述多个虚拟机的分布关系,所述分布关系描述了所述N个类型的VNFC中每个类型的VNFC在所述多个虚拟机中的每个虚拟机中的数量;根据所述分布关系,从所述多个虚拟机中选择至少一个未启动虚拟机作为待启动虚拟机集合,使得第一组虚拟机中的所述每个类型的VNFC的数量总和分别满足所述每个类型的VNFC对应的预设数量,所述第一组虚拟机集合包括已启动虚拟机集合及所述待启动虚拟机集合,所述已启动虚拟机集合中的已启动虚拟机数量大于等于0,当数量大于0时,所述已启动虚拟机属于所述多个虚拟机;启动所述待启动虚拟机集合中的虚拟机。2.根据权利要求1所述的方法,其特征在于,所述根据所述分布关系,从所述多个虚拟机中选择至少一个未启动虚拟机作为待启动虚拟机集合包括:步骤1:根据确定所述第一组虚拟机中所述每个类型的VNFC的当前数量权重,其中,αi为第i类型的VNFC的当前数量权重,Qi为所述第一组虚拟机中所述第i类型的VNFC的当前数量总和,Qj为所述第一组虚拟机中第j类型的VNFC的当前数量总和,所述第i类型的VNFC以及所述第j类型的VNFC属于所述N个类型的VNFC,所述i,j的取值范围包括不大于N的正整数;步骤2:根据确定的所述每个类型的VNFC的当前数量权重与所述每个类型的VNFC的预设数量权重,查找出当前数量权重低于预设数量权重程度最大的第k类型的VNFC,所述第k类型的VNFC为所述N个类型VNFC中的一个;步骤3:从所述多个虚拟机中选择一个含有所述第k类型的VNFC的未启动虚拟机加入到所述待启动虚拟机集合中;按顺序重复执行所述步骤1、所述步骤2和所述步骤3,直到所述第一组虚拟机中的所述N个类型中每个类型的VNFC的数量总和分别满足所述每个类型的VNFC对应的预设数量。3.根据权利要求2所述的方法,其特征在于,所述从所述多个虚拟机中选择一个含有所述第k类型的VNFC的未启动虚拟机加入到所述待启动虚拟机集合中包括以下任一方式:选择一个含有所述第k类型的VNFC的数量最多的未启动虚拟机加入到所述待启动虚拟机集合中;或若含有所述第k类型的VNFC的数量最多的未启动虚拟机为多个时,则选择一个含有所述N个类型中VNFC类型数量最多的未启动虚拟机加入到所述待启动虚拟机集合中,或者选择一个含有用于实现所述第一网络业务的VNFC数量总和最多的未启动虚拟机加入到所述待启动虚拟机集合中。4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:在所述按顺序重复执行所述步骤1、所述步骤2和所述步骤3的过程中,获取所述至少一个未启动虚拟机的选择顺序;所述启动所述待启动虚拟机集合中的虚拟机包括:按照所述选择顺序,启动所述至少一个未启动虚拟机。5.根据权利要求1所述的方法,其特征在于,所述根据所述分布关系,从所述多个虚拟机中选择至少一个未启动虚拟机作为待启动虚拟机集合包括:根据所述分布关系确定出K个类型,所述K个类型为所述N个类型的子集,且所述K个类型的VNFC在所述已启动虚拟机中不存在;按照第一预设规则从所述多个虚拟机中选择出L个未启动虚拟机加入到所述待启动虚拟机集合中中,所述L个虚拟机中包含所述K个类型的VNFC,所述第一预设规则使得L不大于K;再按照第二预设规则从所述多个虚拟机中选择出H个未启动虚拟机加入到所述待启动虚拟机集合中,所述第二预设规则使得所述第一组虚拟机中的所述每个类型的VNFC的数量总和分别满足所述每个类型的VNFC对应的预设数量。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:在所述按照第一预设规则从所述多个虚拟机中选择出L个未启动虚拟机的过程中,获取所述L个未启动虚拟机的第一选择顺序;在所述按照第二预设规则从所述多个虚拟机中选择出H个未启动虚拟机的过程中,获取所述H个未启动虚拟机的第二选择顺序;所述启动所述待启动虚拟机集合中的虚拟机包括:先按照所述第一选择顺序启动所述L个未启动虚拟机,再按照所述第二选择顺序启动所述H个未启动虚拟机。7.一种启动虚拟机的方法,其特征在于,所述方法应用于部署了M个网络业务的网络功能虚拟化NFV网络,所述NFV网络由运行于计算设备上的多个虚拟机实现,其中,第x业务为所述M个网络业务中的一个网络业务;所述第x业务由N(x)个类型的VNFC共同实现,N为正整数;x的取值包括不大于M的所有正整数,M为大于1的自然数;所述方法包括:获取所述N(x)个类型的VNFC与所述多个虚拟机的分布关系;所述分布关系描述了第xi类型的VNFC分布在所述多个虚拟机中的每个虚拟机中的数量;其中,所述第xi类型为所述第x业务对应的N(x)个类型中的一个,i的取值包括不大于所述N(x)的所有正整数;根据所述分布关系,从所述多个虚拟机中选择至少一个未启动虚拟机作为待启动虚拟机集合,使得第一组虚拟机中的M个网络业务下的每个类型的VNFC的数量总和满足所述每个类型的VNFC对应的预设数量,所述第一组虚拟机集合包括已启动虚拟机集合及所述待启动虚拟机集合,所述已启动虚拟机集合中的已启动虚拟机数量大于等于0,当数量大于0时,所述已启动虚拟机属于所述多个虚拟机;启动所述待启动虚拟机集合中的虚拟机。8.根据权利要求7所述的方法,其特征在于,所述根据所述分布关系,从所述多个虚拟机中选择至少一个未启动虚拟机作为待启动虚拟机集合包括:步骤1:根据确定所述第一组虚拟机中所述第xi类型的VNFC的当前数量权重;其中,αxi为第xi类型的VNFC的当前数量权重,Qxi为所述第一组虚拟机中所述第xi类型的VNFC的当前数量总和,Qxj为所述第一组虚拟机中第xj类型的VNFC的当前数量总和,所述第xj类型为所述第x业务对应的N(x)个类型中的一个,j的取值包括不大于N(x)的所有正整数;步骤2:根据确定的所述第xi类型的VNFC的当前数量权重αxi与所述第xi类型的VNFC的预设数量权重,查找出当前数量权重低于预设数量权重程度最大的第k类型的VNFC,所述第k类型的VNFC为所述N(x)个类型VNFC中的一个;步骤3:从所述多个虚拟机中选择一个含有所述第k类型的VNFC的未启动虚拟机加入到所述待启动虚拟机集合中;按顺序重复执行所述步骤1、所述步骤2和所述步骤3,直到所述第一组虚拟机中所含有的M个网络业务下的每个类型的VNFC的数量总和满足所述每个类型的VNFC对应的预设数量。9.根据权利要求7所述的方法,其特征在于,所述根据所述分布关系,从所述多个虚拟机中选择至少一个未启动虚拟机作为待启动虚拟机集合包括:确定所述M个业务的优先级的高低顺序,并按照所述优先级的高低顺序依次对所述M个业务中的各个业务执行业务拉通操作;所述业务拉通操作包括:步骤1:根据确定所述第一组虚拟机中每个类型的VNFC的当前数量权重;其中,αxi为第xi类型的VNFC的当前数量权重,Qxi为所述第一组虚拟机中所述第xi类型的VNFC的当前数量总和,Qxj为所述第一组虚拟机中所述第xj类型的VNFC的当前数量总和,xj的取值包括不大于所述当前业务对应的N(x)的所有正整数;步骤2:根据确定的所述当前业务中每个类型的VNFC的当前数量权重αxi与所述当前业务中每个类型的VNFC的预设数量权重,查找出当前数量权重低于预设数量权重程度最大的第k类型的VNFC,所述第k类型为所述当前业务中N(x)个类型中的一个;步骤3:从所述多个虚拟机中选择一个含有所述第k类型的VNFC的未启动虚拟机加入到所述待启动虚拟机集合中;按顺序重复执行所述步骤1、所述步骤2和所述步骤3,直到所述第一组虚拟机中的当前业务下每个类型的VNFC的数量总和分别满足所述当前业务中每个类型的VNFC对应的预设数量。10.根据权利要求8或9所述的方法,其特征在于,所述从所述多个虚拟机中选择一个含有所述第k类型的VNFC的未启动虚拟机加入到所述待启动虚拟机集合中包括以下任一方式:选择一个含有所述第k类型的VNFC的数量最多的未启动虚拟机加入到所述待启动虚拟机集合中;若含有所述第k类型的VNFC的数量最多的未启动虚拟机为多个时,则选择一个含有VNFC类型数量最多的未启动虚拟机加入到所述待启动虚拟机集合中;或者选择一个含有VNFC数量最多的未启动虚拟机加入到所述待启动虚拟机集合中。11.如权利要求8所述方法,其特征在于,所述方法还包括:在所述重复执行所述步骤1、所述步骤2和所述步骤3的过程中,获取所述选择的至少一个未启动虚拟机的选择顺序;所述启动所述待启动虚拟机集合中的虚拟机包括:按照所述选择顺序,启动所述选择的至少一个未启动虚拟机。12.如权利要求9所述方法,其特征在于,所述方法还包括:在所述按照所述优先级的高低顺序依次对所述M个业务中的各个业务执行所述业务拉通操作过程中,获取所述选择的至少一个未启动虚拟机的选择顺序;所述启动所述待启动虚拟机集合中的虚拟机包括:按照所述选择顺序,启动所述选择的至少一个未启动虚拟机。13.根据权利要求7所述的方法,其特征在于,所述从所述多个虚拟机中选择至少一个未启动虚拟机作为待启动虚拟机集合包括:根据所述分布关系确定出K个类型,所述K个类型为所述M个业务对应的所有VNFC类型的子集,且所述K个类型的VNFC在所述已启动虚拟机中不存在;按照第一预设规则从所述多个虚拟机中选择出L个未启动启动虚拟机加入到所述待启动虚拟机集合中,所述L个未启动虚拟机中包含所述K个类型的VNFC,所述第一预设规则使得L不大于K;再按照第二预设规则从所述多个虚拟机中选择出H个未启动虚拟机加入到所述待启动虚拟机集合中,所述第二预设规则使得所述第一组虚拟机中所含有的M个网络业务下的每个类型的VNFC的数量总和满足所述每个类型的VNFC对应的预设数量。14.根据权利要求13所述的方法,其特征在于,所述方法还包括:在所述按照第一预设规则从所述多个虚拟机中选择出L个未启动虚拟机的过程中,获取所述L个待启动虚拟机的第一选择顺序;在所述按照第二预设规则从所述多个虚拟机中选择出H个未启动虚拟机的过程中,获取所述H个待启动虚拟机的第二选择顺序;所述启动所述待启动虚拟机集合中的虚拟机包括:先按照所述第一选择顺序启动所述L个未启动虚拟机,再按照所述第二先后选择顺序启动所述H个未启动虚拟机。15.根据权利要求7所述的方法,其特征在于,所述根据所述分布关系,从所述多个虚拟机中选择至少一个未启动虚拟机作为待启动虚拟机集合包括:确定所述M个业务的优先级的高低顺序,并按照所述优先级的高低顺序依次对所述M个业务中的每个业务执行业务保障操作,从所述多个虚拟机中选择出H1个未启动虚拟机加入到所述待启动虚拟机集合中;对所述M个业务中的每个业务执行业务保障操作之后,再按照第四预设规则从所述多个虚拟机中选择出H2个未启动虚拟机加入到所述待启动虚拟机集合中,所述第四预设规则使得所述第一组虚拟机中所含有的M个网络业务下的每个类型的VNFC的数量总和满足所述每个类型的VNFC对应的预设数量;其中;所述业务保障操作包括:根据所述分布关系确定出K(x)个类型,所述K(x)个类型为当前业务中N(x)个类型的子集,且所述K(x)个类型的VNFC在所述已启动虚拟机中不存在;按照第三预设规则从所述多个虚拟机中选择出L(x)个未启动虚拟机加入到所述待启动虚拟机集合中,所述L(x)个未启动虚拟机中包含所述K(x)个类型的VNFC,所述第三预设规则使得L(x)不大于K(x)。16.根据权利要求15所述的方法,其特征在于,所述方法还包括:在对所述M个业务中的每个业务执行业务保障操作的过程中,获取所述H1个未启动虚拟机的第三选择顺序;在所述按照第四预设规则从所述多个虚拟机中选择出H2个未启动虚拟机的过...

【专利技术属性】
技术研发人员:陈立福李得翰王提政
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1