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会在多个虚拟机上运行(从而提供更强的业务处理能力或者更高的业务可靠性),同一个虚拟机也会运行多个不同的虚拟化网络功能 ...
【技术保护点】
一种启动虚拟机的方法,其特征在于,所述方法应用于部署了第一网络业务的网络功能虚拟化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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。