天天看點

開源MANO軟體盤點

本文描述了ETSI NFV MANO的概況,以及在該領域的概況。

MANO緻力于“管理和編排”,是ETSI NFV定義的架構架構的功能子產品的一部分。OSM即開源MANO。

Fig 1 – ETSI NFV Architectural Framework

NFV MANO涵蓋了支援基礎設施虛拟化的實體/軟體資源的編排和生命周期管理,以及VNFs的生命周期管理。NFV管理和編排專注于NFV架構中所有的特定虛拟管理任務,主要由以下3個子產品構成:

VIM,虛拟基礎設施管理,管理NFVI(網絡功能虛拟化基礎設施),這是例如OpenStack等元件的典型應用環境。VNMF,VNF生命周期管理(如執行個體化,更新,查詢,縮放,終止等),他們可能是多個VNF Manager管理一個VNF或者多個VNF,或者一組VNF Manager管理多個VNF,或者一個通用的VNF Manager管理所有的VNF生命周期。根據MANO架構報告,ETSI NFV根據GS/NFV-IF009定義提供VNF Manager的相應的多種開放能力。NFVO,NFV編排器負責NFV基礎設施、軟體資源和NFVI層面的網絡服務的編排和管理。

但是除了這些功能子產品,ETSI NFV還定義了這些子產品中的以下開放接口,如:

Nf-Vi:介于VIM和NFVI之間Or-Vi:介于NFVO和VIM之間=>ETSI GS NFV-IFA 005Vi-Vnfm:介于VNFM和VIM之間=> ETSI GS NFV-IFA 006Or-Vnfm:介于VNF Managers和NFVO之間=> ETSI GS NFV-IFA 007Ve-Vnfm:介于NFV-EM網絡功能和VNFM(s)之間=> ETSI GS NFV-IFA 008Os-Ma:介于NFVO和OSS/BSS之間=> ETSI GS NFV-IFA 0013/0012這些接口在ETSI NFV釋出的第二個版本中指定了不同的規範,目前在ETSI NFV的門戶網站上可以下載下傳到該版本的内容,該版本的工作情況也同時在ETSI NFV的網站上公開。Fig 2 – ETSI NFV Release 2 Interface & Architecture (IFA)

與ETSI NFV規範并行的是其他的一些開源項目,開源項目有不同的需求,他們或由開源社群主導,或由單一的實體公司主導,他們有不同的許可證,也會選擇做一些容易實作的架構或者語言等。本文重點涉及到的是開源NFV-MANO項目(圖2所示的藍框部分)。

下表是一個MANO開源項目的清單

值得注意的是這個表格可能不夠詳盡,像一些在Github上釋出代碼的實驗室和公司可能不在其中。一些合作項目或者子項目也不在其中,如Riftware和Juju項目作為ETSI OSM項目的子項目。本文的目的不是來比較這些項目的不同,項目的清單也不詳盡,隻是為了說明ETSI NFV MANO和一些生活中已經實作和示範的這些項目。

在深入這個話題之前,我們去了解這些項目在ETSI NFV釋出第2個版本的同時這些并行的項目所做的事将極為重要。他們中的絕大多數所進行的工作是基于ETSI NFV釋出的第一個版本的規範進行的,這意味着功能架構、參考點和一般概念有很大的相似。他們也有不同的運作模式,通常有下面所描述的3類方式,ETSI OSM采用的是第一個模式,由官方主導的開源社群。Open-O選擇ETSI OSM的元件,然後選擇第二種開放模式。

Fig 3 – Opensource project modelsOpenStack Tacker

OpenStack Tacker項目已經運作了好幾年了,它是Neutron項目的延續,并被剝離出來成為了Tacker項目,并且在2015年溫哥華OpenStack峰會上首次面世。最初包括惠普在内的幾家公司推動,該項目最初一直很低調,直到OPNFV和其他項目将它的代碼作為鍛煉基礎設施項目的工具去實作才火起來,如OPNFV的SFC,ETSI NFV VNFM功能映射。

Tacker項目由OpenStack管理,是以它遵循OpenStack社群項目的指導方針和管理模式。Tacker目前正在逐漸成為獨立于OpenStack之外的項目,目前已經成為OpenStack Mitaka版本中的一部分。

Fig 4 – Tacker project evolution in OpenStack

Tacker與OASOS TOSCA密切合作并為其CSD03版本提供必要的NFV方面的需求,目前CSD03被用來定義網絡服務描述符(NSD)、VNF描述符(VNFD)以及VNF轉發描述符(VNFFGD)。這些模闆被解析并轉譯成被OpenStack Heat和Keystone接受的模闆傳輸到相應的接口。

Fig 5 – TOSCA mapping to ETSI NFV descriptors

Tacker為NFVO-VNFM提供了一個內建的構模組化塊,是以其内部的Or-Vnfm接口沒有公開,但是它可以支援外部的VNFM。作為Tacker的嵌入式VNFM,它支援以下功能:

資料庫中存在VNF描述符(VNFDs)的目錄在Tacker中VNF執行個體化以及終止使用TOSCA進行熱轉譯在執行個體化、更新、重新開機過程中使用可加載的VNF特定管理驅動進行VNF配置注入加載VNF健康監測根據VNFD政策自我恢複Fig 5. OpenStack Tacker Architecture

在OpenStack Liberty的版本中,Tacker隻能支援放置VNF單個OpenStack執行個體,到了Mitaka版本中,Tacker支援多OpenStack VIM站點,即便有不同的版本。

ETSI OSG OSM

ETSI目前已經建立了一個新的類型的實體叫做OSG,即開源工作組,來支援ETSI開源項目的發展。OSG的首個項目是NFV-MANO,被稱為OSM(OpenSource MANO),是于2016年4月問世。它将一些已經存在了一段時間的元件聚集到一起,典型的是Telefonica的OpenMANO項目,Rift.io riftware軟體和Canonical Juju charms軟體。所有這些項目都已經在Github上開源,盡管ETSI一直以來緻力于标準規範,但到目前為止它仍然是通過開源發展的工具如Github、Jenkins來構模組化型。盡管它從一組預定義軟體中産生,但是為了擴充目前項目向所有的貢獻者開放。

ETSI NFV架構的藍圖也很清晰,還是關注功能子產品和參考點級别上。

Fig 6 – ETSI OSM mapping to ETSI NFV architectural framework

與Tacker相似的是,ETSI OSM提供了NFVO+通用VNFM的內建子產品,支援外部特定的VNFM,同時還支援與OpenStack VIM的內建,這使得其他VIM從中受益良多。在NFV編排功能和VIM之間,VNFM功能和VIM之間都存在內建點,但是它們目前都沒有納入到ETSI NFV規範中去。此外,內建點還存在于OSS/BSS之間,同樣也不屬于目前的IFA相關規範。

ETSI OSM利用OpenMANO實作資源編排,利用Juju實作VNF配置和管理,OSM還引入了一個Rift.io Riftware服務編排元件,目前該元件還在ETSI NFV範圍之外。

Fig 7 - ETSI OSM architecture

ETSI OSM的目标是定義一個以ETSI NFV第2個版本資訊模型為标準的資訊模型,目前一個基于3個獨立子產品(OpenMANO,Riftware,JuJu)與網絡服務及VNF的內建資料模型的發展藍圖将會釋出,以後每6個月更新一次。

Open Baton

Open Baton是由Fraunhofer Focus和TU Berlin一起發起的一個開源項目,現在被一些歐洲項目所使用,在Github和Apache 2.0許可下使用。Open Baton是基于ETSI NFV第一階段參考架構和MANO規範建構的,現在還沒有一緻的 IFA接口規範。它提供了一個NFVO構模組化塊,一個通用的VNFM,EMS元件,儀表盤,能夠支援多個OpenStack VIM并向其他VIM提供插件支援,同樣它也支援特定的VNFM。

Fig 8 – Open Baton architecture

用java實作spring.io架構,它支援VNF包定義包括VNF描述符、腳本、中繼資料、圖像連結在内的json。它支援結合腳本和中繼資料的CSAR(雲服務歸檔)包構成的TOSCA模闆,NFVO讀取這些包獲得資料。NFVO使用RabbitMQ與AMQP協定進行通信來調用VNFM,通用EMS将調用配置新執行個體,然後NFVO使用Zabbix監測VNF。

支援生命周期操作:初始化、配置、啟動、停止、終止。

Fig 9 – Open Baton typical call flowOpen-O

Open-O是由Linux基金會在2016年6月發起的一個項目,這是最近興起的一個項目,比較值得驚訝的是OpenStack Tacker也是由Linux基金會主辦的,但Linux基金會還有其他的研究項目,如SDN控制器OpenDaylight和ONOS。不管怎樣,Open-O畫下了完美的藍圖,并且已經有了15個成員機關,包括推出Cloudify産品的Gigaspaces公司等開源玩家。Open-O呼籲代碼貢獻,是以個人代碼貢獻者可以和大公司一起來決定Open-O的發展走向。

Fig 10 – open-o current architecture/blueprint proposal

Open-O的計劃将由ETSI NFV定義的如NFV-O等元件納入到與EMS、VNFM、VIM、OpenStack的內建,Open-O在NFVO資源編排功能之上引入了“服務編排器”元件。

在資料結構方面,Open-O倡導使用GUI來管理建立公共資訊和資料模型、沖突檢測模型包括靜态和動态的沖突,也使用TOSCA和Yang模型。

Open-O還計劃于其他開源項目合作,如OpenStack,OPNFV,特别是如下圖所示的openCORD:

Fig 11 – open-o collaboration with other Linux Foundation projects

同樣有趣的是Open-O在它的架構中很明顯的使用一個SDN編排器(SDNO),如上圖9所示,SDNO與NFVO并列置于OPENCORD和ONOS控制器之上。雖然這有點混亂,但這就能看到MANO開源項目正在擴大SDN控制器/SDN編排和NFV編排。希望這将有助于超越ETSI NFV目前的EVE005,并為業界帶來一些內建和部署模型。

T-NOVA TENOR

T-NOVA是在歐洲FP7 program之下的一個項目,目前已經完成并釋出。它包括一個市場元件,一個名為TENOR的編排器,VNF(虛拟網絡功能)&NS(網絡服務)描述符。

如果我們關注編排子產品,如圖10所示,我們注意到這個子產品包括ETSI NFV編排器(NFVO)區分成兩個功能:網絡服務編排器(NSO)和資源編排器(RO),嵌入式VNFM和中繼資料執行個體庫。它還提供了類似于ETSI NFV的接口,如Ve-Vnfm,ViVnfm和Or-Vi。但它沒有暴露其NFVO和NFVM的接口,也不提供開放的Or-Vnfm來支援外部VNFM,但是它引入了一些新的南向廣域網基礎設施中的Or-Tm接口,ETSI NFV在這方面有點模糊但是我們假定它是Or-Vi。T-Nova也定義一些其他的面向OSS、儀表盤等的北向接口。

Fig 12 – T-Nova Orchestrator Architecture

T-Nova在其門戶網站上釋出了一些成果,我們将更好的了解這個項目。與此同時,該項目的開源代碼也在Github上釋出。包括TENOR,T-Noca編排器,例如網絡服務僅限于1 VNF,VDU限制在1 VNFC。T-Nova描述符Json模式轉換成Heeat模闆。其他開源元件包括描述符,VIM監控,定義了網絡服務的工具,網絡功能倉庫,評級/計費架構,儀表盤。其中一些元件可以映射到ETSI NFV MANO中,其他的則沒有納入到ETSI NFV範圍中,如評級/計費架構。

總結

總之,這些不同的開源項目有不同的結構,由一個特定的工作組或開源社群如OpenStack、Linux基金會或ETSI管理。盡管目前Apache 2.0是最普遍的許可,但是他們仍然使用不同的許可。他們所涵蓋的範圍也存在差異,然而他們所指向的子產品都是ETSI NFV參考體系架構子產品,一些參考點和進階生命周期管理操作,并且主要側重于NFVO和VNFM,他們中很少的幾個引入了一些ETSI NFV之外的元素。

以上這些有趣的試驗提供了一些閉環驗證ETSI NFV規範的方法,應該将缺失的部分盡快擴充,我們從這些處于不同成熟階段的項目中可以看到,MANO開源的發展仍然處于非常早期的階段。

====================================分割線================================

本文轉自d1net(轉載)