李中科,赵慧娟,苏晓萍
(南京工业职业技术学院 计算机与软件学院,江苏 南京 210046)
实现VNF业务连续的VNF虚拟机更新方法研究*
李中科,赵慧娟,苏晓萍
(南京工业职业技术学院 计算机与软件学院,江苏 南京 210046)
针对当前ETSI NFV框架下VNF更新操作时会引起业务中断的问题,给出了比VNF粒度更小的VM更新策略。借助VNF内部组件的冗余机制等,提出了增强NFVO、VNFM和VNF之间交互的流程和方法,由VNFM单独确定、VNF单独确定或由VNFM和VNF协商确定VNF VM变更策略,通过分批次、按顺序实现VNF内部组件相关VM的变更,使得NFV框架能够在VNF不中断业务的前提下平滑完成VNF的如扩容、升级等涉及VM变更的操作,从而提升了通信网元功能在虚拟化后的系统可用性。
网络功能虚拟化;虚拟网络功能管理;系统可用性;业务连续性
在ETSI定义的VNF生命周期管理中,ETSI给出了纵向扩容(Scale Up)、纵向缩容(Scale Down)和升级等VNF变更流程[3]。特别是在VNF的纵向扩容、缩容变更操作中,必然要触发VNF相关虚拟机(VM)的重新启动。而ETSI认为,对具体某个VNF相关的所有虚拟机的变更操作是一次完成的。因此,在VNF扩容、缩容的流程中,定义了由VNFM向NFVO发起一次VM资源变更申请,由NFVO请求VIM完成所涉及VM资源的变更并向VNFM返回响应(参照文献[3]中附录B的B.4.3流程)。而这一次VM资源变更处理会引起相关虚拟机全部重启,使得该VNF的所有业务单元无法工作,引起业务中断。为减少业务中断时间,可以采用文献[3]中针对网络业务变更给出的C.5优化流程,即先根据扩容要求额外创建一个新的VNF实例,并将业务切换到新的VNF实例上,最后将待扩容的老VNF实例终止,以达到扩容的目的。这个流程虽可部分解决业务中断时长的问题,但该流程需要对端网元感知,即对端网元需要配合该网元的扩、缩容/升级操作。目前,ETSI提供的NFV框架并没有考虑到比VNF更低级别部件的扩、缩容和升级选项。
而实际部署中,特别是对系统可用性和数据可靠性要求很高的网元如HSS,必然在部署中采用一定的冗余机制。无论从业务层面还是从数据存储层面,一般都会采用负荷分担机制或主备用机制[4-5]。而该类网元在扩、缩容等更新操作时,可以借助这些网元内部的部件冗余作有针对性的更新操作设计,通过分批次地更新所有组件,达到业务不中断且对端无感知的效果。比如,网元内部部件采用主备用冗余时,就可以先将备用部分的组件离线、更新、再上线,继而再对主用部分组件离线、更新、再上线的操作,从而使业务自动切换回网元的主用部分组件。
对该类网元在虚拟化后,有必要借鉴非虚拟化部署时的更新策略,通过增强NFV框架下的更新流程,实现VNF内部组件粒度层次的更新,来达到VNF更新过程业务不中断、系统持续可用的效果。本文正是基于此类VNF部署时的冗余场景,如VNF内部组件的主备用机制、负荷分担机制等,提出增强NFVO、VNFM和VNF之间交互的NFV流程和方法,由VNFM、VNF确定或由VNFM和VNF协商确定VNF VM变更策略,分批次、顺序实现相关VM的变更,使得NFV框架能够在VNF不中断业务的前提下,平滑完成VNF的扩容、缩容、升级等涉及VM变更的操作。
考虑到VM变更策略可以由VNFM确定、由VNFM和VNF协商确定或由VNF确定,在不同的应用场景下,本节给出NFVO、VNFM、VIM和VNF实现VNF虚拟机变更的交互方法。
2.1 由VNFM实现VNF自定义VM变更策略
由VNFM决策VM变更策略,通过VNFM多次请求NFVO进行VM变更的交互方法,包括NFVO请求VNFM进行VNF的VM变更的场景以及VNFM主动发起的VM变更场景,VNFM确定VM的变更策略,如根据VNF内部组件之间的主备用机制、负荷分担机制等确定VM变更的批次、顺序,然后多次向NFVO发起VM变更请求,直到所有VM变更完毕。
图1给出了通过增强NFVO、VNFM和VIM之间交互,由VNFM实现自定义VNF VM变更策略的方法。
当用户通过NFVO执行VNF VM变更时(如扩容、缩容、升级等),采用步骤1.A框内的流程。
步骤1.A.1:用户向NFVO发送VNF VM变更请求。
步骤1.A.2:NFVO收到用户的VNF变更请求后,需要进行如下的预处理:①检验请求;②查询VNFM是否存在,如果不存在,则部署;③请求VNFM检查VNF变更的可行性;④请求VIM进行资源检验和预留。
步骤1.A.3:NFVO向VNFM发起VNF变更请求,请求中携带了变更参数,如变更的虚拟网元、操作类型以及操作相关的其他参数等。
步骤1.A.4:VNFM进行必要的准备工作,如校验请求中的虚拟网元是否合法等。
当是VNFM主动发起VNF VM变更时(如扩容、缩容、升级等),则采用步骤1.B框内的流程。
步骤1.B.1:VNFM发起VNF VM变更前,需要进行一些预处理,如向VIM进行资源申请和预留。
执行1.A框或者1.B框内的流程后,执行步骤2。
步骤2:VNFM根据预先配置的规则或者本地记录的VNF虚拟机的属性,如VNF内部组件的主备机制、负荷分担机制等,确定VNF VM变更的批次、顺序,以便后续分批处理。然后,请求NFVO进行第一批次VM的变更。
步骤3:NFVO向VIM请求变更,请求携带变更的VM信息,如具体的VM列表、VM资源变更定义列表等。
步骤4:VIM进行相关VM的资源变更处理,包括修改内部连接网络、创建VM并将新VM实例连接到网络;变更处理完毕后,向NFVO返回响应。
步骤5:NFVO向VNFM返回变更响应,响应中携带变更结果,如变更的VM列表和结果等。
VNFM判断仍然有VM需要变更,重复执行步骤2~5进行后续批次VM的变更,直到所有批次的VM变更完毕。
若是用户通过NFVO执行VNF变更时,执行步骤6.A和步骤7.A。
步骤6.A:VNFM向NFVO返回操作响应。
步骤7.A:NFVO向用户返回操作响应。
图1 由VNFM决策实现VM变更策略流程
2.2 VNFM/VNF协商决策VM变更策略
由VNFM与VNF协商决策VM变更策略,通过VNFM多次请求NFVO进行VM变更的交互方法,包括:①用户通过NFVO请求VNFM进行VNF的VM变更时,由VNFM和VNF协商确定VM的变更策略;②VNFM主动发起VM变更时,由VNFM和VNF协商确定VM的变更策略。VNFM和VNF根据VNF VM之间的主备机制、负荷分担机制等,协商确定VM变更批次、顺序,然后多次向VNFM发起VM变更请求,直到所有VM变更完毕。
图2给出了通过增强NFVO、VNFM、VNF和VIM之间交互,实现用户通过NFVO请求VNFM进行VNF VM变更时、VNFM主动请求VNF VM变更时,通过VNFM与VNF协商决策VM变更策略的方法。
图2 由VNFM和VNF协商实现VM变更策略流程
用户在通过NFVO执行VNF VM变更过程时(如扩容、缩容、升级等),执行步骤1.A;如果是VNFM发起VNF变更时,执行1.B(1.A和1.B两个过程是二选一的关系)。
(1)当用户在通过NFVO执行VNF VM变更时,采用步骤1.A框内的流程。
步骤1.A.1:用户向NFVO发送VNF VIM变更请求。
步骤1.A.2:NFVO收到用户的VNF变更请求后,需进行如下的预处理:①检验请求;②查询VNFM是否存在,如果不存在,则部署;③请求VNFM检查VNF变更的可行性;④请求VIM进行资源检验和预留。
步骤1.A.3:NFVO向VNFM发起VNF变更请求,请求中携带了变更参数,如变更的虚拟网元、操作类型以及操作相关的其他参数等。
步骤1.A.4:VNFM进行必要的准备工作,如校验请求中的虚拟网元是否合法等。
(2)当VNFM主动发起VNF VM变更时,采用步骤1.B框内的流程。
步骤1.B.1:VNFM发起VNF VM变更前,需要进行一些预处理,如通过VIM进行资源申请和预留。
执行1.A框或者1.B框内的流程后,执行步骤2。
步骤2:VNFM向VNF发起VM变更请求(如果由VNFM确定变更的虚拟机信息,则在请求中携带需要变更的VM信息)。
步骤3:VNF获取需要变更的虚拟机信息后(可以从VNFM的VM变更请求中获取,也可以由VNF自身确定),根据VM变更策略,如预先配置的规则或者本地记录的VNF虚拟机的属性,按照主备机制、负荷分担机制等,确定VM变更批次、顺序。然后,请求VNFM进行第一批次VM的变更。
步骤4:VNFM请求NFVO进行VM变更,请求中携带变更的VM信息,如需要变更的VM列表等。
步骤5:NFVO向VIM请求变更,请求中携带变更的VM信息,如具体的VM列表和VM资源变更定义列表等。
步骤6:VIM进行相关VM的资源变更处理,包括修改内部连接网络、创建VM并将新VM实例连接到网络;变更处理完毕后,向NFVO返回响应。
步骤7:NFVO向VNFM返回变更响应,响应中携带变更结果,如变更的VM列表和结果等;
步骤8:VNFM将已经变更的VM列表返回给VNF。
VNF判断仍然有VNF VM需要变更,则重复执行步骤3~8,直到所有VM变更完毕。
步骤9:VNF向VNFM返回VM变更结束响应。
若是用户通过NFVO执行VNF VM变更时,会执行步骤10.A和步骤11.A。
步骤10.A:VNFM向NFVO返回VNF变更响应。
步骤11.A:NFVO向用户返回VNF变更响应。
2.3 VNF发起并决策VM变更策略
在VNF主动发起VM变更时,可以由VNF单独决策VM变更策略。VNF根据VNF VM之间的主备机制、负荷分担机制等确定VM变更批次、顺序,然后多次向VNFM发起VM变更请求,直到所有VM变更完毕。图3给出了通过增强NFVO、VNFM、VNF和VIM之间交互的方法,来实现VNF主动发起的VM变更过程。此时,由VNF决策实现VM变更策略。
图3 VNF发起并决策实现VM变更策略流程
步骤1:VNF发起VNF VM变更操作前,需要进行一些预处理,如向VIM进行资源申请和预留。
VNF主动发起VM变更,其根据负荷情况,确定需要变更的虚拟机列表,结合VNF的VM变更策略,如预先配置的规则或者本地记录的VNF虚拟机的属性,按照主备机制、负荷分担机制等,确定需要变更的VM批次、顺序,并执行步骤2进行第一批次VM的变更。
步骤2:VNF请求VNFM进行VM变更,请求中携带变更的VM信息,如需要变更的VM列表。
步骤3:VNFM请求NFVO进行VM变更,请求中携带变更的VM信息,如需要变更的VM列表等。
步骤4:NFVO向VIM请求变更,请求中携带变更的VM信息,如具体的VM列表、VM资源变更定义列表等。
步骤5:VIM进行相关VM的资源变更处理,包括修改内部连接网络、创建VM并将新VM实例连接到网络;变更处理完毕后,向NFVO返回响应。
步骤6:NFVO向VNFM返回变更响应,响应中携带变更结果,如变更的VM列表和结果等。
步骤7:VNFM向VNF返回VM变更响应。
VNF判断仍然有VM需要变更,则重复执行步骤2~7,直到所有VM变更完毕。
本文借助于VNF部署时的冗余设计,如VNF内部组件的主备机制、负荷分担机制等,增强了VNF VM更新的NFV框架,即改进了NFVO、VNFM、VNF和VIM之间交互的流程,通过分批次实现VNF内部组件的VM变更,使得NFV框架能够在VNF不中断业务的情况下,平滑完成VNF的纵向扩容、缩容和升级等涉及VM变更的操作。VNF网元内部组件的分批次VM变更策略,可以由VNFM、VNF单独确定,也可以由VNFM和VNF协商确定。与现有技术相比,本文增强后的交互方法,使得通信网元在网络功能虚拟化后,在保证系统可用性不受影响的前提下,实现了VNF更新操作,完全可以做到业务无中断和对端网元、用户无感知。
[1] ETSI NFV Groups.ETSI GS NFV 002,Network Functions Virtualisation(NFV);Architectural Framework V1.2.1[S].2014.
[2] 韩小勇.核心网控制网元虚拟化技术研究[R].中国通信标准化协会,2014. HAN Xiao-yong.Research on Virtualization Technology of Control-Plane Network Elements[R].Chinese Communications Standards Association,2014.
[3] ETSI NFV Groups.ETSI GS NFV-MAN 001 Network Functions Virtualisation(NFV);Management and Orchestration V1.1.1[S].2014.
[4] 4G_Americas.White Paper:NFV and SDN Networks[R].2015.
[5] 卢云许.虚拟机资源的变更方法、装置及虚拟网络功能设备:中国,CN104980297A[P].2015-10-14. LU Yun-xu.Methods and Devices for Updating Virtual Machine Resources and Virtualized Network Function:P. R.China,CN104980297A[P].2015-10-14.
李中科(1976—),博士,工程师,主要研究方向为通信数据融合、网络功能虚拟化等;
赵慧娟(1981—),硕士,工程师,主要研究方向为软件验证、数据挖掘与信息安全等;
苏晓萍(1971—),硕士,教授,主要研究方向为数据挖掘和机器学习、网络推荐系统等。
VNF Updating Methods for VNF Service Continuity
LI Zhong-ke, ZHAO Hui-juan, SU Xiao-ping
(School of Computer and Software, Nanjing Institute of Industry Technology, Nanjing Jiangsu 210046, China)
To solve the problem that under the current ETSI NFV VNF frame the VNF update operations would result in service interruption of traffic, the VM updating strategy with lower level of granularity as compared with VNF is proposed. With the help of redundancy mechanism among VNF internal components,an enhanced NFV workflow for interaction in among NFVO, VNFM and VNF is described, which allows VNF VM updating determined by VNFM alone or VNF alone, or through negotiation of VNFM and VNF, thus realizing the VF updating relating to VNF internal components in batches or in sequence, and that the NFV fame could smoothly finish VNF updating operations, such as capacity scaling-up, and upgrading, etc.. And all this could raise the availability and practicability of the virtualized communication network elements.
network function virtualization; virtual network function management; system availability;service continuity
为提高硬件设施利用率,提升业务部署效率、降低运维成本,欧洲电信标准化协会(ETSI)制定了网络功能虚拟化(NFV)协议标准[1-3],在端到端参考架构中引入NFVO(网络功能虚拟化编排器)、VNFM(虚拟网络功能管理)、VIM(虚拟基础设施管理)、NFVI(网络功能虚拟化基础设施)、VNF(虚拟网络功能)等功能单元。NFVO主要负责全网的网络服务、虚拟资源以及物理资源的编排和相关管理功能;VNFM主要负责VNF的生命周期管理和VNF相关的虚拟资源的分配和管理;VIM主要负责虚拟化基础设施管理,主要功能是实现对整个基础设施层资源包括计算、存储、网络资源的分配和管理;NFVI作为虚拟化资源层,包括虚拟化后新增的虚拟化平台和原有的硬件资源;VNF指虚拟化后的网元,部署在NFVI上,执行着3GPP定义的网元功能,功能与非虚拟化时保持一致,如HSS、MME等。NFVO和VNFM协同完成VNF的生命周期管理,包括VNF的实例化、扩容、缩容、升级和终止等过程[3]。
NIIT Science Research Foundation (No.YK15-04-01);NIIT Innovation Team Program (No.TK15-04-01)
TN914
A
1002-0802(2016)-10-1344-05
10.3969/j.issn.1002-0802.2016.10.015
2016-06-06;
2016-09-17
data:2016-06-06;Revised data:2016-09-17
南工院科研基金资助项目(No.YK15-04-01);南工院科技创新团队资助项目(No.TK15-04-01)