王 彪
(呼和浩特城市交通投資建設(shè)集團有限公司,010020,呼和浩特∥正高級工程師)
隨著云計算技術(shù)在城市軌道交通領(lǐng)域的廣泛應用,網(wǎng)絡(luò)設(shè)備和服務(wù)器數(shù)量急劇增加,業(yè)務(wù)迭代和快速上線訴求相應激增。相關(guān)維護人員要應對大量虛擬設(shè)備的開通和變更,須摒棄傳統(tǒng)網(wǎng)絡(luò)配置繁雜、業(yè)務(wù)上線遲緩、維護成本較高的模式,轉(zhuǎn)而采用更高效的、統(tǒng)一配置的管理工具和開放接口。
城軌云運用云計算和通信技術(shù),通過對城市軌道交通各業(yè)務(wù)系統(tǒng)信息的全面感知、深度互聯(lián)和智能融合,實現(xiàn)運營生產(chǎn)、運營管理、企業(yè)管理、建設(shè)管理及資源管理等業(yè)務(wù)領(lǐng)域的智能化、智慧化。隨著城軌云技術(shù)的推進,網(wǎng)絡(luò)虛擬化作為城軌云IaaS(基礎(chǔ)設(shè)施即服務(wù))層服務(wù)之一,須對PaaS(平臺即服務(wù))層、SaaS(軟件即服務(wù))層提供快速、彈性服務(wù),并構(gòu)建NaaS(網(wǎng)絡(luò)即服務(wù))層服務(wù)。為使網(wǎng)絡(luò)能滿足上層業(yè)務(wù)系統(tǒng)和智慧化應用變化的智能化需求,需對網(wǎng)絡(luò)架構(gòu)進行重構(gòu)。對此,城軌云引入了SDN(軟件定義網(wǎng)絡(luò))技術(shù),通過軟件對網(wǎng)絡(luò)資源進行抽象、管理,并提供自動化軟件定義網(wǎng)絡(luò)服務(wù),以適應云網(wǎng)資源池化、標準化下的隨動發(fā)展趨勢[1]。
城軌云充分利用云計算技術(shù),按照中心級和車站級兩級架構(gòu)進行部署。在正常情況下,由中心級云平臺完成業(yè)務(wù);當中心級云平臺不可用時,車站級云節(jié)點作為后備模式,提供降級服務(wù)。
中心級云平臺由生產(chǎn)中心和災備中心構(gòu)成。生產(chǎn)中心和災備中心采用大帶寬傳輸通道鏈接。中心級云平臺分為安全生產(chǎn)網(wǎng)、內(nèi)部管理網(wǎng)、外部服務(wù)網(wǎng)。其中,安全生產(chǎn)網(wǎng)與內(nèi)部管理網(wǎng)邏輯隔離,內(nèi)部管理網(wǎng)與外部服務(wù)網(wǎng)物理隔離。
安全生產(chǎn)網(wǎng)部署了列車運行自動監(jiān)控系統(tǒng)、自動售檢票系統(tǒng)、綜合監(jiān)控系統(tǒng)、乘客信息服務(wù)系統(tǒng)及門禁系統(tǒng)等;內(nèi)部管理網(wǎng)部署了運營管理、企業(yè)管理、資產(chǎn)管理系統(tǒng)等;外部服務(wù)網(wǎng)部署了互聯(lián)網(wǎng)購票、外部門戶等公眾性服務(wù)應用。
云網(wǎng)在實現(xiàn)OpenStack架構(gòu) Neutron模塊解耦和輕量級管理的基礎(chǔ)上,將Neutron模塊同SDN或NFV(網(wǎng)絡(luò)功能虛擬化)通過北向API(應用程序接口)對接,將計算能力與云網(wǎng)的網(wǎng)絡(luò)能力相結(jié)合,提供動態(tài)可編程能力,實現(xiàn)網(wǎng)隨云動,使網(wǎng)絡(luò)按照云的要求提供網(wǎng)絡(luò)資源。云網(wǎng)在提升資源利用率和業(yè)務(wù)可靠性的同時,還實現(xiàn)了業(yè)務(wù)部署和管理的敏捷性。因NFV技術(shù)運用于電信運營商網(wǎng)絡(luò)服務(wù)中,SDN技術(shù)運用于園區(qū)網(wǎng)絡(luò)和數(shù)據(jù)中心,故本文僅針對SDN進行研究。
重構(gòu)前,云網(wǎng)的網(wǎng)絡(luò)資源管理粗放,成本較大,較難支持業(yè)務(wù)系統(tǒng)柔性網(wǎng)絡(luò)需求;獨立的網(wǎng)絡(luò)資源管理方式,難以適應業(yè)務(wù)融合的需求;在實現(xiàn)VM(虛擬機)計劃內(nèi)或計劃外遷移時,網(wǎng)絡(luò)資源與安全策略隨動實現(xiàn)成本大;云上業(yè)務(wù)和云下業(yè)務(wù)統(tǒng)籌管理時,網(wǎng)絡(luò)與帶寬調(diào)度、管理欠靈活。為解決上述問題,需對云網(wǎng)進行重構(gòu)。
VM遷移的主要資源包括CPU(中央處理器)、內(nèi)存、存儲、網(wǎng)絡(luò)。在完成資源同步后,由源主機釋放VM資源,由目的主機激活對應的VM,則VM正常運行。
2.1.1 內(nèi)存遷移
VM根據(jù)服務(wù)器整體資源占用情況,選擇目的主機,確定目的主機可否提供相應資源。按照迭代算法,先熱同步臟頁,再冷同步臟頁。在熱同步時,VM保持運行;在冷同步時,VM停止服務(wù)[2]。
2.1.2 存儲遷移
通常采用NFS(網(wǎng)絡(luò)文件系統(tǒng))來共享數(shù)據(jù)和文件系統(tǒng)。此方式不需采用本地存儲設(shè)備,也不需大容量磁盤遷移,不會對網(wǎng)絡(luò)帶寬造成影響。但NFS共享存儲的方式僅局限于局域網(wǎng)內(nèi)的VM動態(tài)管理。在局域網(wǎng)環(huán)境下,增加機器數(shù)量會使網(wǎng)絡(luò)環(huán)境復雜,從而降低虛擬計算環(huán)境的可擴展性。在廣域網(wǎng)環(huán)境下,如以NFS方式進行磁盤遷移,則會加重網(wǎng)絡(luò)負擔,導致網(wǎng)絡(luò)延遲[2]。
2.1.3 網(wǎng)絡(luò)狀態(tài)遷移
VM遷移需要遷移協(xié)議狀態(tài)及IP(網(wǎng)際互聯(lián)協(xié)議)地址等網(wǎng)絡(luò)狀態(tài)與之前保持一致。為實現(xiàn)無縫遷移,局域網(wǎng)中可利用ARP(地址解析協(xié)議)技術(shù)綁定源VM的IP地址和目的主機。在廣域網(wǎng)中,可利用IP隧道代理重定向技術(shù)及動態(tài)DNS(域名解析)等技術(shù)構(gòu)建大二層網(wǎng)絡(luò)。在實際應用中可選擇SDN技術(shù)進行監(jiān)測、觸發(fā)和策略選擇[2]。
SDN技術(shù)采用轉(zhuǎn)發(fā)與控制分離的架構(gòu),可提升復雜協(xié)議運算收斂速度與效率,提升傳輸帶寬的調(diào)配效率,提高資源利用率,提升運維工作效率,降低運維成本,并提高底層基礎(chǔ)物理設(shè)施虛擬網(wǎng)絡(luò)的可擴展性。其通過實現(xiàn)可編程性,能實現(xiàn)QoS(服務(wù)質(zhì)量)保證[3]。
2.2.1 SDN架構(gòu)
SDN架構(gòu)如圖1所示。
圖1 SDN體系架構(gòu)圖
應用平面通過北向API與控制平面對接,通過與控制層通信,實現(xiàn)對轉(zhuǎn)發(fā)平面網(wǎng)絡(luò)設(shè)備的配置、管理和控制[4]。
控制平面指SDN控制器。1個控制器可以控制多臺設(shè)備,甚至可以控制其他控制器;1個設(shè)備也可被多個控制器控制??刂破骺梢允?臺專門的物理設(shè)備,也可運行在多臺集群物理服務(wù)器上,還可通過VM方式進行部署。
南向接口負責控制器與網(wǎng)絡(luò)設(shè)備的通信。只有接口標準化,SDN技術(shù)才能擺脫硬件的束縛,否則采用SDN技術(shù)的軟件及硬件很難解耦。
轉(zhuǎn)發(fā)平面對應路由器、交換機,或者是虛擬交換機之類的網(wǎng)絡(luò)設(shè)備,通過南向接口接收控制層下發(fā)的管理、配置、控制等指令,并主動上報實時狀態(tài)。
2.2.2 SDN控制器
控制器是SDN網(wǎng)絡(luò)的邏輯控制中心,通過多異構(gòu)網(wǎng)絡(luò)設(shè)備的去“智能化”,使之完全服從控制器的管理指揮,實現(xiàn)控制和轉(zhuǎn)發(fā)功能的解耦。在城軌云架構(gòu)下,如控制器需管理大量設(shè)備,建議采用分布式集群技術(shù)以保障設(shè)備的高性能和高可用性,并采用高性能數(shù)據(jù)庫來實現(xiàn)對網(wǎng)絡(luò)和設(shè)備狀態(tài)的管理。
此外,還需關(guān)注SDN控制器的擴展性能和安全防護能力??刹捎媚K化設(shè)計,防范大量偽裝的合法有效報文攻擊SDN控制器[5]。
2.2.3 接口
SDN控制器通過南向接口協(xié)議完成對廠商設(shè)備的管理和配置,進行鏈路發(fā)現(xiàn)、拓撲管理、策略制定、表項下發(fā)等操作。南向接口協(xié)議有OpenFlow、NETCONF(Network Configuration Protocol)及PCEP(Path Computation Element Protocol)等。
采用OpenFlow協(xié)議的交換機不再進行地址學習及路由計算。控制器通過二層標準協(xié)議LLDP (鏈路層發(fā)現(xiàn)協(xié)議)來收集域內(nèi)網(wǎng)絡(luò)設(shè)備標志和狀態(tài),對拓撲中鏈路進行管理,并下發(fā)流表到交換機;交換機根據(jù)流表和流表項進行數(shù)據(jù)轉(zhuǎn)發(fā)[2]。鏈路發(fā)現(xiàn)與拓撲管理可解決城軌云架構(gòu)下的網(wǎng)絡(luò)資源與安全等資源同計算資源隨動的需求,降低了人工配置的復雜性。鏈路發(fā)現(xiàn)與拓撲管理實現(xiàn)原理如圖2所示。
圖2 鏈路發(fā)現(xiàn)與拓撲管理實現(xiàn)原理
SDN控制器北向接口位于控制平面和應用平面之間。北向接口將控制器提供的網(wǎng)絡(luò)能力和信息進行抽象,并開放給應用層。在城軌云架構(gòu)下,北向接口與OpenStack平臺的Neutron模塊進行對接。
東西向接口能解決多個設(shè)備控制平面之間的協(xié)同工作和擴展性問題[6]。
為提高城市軌道交通數(shù)據(jù)中心的資源利用率,降低運維管理復雜度,也為了解決部署效率低的問題,需SDN網(wǎng)絡(luò)結(jié)合云計算架構(gòu)進行云網(wǎng)重構(gòu)的場景演進。OpenStack平臺是開源的IaaS云計算平臺,也是云平臺的云操作系統(tǒng),主要由計算(Nova)、對象存儲(Swift)、網(wǎng)絡(luò)(Neutron)等模塊組成。Nova模塊負責管理和維護計算資源,以及整個云環(huán)境虛擬機生命周期的管理。Neutron模塊用于網(wǎng)絡(luò)虛擬化,能提供較完整的2層到7層網(wǎng)絡(luò)的虛擬化功能和對應的API。Neutro模塊通過南向接口來實現(xiàn)與SDN控制器的對接,并實現(xiàn)OpenStack同SDN控制器及網(wǎng)絡(luò)設(shè)備的互通,從而實現(xiàn)云網(wǎng)虛擬化的基礎(chǔ)功能[1]。
按照OpenStack平臺的架構(gòu),Neutron模塊管理OpenStack環(huán)境中所有虛擬網(wǎng)絡(luò)基礎(chǔ)設(shè)施和物理網(wǎng)絡(luò)基礎(chǔ)設(shè)施的接入層;Nova模塊在支持各種虛擬化技術(shù)條件下,負責響應VM的創(chuàng)建請求、調(diào)度及銷毀等指令。云網(wǎng)虛擬化的關(guān)鍵,是在Neutron模塊和Nova模塊的基礎(chǔ)上,實現(xiàn)Neutron模塊與SDN控制器北向API的對接。
云網(wǎng)虛擬化需分域和分層次部署SDN控制器,以實現(xiàn)網(wǎng)絡(luò)資源配置、調(diào)度和管理的轉(zhuǎn)、控分離,實現(xiàn)業(yè)務(wù)部署的簡化和自動化,進而提供敏捷服務(wù),提高云下業(yè)務(wù)遷移上線的速度;此外,在多層、多域、多廠家組網(wǎng)的復雜網(wǎng)絡(luò)中,云網(wǎng)虛擬化能提供端到端的管理和控制能力,提供精細控制粒度,提高系統(tǒng)資源利用率和運維效率。
業(yè)務(wù)發(fā)放步驟為:首先,網(wǎng)絡(luò)管理員通過SDN控制器,實現(xiàn)各業(yè)務(wù)系統(tǒng)對網(wǎng)絡(luò)資源的具體需求,并將網(wǎng)絡(luò)資源分配給指定的業(yè)務(wù)系統(tǒng);然后,計算管理員按照各業(yè)務(wù)系統(tǒng)的計算資源及存儲資源需求,通過VMM(虛擬機監(jiān)控器)對計算和存儲資源進行創(chuàng)建、發(fā)放、遷移或刪除等操作;最后,SDN控制器感知到VMM對計算資源操作后,按照策略實現(xiàn)網(wǎng)絡(luò)互通和策略配置[1]。
具體流程為:通過城軌云管理平臺和SDN控制器,對接計算虛擬化插件與網(wǎng)絡(luò)虛擬化插件,由SDN控制器和計算虛擬平臺共同下發(fā)業(yè)務(wù),進而實現(xiàn)計算資源與網(wǎng)絡(luò)資源的協(xié)同發(fā)放和云網(wǎng)聯(lián)動。
重構(gòu)后的云網(wǎng)以云為基礎(chǔ),以網(wǎng)絡(luò)為通道,以基礎(chǔ)設(shè)施資源為導向,能提供網(wǎng)絡(luò)資源層、計算資源層及應用服務(wù)層的協(xié)同服務(wù)。
生產(chǎn)中心與災備中心各自構(gòu)建其局域網(wǎng)的網(wǎng)絡(luò)資源層。通過光傳送網(wǎng)或分組傳送網(wǎng)等技術(shù),實現(xiàn)了生產(chǎn)中心和災備中心的數(shù)據(jù)互通;通過線路傳輸系統(tǒng),實現(xiàn)了中心級云平臺與車站級云節(jié)點的網(wǎng)絡(luò)資源互通。在SDN架構(gòu)下,中心級云平臺與車站級云節(jié)點實現(xiàn)了網(wǎng)絡(luò)軟件化,可為各業(yè)務(wù)系統(tǒng)提供統(tǒng)一的網(wǎng)絡(luò)資源能力:計算資源層主要提供計算、存儲能力的虛擬化方案以及相關(guān)產(chǎn)品;應用服務(wù)層包含運營生產(chǎn)、運營管理、企業(yè)管理、資源管理、建設(shè)管理等各類業(yè)務(wù)系統(tǒng),可實現(xiàn)業(yè)務(wù)系統(tǒng)的云上及云下多點部署、單點接入、全網(wǎng)服務(wù),確保業(yè)務(wù)系統(tǒng)不受云平臺三網(wǎng)(安全生產(chǎn)網(wǎng)、內(nèi)部管理網(wǎng)及外部服務(wù)網(wǎng))內(nèi)VDC(虛擬數(shù)據(jù)中心)的分級限制。重構(gòu)后的云網(wǎng)能實現(xiàn)三網(wǎng)內(nèi)各業(yè)務(wù)系統(tǒng)端到端的整體安全保障,能保證三網(wǎng)內(nèi)業(yè)務(wù)系統(tǒng)的部署及遷移具有高度靈活性,可滿足各業(yè)務(wù)系統(tǒng)在網(wǎng)內(nèi)VM遷移時的網(wǎng)隨云動特性[7]。
當VM漂移或上線后,OpenStack平臺的Nova模塊通知Neutron模塊對vSwitch(虛擬交換機)進行VLAN(虛擬局域網(wǎng))配置;Neutron模塊向SDN控制器通告VM上線信息,并對NVE(網(wǎng)絡(luò)虛擬邊緣)節(jié)點配置Port(接口)+VLAN到VNI(虛擬網(wǎng)絡(luò)接口)的映射關(guān)系,同時下發(fā)二層廣播及單播轉(zhuǎn)發(fā)表;SDN控制器對VXLAN(虛擬擴展局域網(wǎng))配置VNI和vBDIF(網(wǎng)域邏輯接口),并管理VRF(虛擬路由轉(zhuǎn)發(fā)),根據(jù)VM上線信息向網(wǎng)管下發(fā)ARP、MAC(物理地址)及隧道表信息等。
城軌云平臺通過云網(wǎng)重構(gòu)管理界面,實現(xiàn)了計算資源和網(wǎng)絡(luò)資源的統(tǒng)一管理,如圖3所示。業(yè)務(wù)管理員通過管理界面統(tǒng)一創(chuàng)建計算資源和網(wǎng)絡(luò)資源,通過Nova模塊實現(xiàn)計算資源的管理與發(fā)放,通過Neutron模塊的API和SDN控制器互通,實現(xiàn)了網(wǎng)絡(luò)資源即服務(wù)能力。
圖3 云網(wǎng)一體化方案
業(yè)務(wù)管理員通過云平臺界面在SDN控制器同網(wǎng)絡(luò)設(shè)備及服務(wù)器之間進行協(xié)調(diào)交互,將計算資源和網(wǎng)絡(luò)資源分配給指定的業(yè)務(wù)系統(tǒng)或租戶,進而實現(xiàn)計算資源、存儲資源及網(wǎng)絡(luò)資源的自動創(chuàng)建、刪除和遷移等操作,不需人工配置和干預[1]。
生產(chǎn)中心與災備中心分別部署了OpenStack平臺和SDN控制器,以實現(xiàn)OpenStack的Neutron模塊解耦,并與SDN控制器北向API對接。
生產(chǎn)中心與災備中心在各自O(shè)penStack平臺上實現(xiàn)運維管理。為滿足穩(wěn)定性和經(jīng)濟性要求,生產(chǎn)中心與災備中心可采用1套云管理平臺,即可同時實現(xiàn)OpenStack平臺與虛擬化資源,以及SDN與網(wǎng)絡(luò)設(shè)備的對接。
當生產(chǎn)中心和災備中心的VDC分別部署VPC(虛擬私有云)時,若要實現(xiàn)生產(chǎn)中心VPC和災備中心VPC的互通,就需先實現(xiàn)網(wǎng)絡(luò)層互通,再通過人工配置靜態(tài)路由,打通生產(chǎn)中心和災備中心的通道,且要求所有VDC的IP地址不重復[8]。生產(chǎn)中心及災備中心云網(wǎng)一體化部署方案如圖4所示。
圖4 生產(chǎn)中心及災備中心云網(wǎng)一體化部署方案
標準化、歸一化設(shè)計的基礎(chǔ)設(shè)施層,為網(wǎng)絡(luò)化、虛擬化、計算虛擬化,以及業(yè)務(wù)平臺、大數(shù)據(jù)系統(tǒng)及應用提供了通用化標準。
網(wǎng)絡(luò)功能層重點實現(xiàn)網(wǎng)絡(luò)功能軟件化,通過部署SDN控制器來實現(xiàn)控制與轉(zhuǎn)發(fā)分離功能及網(wǎng)元設(shè)備的軟硬件解耦,進而實現(xiàn)網(wǎng)絡(luò)自動化部署。在資源池中部署虛擬負載均衡器及虛擬防火墻,以統(tǒng)一云資源池的承載能力,提高云平臺與業(yè)務(wù)系統(tǒng)之間的安全隔離。
云網(wǎng)以云平臺為基礎(chǔ),統(tǒng)籌考慮業(yè)務(wù)平臺、大數(shù)據(jù)平臺及網(wǎng)元虛擬化,按統(tǒng)一管理、統(tǒng)一調(diào)度、資源共享的原則,構(gòu)建統(tǒng)一的云網(wǎng)基礎(chǔ)設(shè)施,實現(xiàn)云網(wǎng)資源池的統(tǒng)一管理。
云網(wǎng)重構(gòu)后,全網(wǎng)資源池統(tǒng)一納管編排、集中運維監(jiān)控、分權(quán)分域使用。在端側(cè),可實現(xiàn)端到端的快速部署,實現(xiàn)不分專業(yè)、不分云上與云下的網(wǎng)絡(luò)資源集中管理、按需分配。云網(wǎng)對網(wǎng)絡(luò)資源池的統(tǒng)一呈現(xiàn)、統(tǒng)一管理及統(tǒng)一維護,實現(xiàn)了資源跨部門的統(tǒng)一調(diào)度和分配自動化、彈性化,具備了資源動態(tài)伸縮能力。重構(gòu)的云網(wǎng)從分散式轉(zhuǎn)為集約式,管道從硬件轉(zhuǎn)為軟件,實現(xiàn)了云、管、端一體化運營[7]。
城軌云云網(wǎng)一體化架構(gòu)引入軟件定義網(wǎng)絡(luò)技術(shù),以軟件對網(wǎng)絡(luò)資源進行虛擬化和抽象化,以軟件定義實現(xiàn)自動化網(wǎng)絡(luò)服務(wù),可有效支撐城軌云數(shù)據(jù)中心上層業(yè)務(wù)的需要,提高業(yè)務(wù)上線和運維效率,適應網(wǎng)絡(luò)設(shè)備資源池化和標準化的發(fā)展趨勢。本文對SDN架構(gòu)的各接口及相關(guān)技術(shù)進行研究,從而明確了云網(wǎng)重構(gòu)的一體化部署思路。