VNF迁移方法、MANO和系统与流程

文档序号:12131578阅读:3149来源:国知局
VNF迁移方法、MANO和系统与流程
本发明涉及通信领域,尤其涉及一种VNF迁移方法、MANO和系统。
背景技术
:网络功能虚拟化(英文全称:networkfunctionsvirtualization,英文简称:NFV)是指借助于标准的虚拟化技术,使得传统的专有硬件设备(如路由器、防火墙、CDN(英文全称:contentdeliverynetwork,中文全称:内容分发网络)、NAT(英文全称:networkaddresstranslation,中文全称:网络地址转换)等)通过采用工业化标准大容量服务器、存储器和交换机承载各种各样软件化的网络功能(英文简称:NF,英文全称:networkfunction)的技术。支持网络功能虚拟化功能的NFVI(英文全称:networkfunctionsvirtualizationinfrastructure,中文全称:网络功能虚拟化基础设施)通常由数百甚至数千台物理服务器节点组成,每一个物理服务器节点上运行有虚拟化中间件以及虚拟机(英文全称:virtualmachine,英文简称:VM),并占用相应的资源(例如占用物理服务器节点的处理器、内存和网卡)。实现网元自愈功能的执行主体(例如MANO(英文全称:managementandorchestration,中文全称:管理与编排)),周期性监控VNF(英文全称:virtualnetworkfunction,虚拟网络功能)关联虚拟机的可用性和资源使用情况,一旦当虚拟机发生故障不可用时,则需要进行VNF迁移,将运行任务负载的虚拟机尽快迁移到其他备用服务器上,以达到满足VNF网元高可靠性目的。现有技术中通过主备切换方式进行VNF迁移,主备服务器之间映射关系单一,可能由于备服务器资源不足或者同样发生故障导致迁移失败,降低VNF迁移的可靠性。技术实现要素:本发明的实施例提供一种VNF迁移方法、MANO和系统,用于解决主备切换方式进行VNF迁移导致可靠性低的问题。为达到上述目的,本发明的实施例采用如下技术方案:第一方面,提供了一种VNF迁移方法,该方法包括:监测VNF中是否有故障告警事件发生;如果有故障告警事件发生,则确定所述VNF中的待迁移虚拟机,其中,所述待迁移虚拟机为引起所述故障告警事件的虚拟机;获取所述VNF的亲和性信息;根据所述VNF的亲和性信息从资源树中选择N个备选物理节点,其中,所述资源树以树形结构存储了所有物理节点以及各物理节点下辖的服务器;获取所述N个备选物理节点的容灾资源信息,其中,所述容灾资源信息包括所述N个备选物理节点中各服务器的空闲内存总量以及剩余中央处理单元CPU计算能力;根据所述N个备选物理节点中各服务器的通信成本、空闲内存总量和剩余CPU计算能力从所述N个备选物理节点中选择目标服务器;将所述待迁移虚拟机迁移至所述目标服务器。第二方面,提供了一种MANO,包括:监测单元,用于监测虚拟网络功能VNF中是否有故障告警事件发生;确定单元,用于如果有故障告警事件发生,则确定所述VNF中的待迁移虚拟机,其中,所述待迁移虚拟机为引起所述故障告警事件的虚拟机;获取单元,用于获取所述VNF的亲和性信息;选择单元,用于根据所述VNF的亲和性信息从资源树中选择N个备选物理节点,其中,所述资源树以树形结构存储了所有物理节点以及各物理节点下辖的服务器;所述获取单元,还用于获取所述N个备选物理节点的容灾资源信息,其中,所述容灾资源信息包括所述N个备选物理节点中各服务器的空闲内存总量以及剩余中央处理单元CPU计算能力;计算单元,用于根据所述N个备选物理节点中各服务器的通信成本、空闲内存总量和剩余CPU计算能力从所述N个备选物理节点中选择目标服务器;迁移单元,用于将所述待迁移虚拟机迁移至所述目标服务器。第三方面,提供了一种NFV系统,包括如第二方面所述的MANO。本发明的实施例提供的VNF迁移方法、MANO和系统,当有故障告警事件发生时,根据VNF的亲和性信息从资源树中选择N个备选物理节点,然后根据N个备选物理节点中各服务器的迁移通信成本、空闲内存总量和剩余CPU计算能力从N个备选物理节点中选择目标服务器,最后将待迁移虚拟机迁移至目标服务器。通过从多个物理节点中选择备选物理节点,同时考虑迁移通信成本、目标服务器的内存容量和CPU计算能力,提高VNF迁移成功率,解决了主备切换方式进行VNF迁移导致可靠性低的问题。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明的实施例提供的NFV系统的结构示意图;图2为本发明的实施例提供的VNF迁移方法的流程示意图;图3为本发明的实施例提供的根据VNF的亲和性信息从资源树中选择N个备选物理节点的流程示意图;图4为本发明的实施例提供的根据VNF的亲和性信息从资源树中选择N个备选物理节点的流程示意图;图5为本发明的实施例提供的另一种VNF迁移方法的流程示意图;图6为本发明的实施例提供的MANO的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供了一种NFV系统,参照图1中所示,包括MANO11和物理节点12,每个物理节点12包括一个或多个服务器121。在服务器121上运行VNF,MANO11负责对服务器121上运行的VNF进行管理。一个VNF包括一个或多个VNFC(英文全称:virtualnetworkfunctioncomponent,中文全称:虚拟网络功能组件),每个VNFC对应于一个VDU(英文全称:virtualdeploymentunit,虚拟部署单元),即对应于一个虚拟机。因此,一个VNF由至少一个虚拟机构成。MANO11可以包括NFVO(英文全称:networkfunctionvirtualizationorchestrator,中文全称:网络功能虚拟化编排器)1101、VNFM(英文全称:virtualnetworkfunctionmanager,中文全称:虚拟网络功能管理器)1102和VIM(英文全称:virtualisedinfrastructormanager,中文全称:虚拟化基础设施管理器)1103模块,VIM负责对基础设施NFVI的软硬件资源进行管理,VNFM负责对虚拟化网元VNF的生命周期管理,NFVO负责网络服务(英文全称:networkservice,英文简称:NS)的生命周期管理和提供全局的资源视图在NFV环境中,支持特定网络服务的各个VNF组成业务链,每个特定网络服务的业务链包含一个或者多个VNF,其中,同一业务链的各VNF可以部署在同一个物理节点(例如机架或者DC(英文全称:datacenter,中文全称:数据中心))上,以便利用该物理节点内的高速网络带宽进行紧密协作,从而可以节省网络传输资源,即这些VNF之间满足亲和性关系;另外,当采取主备容灾方式时,同一业务链的各VNF可以部署在不同的物理节点上,以避免当物理节点发生故障时,VNF同时发生故障造成该特定网络服务不可用,即这些VNF之间满足非亲和性关系。总体而言,亲和性要求不同VNF以及VNF内部的VNFC部署在同一物理节点上;反亲和性则与之相反,要求不同VNF以及VNF内部的VNFC部署在不同物理节点上。本发明实施例提供的VNF迁移方法、MANO和系统,首先根据VNF的亲和性信息从资源树中选择备选物理节点,然后根据备选物理节点中各服务器的迁移通信成本、空闲内存总量和剩余CPU计算能力从备选物理节点中选择目标服务器,最后将待迁移虚拟机迁移至目标服务器。通过从多个物理节点中选择备选物理节点,同时考虑迁移通信成本、目标服务器的内存容量和CPU计算能力,提高VNF迁移成功率,解决了主备切换方式进行VNF迁移导致可靠性低的问题。实施例1、本发明实施例提供了一种VNF迁移方法,应用于上述NFV系统,参照图2中所示,该方法包括:S101、监测VNF中是否有故障告警事件发生。故障告警事件指重启VNF不能恢复的故障事件,包括VNF所在物理服务器故障、电源故障、网络故障等。S102、如果有故障告警事件发生,则确定VNF中的待迁移虚拟机,其中,待迁移虚拟机为引起故障告警事件的虚拟机。根据故障告警事件的严重程度,可以迁移VNF中的部分虚拟机或全部虚拟机。S103、获取VNF的亲和性信息。具体的,可以从VNFM获取VNF的亲和性信息。VNF的亲和性信息包含VNF中各虚拟机之间的亲和性和/或反亲和性关系,以及VNF所属的业务链中各VNF之间的亲和性和/或反亲和性关系。VNFM可以通过自己的应用编程接口服务模块(API-Server)提供VNF的亲和性信息。S104、根据VNF的亲和性信息从资源树中选择N个备选物理节点,其中,资源树以树形结构存储了所有物理节点以及各物理节点下辖的服务器。在选择备选物理节点以及备选物理节点下辖的服务器时,要保证满足VNF中各虚拟机的亲和性和/或反亲和性关系。S105、获取N个备选物理节点的容灾资源信息,其中,容灾资源信息包括N个备选物理节点中各服务器的空闲内存总量以及剩余CPU(英文全称:centralprocessingunit,中文全称:中央处理单元)计算能力。具体的,可以从VIM获取N个备选物理节点的容灾资源信息。VIM可以通过自己的应用编程接口服务模块(API-Server)提供容灾资源信息。S106、根据N个备选物理节点中各服务器的迁移通信成本、空闲内存总量和剩余CPU计算能力从N个备选物理节点中选择目标服务器。选择目标服务器主要考虑以下约束条件:资源容量限制。除人为新增硬件,物理节点中服务器硬件资源上限是恒定不变,为了保证硬件能为VNF提供服务,需要在运行过程中确保服务器资源(包括CPU、内存、网络等)的利用率控制在一定的合理范围内。资源竞争。物理节点中资源管理的目标是在满足亲和性/反亲和性约束条件下尽可能提高资源的利用率,充分发挥资源的效用。一个服务器资源可以用一个多维向量表示,不同VNF分布方案会使得服务器的剩余资源不同。若各服务器的剩余资源平衡,则可以更好的利用这些资源;若剩余资源不平衡,将造成资源的浪费。通信成本。VNF之间的通信需要消耗网络带宽、CPU和内存。如相互通信的VNF是否在同一服务器上,则取决于相互通信VNF所在服务器之间的通信代价。不同服务器上的VNF之间的通信必定消耗物理节点的网络带宽。通信成本可用来描述VNF之间通信消耗的资源,通信成本越高表示消耗的资源越多,通信成本越低表示通信消耗的资源越少。VNF虚拟机迁移成本。VNF虚拟机迁移指从原宿主服务器迁移到目的服务器,并确保VNF虚拟机在目标服务器的正常运行。其中可用迁移的VNF虚拟机数目表示VNF迁移代价。选择目标服务器的最终目标是在满足资源容量需求的前提下,最小化VNF的通信成本和迁移成本,降低资源消耗。S107、将待迁移虚拟机迁移至目标服务器。本发明实施例提供的VNF迁移方法,当有故障告警事件发生时,根据VNF的亲和性信息从资源树中选择N个备选物理节点,然后根据N个备选物理节点中各服务器的迁移通信成本、空闲内存总量和剩余CPU计算能力从N个备选物理节点中选择目标服务器,最后将待迁移虚拟机迁移至目标服务器。通过从多个物理节点中选择备选物理节点,同时考虑迁移通信成本、目标服务器的内存容量和CPU计算能力,提高VNF迁移成功率,解决了主备切换方式进行VNF迁移导致可靠性低的问题。具体的,参照图3中所示,步骤S104包括:S1041、如果VNF中各虚拟机之间为亲和性关系,则根据深度优先遍历资源树得到M个物理节点,如果为反亲和性关系则根据广度优先遍历资源树得到M个物理节点,其中,M≥N。S1042、按照各物理节点内能启动的虚拟机数目对M个物理节点按照从小到大的顺序排序,选择最小的N个物理节点作为N个备选物理节点。具体的,参照图4中所示,步骤S106包括:S1061、计算物理节点k中服务器i到物理节点l中服务器j的迁移通信成本,其中,物理节点k中服务器i为待迁移虚拟机所在的服务器,物理节点l中服务器j为N个备选物理节点中的一个物理节点的服务器。根据物理节点的多层树形拓扑可以获得物理节点的资源树。可以将物理节点的资源树建模为以下的数据结构:表1属性描述num该节点可支持的VM数量child该节点的第一个孩子(左孩子)next该节点的最近右兄弟parent该节点的父亲节点不同物理节点上VNF间通信成本主要由它们所在服务器之间的通信成本所决定。本文采用一台服务器到另外一个服务器之间的最短路径所经过交换机数目表示服务器之间的通信成本。假设物理节点k中服务器i和服务器j通信代价矩阵表示为其中为对称矩阵,即同一服务器上VNF采用内部通信,不需要经过外部交换机,即当i=j时,Cij代表的通信代价为0。其中,矩阵中当i=1或者j=1时表示物理节点中服务器与网关设备的通信代价。跨物理节点的服务器之间的通信成本包括源服务器和目的服务器与物理节点的网关设备之间以及物理节点的网关设备之间的通信成本。不同物理节点k和物理节点l之间网关设备的通信成本矩阵可表示为Tkl。具体的,物理节点k中服务器i到物理节点l中服务器j的迁移通信成本为其中,为物理节点k中服务器i与物理节点k的网关设备之间的通信成本,Tkl为物理节点k的网关设备与物理节点l的网关设备之间的通信成本,为物理节点l中服务器j与物理节点l的网关设备的通信成本。S1062、计算物理节点l中服务器j的权重,其中,权重=A*物理节点k中服务器i到物理节点l中服务器j的迁移通信成本+B*物理节点l中服务器j的空闲内存总量+C*物理节点l中服务器j的剩余CPU计算能力,A+B+C=1。S1063、选择N个备选物理节点中权重最小的服务器作为目标服务器。可选的,参照图5所示,在步骤S107之后,还可以包括步骤S108:S108、如果N个备选物理节点的空闲资源不足以部署特定网络服务,则可以对N个备选物理节点上已部署的网络服务进行调整,或者取消低优先级的网络服务的部署,以节省出资源部署特定网络服务。具体地,可以从N个备选物理节点上寻找一个或多个所需资源比特定网络服务所需资源少的网络服务,将寻找到的网络服务移动到能够容纳该网络服务的其它物理节点中,之后,将特定网络服务部署到N个备选物理节点上。或者,还可以寻找优先级低于特定网络服务的其它网络服务,将所述其它网络服务的冗余VNF从所在的物理节点删除,以节省出资源来部署特定网络服务。可选的,参照图5所示,在步骤S101之前,还可以包括步骤S109-S110:S109、确定特定网络服务的各VNF之间的亲和性和反亲和性关系,以及VNF内虚拟机之间的亲和性和反亲和性关系,以生成VNF的亲和性信息,并记录在服务模板文件中,将记录的服务模板文件导入VNFM的应用对象亲和性关系信息库中。S110、在需要配置特定网络服务的物理节点时(具体地,可以是在部署新的网络服务时,或在特定网络服务的物理节点需要重新规划容灾部署时),NFVO根据存储的业务链信息,确定支持特定网络服务的多个VNF。实施例2、本发明实施例提供了一种MANO,应用于上述VNF迁移方法,参照图6中所示,MANO11包括:监测单元1104,用于监测虚拟网络功能VNF中是否有故障告警事件发生;确定单元1105,用于如果监测单元1104监测到有故障告警事件发生,则确定VNF中的待迁移虚拟机,其中,待迁移虚拟机为引起故障告警事件的虚拟机;获取单元1106,用于获取VNF的亲和性信息;选择单元1107,用于根据获取单元1106获取的VNF的亲和性信息从资源树中选择N个备选物理节点,其中,资源树以树形结构存储了所有物理节点以及各物理节点下辖的服务器;获取单元1106,还用于获取选择单元1107所选择的N个备选物理节点的容灾资源信息,其中,容灾资源信息包括N个备选物理节点中各服务器的空闲内存总量以及剩余中央处理单元CPU计算能力;计算单元1108,用于根据N个备选物理节点中各服务器的通信成本、获取单元1106获取的空闲内存总量和剩余CPU计算能力从N个备选物理节点中选择目标服务器;迁移单元1109,用于将确定单元1105确定的待迁移虚拟机迁移至计算单元1108所选择的目标服务器。在一种可能的设计中,VNF的亲和性信息包含VNF中各虚拟机之间的亲和性和/或反亲和性关系,选择单元1107,具体用于:如果VNF中各虚拟机之间为亲和性关系,则根据深度优先遍历资源树得到M个物理节点,如果为反亲和性关系则根据广度优先遍历资源树得到M个物理节点,其中,M≥N;按照各物理节点内能启动的虚拟机数目对M个物理节点按照从小到大的顺序排序,选择最小的N个物理节点作为N个备选物理节点。在一种可能的设计中,计算单元1108,具体用于:计算物理节点k中服务器i到物理节点l中服务器j的通信成本,其中,物理节点k中服务器i为待迁移虚拟机所在的服务器,物理节点l中服务器j为N个备选物理节点中的一个物理节点的服务器。计算物理节点l中服务器j的权重,其中,权重=A*物理节点k中服务器i到物理节点l中服务器j的通信成本+B*物理节点l中服务器j的空闲内存总量+C*物理节点l中服务器j的剩余CPU计算能力,A+B+C=1。选择N个备选物理节点中权重最小的服务器作为目标服务器。在一种可能的设计中物理节点k中服务器i到物理节点l中服务器j的通信成本为其中,为物理节点k中服务器i与物理节点k的网关设备之间的通信成本,Tkl为物理节点k的网关设备与物理节点l的网关设备之间的通信成本,为物理节点l中服务器j与物理节点l的网关设备的通信成本。由于本发明实施例中的MANO可以应用于上述VNF迁移方法,因此,其所能获得的技术效果也可参考上述方法实施例,本发明实施例在此不再赘述。需要说明的是,监测单元、确定单元、获取单元、选择单元、计算单元和迁移单元可以为单独设立的处理器,也可以集成在控制器的某一个处理器中实现,此外,也可以以程序代码的形式存储于控制器的存储器中,由控制器的某一个处理器调用并执行以上监测单元、确定单元、获取单元、选择单元、计算单元和迁移单元的功能。这里所述的处理器可以是一个中央处理器(英文全称:centralprocessingunit,英文简称:CPU),或者是特定集成电路(英文全称:applicationspecificintegratedcircuit,英文简称:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文简称:ROM)、随机存取存储器(英文全称:randomaccessmemory,英文简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1