李中科,趙慧娟,蘇曉萍
(南京工業(yè)職業(yè)技術(shù)學(xué)院 計算機與軟件學(xué)院,江蘇 南京 210046)
實現(xiàn)VNF業(yè)務(wù)連續(xù)的VNF虛擬機更新方法研究*
李中科,趙慧娟,蘇曉萍
(南京工業(yè)職業(yè)技術(shù)學(xué)院 計算機與軟件學(xué)院,江蘇 南京 210046)
針對當(dāng)前ETSI NFV框架下VNF更新操作時會引起業(yè)務(wù)中斷的問題,給出了比VNF粒度更小的VM更新策略。借助VNF內(nèi)部組件的冗余機制等,提出了增強NFVO、VNFM和VNF之間交互的流程和方法,由VNFM單獨確定、VNF單獨確定或由VNFM和VNF協(xié)商確定VNF VM變更策略,通過分批次、按順序?qū)崿F(xiàn)VNF內(nèi)部組件相關(guān)VM的變更,使得NFV框架能夠在VNF不中斷業(yè)務(wù)的前提下平滑完成VNF的如擴容、升級等涉及VM變更的操作,從而提升了通信網(wǎng)元功能在虛擬化后的系統(tǒng)可用性。
網(wǎng)絡(luò)功能虛擬化;虛擬網(wǎng)絡(luò)功能管理;系統(tǒng)可用性;業(yè)務(wù)連續(xù)性
在ETSI定義的VNF生命周期管理中,ETSI給出了縱向擴容(Scale Up)、縱向縮容(Scale Down)和升級等VNF變更流程[3]。特別是在VNF的縱向擴容、縮容變更操作中,必然要觸發(fā)VNF相關(guān)虛擬機(VM)的重新啟動。而ETSI認為,對具體某個VNF相關(guān)的所有虛擬機的變更操作是一次完成的。因此,在VNF擴容、縮容的流程中,定義了由VNFM向NFVO發(fā)起一次VM資源變更申請,由NFVO請求VIM完成所涉及VM資源的變更并向VNFM返回響應(yīng)(參照文獻[3]中附錄B的B.4.3流程)。而這一次VM資源變更處理會引起相關(guān)虛擬機全部重啟,使得該VNF的所有業(yè)務(wù)單元無法工作,引起業(yè)務(wù)中斷。為減少業(yè)務(wù)中斷時間,可以采用文獻[3]中針對網(wǎng)絡(luò)業(yè)務(wù)變更給出的C.5優(yōu)化流程,即先根據(jù)擴容要求額外創(chuàng)建一個新的VNF實例,并將業(yè)務(wù)切換到新的VNF實例上,最后將待擴容的老VNF實例終止,以達到擴容的目的。這個流程雖可部分解決業(yè)務(wù)中斷時長的問題,但該流程需要對端網(wǎng)元感知,即對端網(wǎng)元需要配合該網(wǎng)元的擴、縮容/升級操作。目前,ETSI提供的NFV框架并沒有考慮到比VNF更低級別部件的擴、縮容和升級選項。
而實際部署中,特別是對系統(tǒng)可用性和數(shù)據(jù)可靠性要求很高的網(wǎng)元如HSS,必然在部署中采用一定的冗余機制。無論從業(yè)務(wù)層面還是從數(shù)據(jù)存儲層面,一般都會采用負荷分擔(dān)機制或主備用機制[4-5]。而該類網(wǎng)元在擴、縮容等更新操作時,可以借助這些網(wǎng)元內(nèi)部的部件冗余作有針對性的更新操作設(shè)計,通過分批次地更新所有組件,達到業(yè)務(wù)不中斷且對端無感知的效果。比如,網(wǎng)元內(nèi)部部件采用主備用冗余時,就可以先將備用部分的組件離線、更新、再上線,繼而再對主用部分組件離線、更新、再上線的操作,從而使業(yè)務(wù)自動切換回網(wǎng)元的主用部分組件。
對該類網(wǎng)元在虛擬化后,有必要借鑒非虛擬化部署時的更新策略,通過增強NFV框架下的更新流程,實現(xiàn)VNF內(nèi)部組件粒度層次的更新,來達到VNF更新過程業(yè)務(wù)不中斷、系統(tǒng)持續(xù)可用的效果。本文正是基于此類VNF部署時的冗余場景,如VNF內(nèi)部組件的主備用機制、負荷分擔(dān)機制等,提出增強NFVO、VNFM和VNF之間交互的NFV流程和方法,由VNFM、VNF確定或由VNFM和VNF協(xié)商確定VNF VM變更策略,分批次、順序?qū)崿F(xiàn)相關(guān)VM的變更,使得NFV框架能夠在VNF不中斷業(yè)務(wù)的前提下,平滑完成VNF的擴容、縮容、升級等涉及VM變更的操作。
考慮到VM變更策略可以由VNFM確定、由VNFM和VNF協(xié)商確定或由VNF確定,在不同的應(yīng)用場景下,本節(jié)給出NFVO、VNFM、VIM和VNF實現(xiàn)VNF虛擬機變更的交互方法。
2.1 由VNFM實現(xiàn)VNF自定義VM變更策略
由VNFM決策VM變更策略,通過VNFM多次請求NFVO進行VM變更的交互方法,包括NFVO請求VNFM進行VNF的VM變更的場景以及VNFM主動發(fā)起的VM變更場景,VNFM確定VM的變更策略,如根據(jù)VNF內(nèi)部組件之間的主備用機制、負荷分擔(dān)機制等確定VM變更的批次、順序,然后多次向NFVO發(fā)起VM變更請求,直到所有VM變更完畢。
圖1給出了通過增強NFVO、VNFM和VIM之間交互,由VNFM實現(xiàn)自定義VNF VM變更策略的方法。
當(dāng)用戶通過NFVO執(zhí)行VNF VM變更時(如擴容、縮容、升級等),采用步驟1.A框內(nèi)的流程。
步驟1.A.1:用戶向NFVO發(fā)送VNF VM變更請求。
步驟1.A.2:NFVO收到用戶的VNF變更請求后,需要進行如下的預(yù)處理:①檢驗請求;②查詢VNFM是否存在,如果不存在,則部署;③請求VNFM檢查VNF變更的可行性;④請求VIM進行資源檢驗和預(yù)留。
步驟1.A.3:NFVO向VNFM發(fā)起VNF變更請求,請求中攜帶了變更參數(shù),如變更的虛擬網(wǎng)元、操作類型以及操作相關(guān)的其他參數(shù)等。
步驟1.A.4:VNFM進行必要的準(zhǔn)備工作,如校驗請求中的虛擬網(wǎng)元是否合法等。
當(dāng)是VNFM主動發(fā)起VNF VM變更時(如擴容、縮容、升級等),則采用步驟1.B框內(nèi)的流程。
步驟1.B.1:VNFM發(fā)起VNF VM變更前,需要進行一些預(yù)處理,如向VIM進行資源申請和預(yù)留。
執(zhí)行1.A框或者1.B框內(nèi)的流程后,執(zhí)行步驟2。
步驟2:VNFM根據(jù)預(yù)先配置的規(guī)則或者本地記錄的VNF虛擬機的屬性,如VNF內(nèi)部組件的主備機制、負荷分擔(dān)機制等,確定VNF VM變更的批次、順序,以便后續(xù)分批處理。然后,請求NFVO進行第一批次VM的變更。
步驟3:NFVO向VIM請求變更,請求攜帶變更的VM信息,如具體的VM列表、VM資源變更定義列表等。
步驟4:VIM進行相關(guān)VM的資源變更處理,包括修改內(nèi)部連接網(wǎng)絡(luò)、創(chuàng)建VM并將新VM實例連接到網(wǎng)絡(luò);變更處理完畢后,向NFVO返回響應(yīng)。
步驟5:NFVO向VNFM返回變更響應(yīng),響應(yīng)中攜帶變更結(jié)果,如變更的VM列表和結(jié)果等。
VNFM判斷仍然有VM需要變更,重復(fù)執(zhí)行步驟2~5進行后續(xù)批次VM的變更,直到所有批次的VM變更完畢。
若是用戶通過NFVO執(zhí)行VNF變更時,執(zhí)行步驟6.A和步驟7.A。
步驟6.A:VNFM向NFVO返回操作響應(yīng)。
步驟7.A:NFVO向用戶返回操作響應(yīng)。
圖1 由VNFM決策實現(xiàn)VM變更策略流程
2.2 VNFM/VNF協(xié)商決策VM變更策略
由VNFM與VNF協(xié)商決策VM變更策略,通過VNFM多次請求NFVO進行VM變更的交互方法,包括:①用戶通過NFVO請求VNFM進行VNF的VM變更時,由VNFM和VNF協(xié)商確定VM的變更策略;②VNFM主動發(fā)起VM變更時,由VNFM和VNF協(xié)商確定VM的變更策略。VNFM和VNF根據(jù)VNF VM之間的主備機制、負荷分擔(dān)機制等,協(xié)商確定VM變更批次、順序,然后多次向VNFM發(fā)起VM變更請求,直到所有VM變更完畢。
圖2給出了通過增強NFVO、VNFM、VNF和VIM之間交互,實現(xiàn)用戶通過NFVO請求VNFM進行VNF VM變更時、VNFM主動請求VNF VM變更時,通過VNFM與VNF協(xié)商決策VM變更策略的方法。
圖2 由VNFM和VNF協(xié)商實現(xiàn)VM變更策略流程
用戶在通過NFVO執(zhí)行VNF VM變更過程時(如擴容、縮容、升級等),執(zhí)行步驟1.A;如果是VNFM發(fā)起VNF變更時,執(zhí)行1.B(1.A和1.B兩個過程是二選一的關(guān)系)。
(1)當(dāng)用戶在通過NFVO執(zhí)行VNF VM變更時,采用步驟1.A框內(nèi)的流程。
步驟1.A.1:用戶向NFVO發(fā)送VNF VIM變更請求。
步驟1.A.2:NFVO收到用戶的VNF變更請求后,需進行如下的預(yù)處理:①檢驗請求;②查詢VNFM是否存在,如果不存在,則部署;③請求VNFM檢查VNF變更的可行性;④請求VIM進行資源檢驗和預(yù)留。
步驟1.A.3:NFVO向VNFM發(fā)起VNF變更請求,請求中攜帶了變更參數(shù),如變更的虛擬網(wǎng)元、操作類型以及操作相關(guān)的其他參數(shù)等。
步驟1.A.4:VNFM進行必要的準(zhǔn)備工作,如校驗請求中的虛擬網(wǎng)元是否合法等。
(2)當(dāng)VNFM主動發(fā)起VNF VM變更時,采用步驟1.B框內(nèi)的流程。
步驟1.B.1:VNFM發(fā)起VNF VM變更前,需要進行一些預(yù)處理,如通過VIM進行資源申請和預(yù)留。
執(zhí)行1.A框或者1.B框內(nèi)的流程后,執(zhí)行步驟2。
步驟2:VNFM向VNF發(fā)起VM變更請求(如果由VNFM確定變更的虛擬機信息,則在請求中攜帶需要變更的VM信息)。
步驟3:VNF獲取需要變更的虛擬機信息后(可以從VNFM的VM變更請求中獲取,也可以由VNF自身確定),根據(jù)VM變更策略,如預(yù)先配置的規(guī)則或者本地記錄的VNF虛擬機的屬性,按照主備機制、負荷分擔(dān)機制等,確定VM變更批次、順序。然后,請求VNFM進行第一批次VM的變更。
步驟4:VNFM請求NFVO進行VM變更,請求中攜帶變更的VM信息,如需要變更的VM列表等。
步驟5:NFVO向VIM請求變更,請求中攜帶變更的VM信息,如具體的VM列表和VM資源變更定義列表等。
步驟6:VIM進行相關(guān)VM的資源變更處理,包括修改內(nèi)部連接網(wǎng)絡(luò)、創(chuàng)建VM并將新VM實例連接到網(wǎng)絡(luò);變更處理完畢后,向NFVO返回響應(yīng)。
步驟7:NFVO向VNFM返回變更響應(yīng),響應(yīng)中攜帶變更結(jié)果,如變更的VM列表和結(jié)果等;
步驟8:VNFM將已經(jīng)變更的VM列表返回給VNF。
VNF判斷仍然有VNF VM需要變更,則重復(fù)執(zhí)行步驟3~8,直到所有VM變更完畢。
步驟9:VNF向VNFM返回VM變更結(jié)束響應(yīng)。
若是用戶通過NFVO執(zhí)行VNF VM變更時,會執(zhí)行步驟10.A和步驟11.A。
步驟10.A:VNFM向NFVO返回VNF變更響應(yīng)。
步驟11.A:NFVO向用戶返回VNF變更響應(yīng)。
2.3 VNF發(fā)起并決策VM變更策略
在VNF主動發(fā)起VM變更時,可以由VNF單獨決策VM變更策略。VNF根據(jù)VNF VM之間的主備機制、負荷分擔(dān)機制等確定VM變更批次、順序,然后多次向VNFM發(fā)起VM變更請求,直到所有VM變更完畢。圖3給出了通過增強NFVO、VNFM、VNF和VIM之間交互的方法,來實現(xiàn)VNF主動發(fā)起的VM變更過程。此時,由VNF決策實現(xiàn)VM變更策略。
圖3 VNF發(fā)起并決策實現(xiàn)VM變更策略流程
步驟1:VNF發(fā)起VNF VM變更操作前,需要進行一些預(yù)處理,如向VIM進行資源申請和預(yù)留。
VNF主動發(fā)起VM變更,其根據(jù)負荷情況,確定需要變更的虛擬機列表,結(jié)合VNF的VM變更策略,如預(yù)先配置的規(guī)則或者本地記錄的VNF虛擬機的屬性,按照主備機制、負荷分擔(dān)機制等,確定需要變更的VM批次、順序,并執(zhí)行步驟2進行第一批次VM的變更。
步驟2:VNF請求VNFM進行VM變更,請求中攜帶變更的VM信息,如需要變更的VM列表。
步驟3:VNFM請求NFVO進行VM變更,請求中攜帶變更的VM信息,如需要變更的VM列表等。
步驟4:NFVO向VIM請求變更,請求中攜帶變更的VM信息,如具體的VM列表、VM資源變更定義列表等。
步驟5:VIM進行相關(guān)VM的資源變更處理,包括修改內(nèi)部連接網(wǎng)絡(luò)、創(chuàng)建VM并將新VM實例連接到網(wǎng)絡(luò);變更處理完畢后,向NFVO返回響應(yīng)。
步驟6:NFVO向VNFM返回變更響應(yīng),響應(yīng)中攜帶變更結(jié)果,如變更的VM列表和結(jié)果等。
步驟7:VNFM向VNF返回VM變更響應(yīng)。
VNF判斷仍然有VM需要變更,則重復(fù)執(zhí)行步驟2~7,直到所有VM變更完畢。
本文借助于VNF部署時的冗余設(shè)計,如VNF內(nèi)部組件的主備機制、負荷分擔(dān)機制等,增強了VNF VM更新的NFV框架,即改進了NFVO、VNFM、VNF和VIM之間交互的流程,通過分批次實現(xiàn)VNF內(nèi)部組件的VM變更,使得NFV框架能夠在VNF不中斷業(yè)務(wù)的情況下,平滑完成VNF的縱向擴容、縮容和升級等涉及VM變更的操作。VNF網(wǎng)元內(nèi)部組件的分批次VM變更策略,可以由VNFM、VNF單獨確定,也可以由VNFM和VNF協(xié)商確定。與現(xiàn)有技術(shù)相比,本文增強后的交互方法,使得通信網(wǎng)元在網(wǎng)絡(luò)功能虛擬化后,在保證系統(tǒng)可用性不受影響的前提下,實現(xiàn)了VNF更新操作,完全可以做到業(yè)務(wù)無中斷和對端網(wǎng)元、用戶無感知。
[1] ETSI NFV Groups.ETSI GS NFV 002,Network Functions Virtualisation(NFV);Architectural Framework V1.2.1[S].2014.
[2] 韓小勇.核心網(wǎng)控制網(wǎng)元虛擬化技術(shù)研究[R].中國通信標(biāo)準(zhǔn)化協(xié)會,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] 盧云許.虛擬機資源的變更方法、裝置及虛擬網(wǎng)絡(luò)功能設(shè)備:中國,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—),博士,工程師,主要研究方向為通信數(shù)據(jù)融合、網(wǎng)絡(luò)功能虛擬化等;
趙慧娟(1981—),碩士,工程師,主要研究方向為軟件驗證、數(shù)據(jù)挖掘與信息安全等;
蘇曉萍(1971—),碩士,教授,主要研究方向為數(shù)據(jù)挖掘和機器學(xué)習(xí)、網(wǎng)絡(luò)推薦系統(tǒng)等。
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
為提高硬件設(shè)施利用率,提升業(yè)務(wù)部署效率、降低運維成本,歐洲電信標(biāo)準(zhǔn)化協(xié)會(ETSI)制定了網(wǎng)絡(luò)功能虛擬化(NFV)協(xié)議標(biāo)準(zhǔn)[1-3],在端到端參考架構(gòu)中引入NFVO(網(wǎng)絡(luò)功能虛擬化編排器)、VNFM(虛擬網(wǎng)絡(luò)功能管理)、VIM(虛擬基礎(chǔ)設(shè)施管理)、NFVI(網(wǎng)絡(luò)功能虛擬化基礎(chǔ)設(shè)施)、VNF(虛擬網(wǎng)絡(luò)功能)等功能單元。NFVO主要負責(zé)全網(wǎng)的網(wǎng)絡(luò)服務(wù)、虛擬資源以及物理資源的編排和相關(guān)管理功能;VNFM主要負責(zé)VNF的生命周期管理和VNF相關(guān)的虛擬資源的分配和管理;VIM主要負責(zé)虛擬化基礎(chǔ)設(shè)施管理,主要功能是實現(xiàn)對整個基礎(chǔ)設(shè)施層資源包括計算、存儲、網(wǎng)絡(luò)資源的分配和管理;NFVI作為虛擬化資源層,包括虛擬化后新增的虛擬化平臺和原有的硬件資源;VNF指虛擬化后的網(wǎng)元,部署在NFVI上,執(zhí)行著3GPP定義的網(wǎng)元功能,功能與非虛擬化時保持一致,如HSS、MME等。NFVO和VNFM協(xié)同完成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);南工院科技創(chuàng)新團隊資助項目(No.TK15-04-01)