?
IaaS云平臺資源池網絡管理子系統的設計與實現*
任易1,2,李煒1,2
(1 北京郵電大學網絡與交換技術國家重點實驗室,北京 100876; 2 東信北郵信息技術有限公司,北京 100191)
摘 要隨著科技的進步和產業自動化水平的提高,計算能力作為一種資源越來越受到社會的重視和認可。云計算作為一項蓬勃發展的技術,在很大程度上解決了人們日益增長的對計算能力的需求。如今越來越多的企事業單位開始建立私有的IaaS云平臺以滿足其組織內部的IT需求。面對復雜多樣的組網需求,如何建立一個安全而可靠網絡已成為一個重要課題。本文旨在設計與實現一種通用的IaaS云平臺資源池的網絡管理系統,以滿足私有云建設中對網絡資源的納管需求。
關鍵詞IaaS;私有云;資源池;網絡管理
隨著科技的進步和產業自動化水平的提高,計算能力逐漸成為一種具有競爭力的資源,越來越得到社會的重視和認可。然而,以往由單一分離的計算機組成的計算系統已經難以滿足人們日益增長的對計算能力的需求。隨著網絡帶寬的不斷增長,通過網絡訪問遠程計算服務(包括數據處理、存儲和信息服務等)的條件越來越成熟,于是就有了今天我們稱作云計算的技術。
云計算根據其提供服務的不同層面可以分為IaaS,PaaS和SaaS。其中IaaS指的是用戶通過網絡可以從完善的計算機基礎設施獲得服務。IaaS將硬件設備等基礎設施封裝成服務供用戶使用,通過網絡向用戶提供計算機(物理機和虛擬機)、存儲空間、網絡連接、負載均衡和防火墻等基本計算資源。用戶在此基礎上部署和運行各種軟件,包括操作系統和應用程序。IaaS的最大優勢在于它允許用戶動態申請或釋放節點,按使用量計費。運行IaaS的服務器規模可達到幾萬臺之多,用戶因而可以認為能夠申請的資源幾乎是無限的。同時,IaaS是由公眾共享的,因而具有更高的資源使用效率。
本文旨在設計與實現一種通用的IaaS云平臺資源池系統的網絡管理系統。該系統需要能夠虛擬化資源池內的網絡基礎設施,滿足IaaS私有云平臺所需的網絡資源服務要求,包括公網IP服務、帶寬服務、虛擬防火墻服務、負載均衡服務等。資源池將由多個數據中心組成,因此既需要考慮數據中心內部組網,又要考慮跨中心組網的需求。最終目標是建設一個網絡安全性高,穩定性強,便于使用且具有良好擴展性的IaaS私有云網絡。
IaaS私有云由私有云管理平臺和一個或多個資源池系統組成。私有云管理平臺與資源池系統之間通過資源池管理接口連接。用戶和管理人員可以分別通過云管理平臺中的用戶自服務門戶和管理門戶使用和管理私有云。資源池自身也提供管理門戶,用來實現對資源池內部資源的基礎性管理工作。私有云平臺整體架構如圖1所示。
資源池系統是一個由資源池管理平臺,各種資源相關系統或設備以及連接上述平臺和設備的網絡所組成的實體集群。資源池管理平臺接受并執行來自私有云管理平臺的指令,完成對各種云計算IT資源進行管理、部署和調度等任務。它是包括計算、存儲及網絡等各種資源相關系統或設備組成的實體集群。
資源服務是包含于私有云服務中,可用于服務用戶的各類資源。資源可以分為計算資源、網絡資源和存儲資源3種基本類型,在軟件層面分別通過計算子系統、網絡子系統和存儲子系統實施納管。本文討論的網絡資源又可細分為公網IP資源、帶寬資源、虛擬防火墻和虛擬負載均衡資源等,在網絡管理子系統中分別由對應的模塊進行抽象、封裝和管理。資源池將網絡基礎設施作為服務對外提供,通過硬件虛擬化、安全隔離、集中管理和彈性資源調度等技術,將原本靜態分配的網絡基礎設施抽象為可管理、易于調度、按需分配的網絡資源,并封裝成各類網絡服務提供給用戶或上層管理系統。
2.1 設計原則
在網絡數據模型的設計過程中,需要考慮的因素很多而且復雜。這里介紹一些主要遵循的設計原則。
(1)安全性:主要是指資源池各數據中心之間互相不受影響,數據中心內部不同用戶的業務之間實現邏輯上的分離,如需外網接入時需要加入隔離區和適當的防火墻限制等。
(2)可靠性:需要考慮到實際組網中異常狀況的發生和對穩定性的需求,需要支持多節點冗余,遠程容災備份等。
(3)易使用:設計架構合理,模型與實際物理網絡對應關系明確,邏輯清晰,便于管理員和用戶使用。
(4)可擴展:資源池和云平臺的建設者可以根據自己的需求擴展網絡,包括網絡整體規模的擴建,內部子網的細分,底層計算虛擬化框架的異構等。

圖1 私有云平臺整體架構
2.2 設計方案
根據以上設計原則,通過實地調研和測試多種類型的物理組網結構,最終設計和實現的網絡數據模型如圖2所示。
(1)Region:是物理區域的抽象,一個地理上相對隔離的機房可以作為一個Region。在實際部署時,為了既能滿足容災備份的需要,又保證服務質量的要求,物理區域之間的距離一般在30~150 km之間。
(2)Pod:即數據中心,是一個物理區域內相對獨立的網絡、存儲和計算資源的總稱。Pod之間一般情況下沒有業務的交互,但也允許通過IP專網互通,以滿足特殊需求,如容災備份或多個數據中心的統一管理和調度。為便于統一化、規范化管理,一個Pod只包含一個虛擬化架構,如Vmware vSphere、Hyper-V和Xen等。如果一個物理區域內需要建立多個虛擬化架構,可以通過建立多個Pod的方式實現。
(3)Zone:即網絡區域,是數據中心內相互隔離的區域,這里的隔離指的是在數據鏈路層或網絡層做得邏輯隔離。劃分網絡區域的意義在于滿足用戶業務對網絡的差異化需求,比如網絡性能高低、網絡業務類別差異以及安全性差異等。具體的網絡區域劃分可根據實際業務需求和組網架構定制。這里提供一種比較通用的劃分方案僅供參考。
外部接入隔離區: 主要放置外部用戶可以直接訪問的服務器,如Portal服務器、遠程維護接入服務器等,是部署可通過公網訪問應用的區域。外部接入區從安全的角度來看,位于內部網絡和外部網絡之間,均通過防火墻隔離。用戶如想從數據中心外部訪問內部資源,需要先通過公共網絡進入外部接入區,再以該區域為跳板,通過NAT地址轉換來訪問對應的內部資源。
核心生產區:是最主要的內部服務區域,用來部署應用系統的核心應用,一般用戶的日常業務均在此部署。該區域通常是規模最大,安全防護等級最高的組網區域。
高性能服務區:該區域中的計算資源采用高性能的服務器,交換設備為單獨配置的高性能接入交換機,專門用來部署對計算速率和網絡帶寬要求較高的業務。
接入維護區:該區域用來滿足用戶遠程運維或現場代維需求,部署資源池及其上層接入管理平臺。區域內只包含網絡設備,其它所需設備(如計算設備、存儲設備等)根據用戶特定需求自行攜帶并接入網絡。
測試區:用于部署各類測試系統,滿足用戶對應用的開發和測試需求。該區域提供測試必須的底層網絡、計算和存儲資源,用戶可根據實際需求在其上部署軟件測試平臺或測評中心等上層專業系統。

圖2 網絡數據模型
(4)NetworkAsset:即網絡設備,主要包括交換機、路由器、防火墻和負載均衡器等。其中,交換機和路由器提供VLAN和IP的劃分和管理功能;防火墻提供公網IP帶寬控制和虛擬防火墻安全策略;負載均衡器則用來提供負載均衡服務。為了滿足多節點冗余的組網方式,網絡設備設計成抽象概念,它與多個網絡設備節點關聯,設備節點對應實際的物理節點。當網絡設備下的某個設備節點出現故障,其它節點可以接替其工作。網絡設備在資源池中一般不被直接使用,而是虛擬化為“池”后通過接口對外提供能力。
IpPool、VlanPool、LbPool和FwPool分別是IP、VLAN、負載均衡和防火墻服務池化后的對象。向上與網絡區域相關聯,向下對應具體的網絡設備。這些池化資源對象可以提供VLAN申請、IP綁定、公網IP申請、帶寬申請、負載均衡和虛擬防火墻等服務,在整個資源池網絡虛擬化中起至關重要的作用。當需要在網絡區域內調配網絡資源時,只需調用相應的池化資源對象接口,這些對象會控制與其相關聯的網絡設備完成具體操作。
以上數據模型對應資源池基礎網絡架構,在工程實施中,需要由專業的網絡工程師進行硬件(主要是交換機、路由器、防火墻、負載均衡器等)和軟件部署,并由網絡管理員進行配置和管理。下面將要介紹的是與用戶相關的業務網絡模型設計。
(5)Network:由用戶通過業務系統建立,當用戶建立Network時需要指定其所在的網絡區域、共享狀態和工作模式。一個業務下可建立多個Network,并對其進行資源計費、流量統計等統一控制。Network可以設置為共享狀態并共享給其它業務使用。用戶、業務和網絡之間的關系如圖3所示。
Network的工作模式有FLAT和VLAN兩種。
FLAT模式適用于對性能要求不高的簡單網絡,當Network在該模式下工作時,與網絡區域內的其它Network共享一個廣播域,會受到廣播風暴的干擾而影響性能。但該網絡模式架構簡單,對網絡設備要求較低。
當用戶對業務網絡性能和安全性要求較高時,宜選擇VLAN工作模式。VLAN劃分之后可以享受獨立的廣播域并與外界安全隔離,不同VLAN之間如需交互可以做VLAN互通配置(需要網絡層設備支持)。VLAN根據劃分方式的不同可以分為基于端口的VLAN,基于MAC地址的VLAN,基于IP的VLAN和基于策略的VLAN,其中基于端口的VLAN的劃分是最簡單、有效的VLAN劃分方法,建議在實際組網時優先考慮。
(6)Subnet:Network是一個抽象的概念,只負責邏輯網絡的劃分。而Subnet用來承載具體的網絡IP和計算資源。當用戶需要建立計算集群時,需要在Network下申請指定大小的Subnet,IpPool則會根據需求為其分配相應的IP地址段。之后,用戶就可以通過計算資源的接口申請虛擬機并綁定至當前Subnet中的IP地址上。
資源池網絡管理子系統內的基礎設施通過底層驅動、池化、接口封裝等處理步驟最終以服務的形式開放給用戶使用和管理。用戶在操作過程中只需關注所要申請的資源而無需感知具體網絡設備的存在。目前網絡管理子系統提供的服務可以分為以下幾種類型。
3.1 申請內網IP服務
用戶在構建Subnet搭建集群時不僅需要指明其所屬的Network,還需要為其申請相應的IP資源,用以在內網中綁定集群的計算節點、負載均衡器、防火墻等設備。這個過程在申請Subnet的請求中自動進行,用戶只需在私有云管理平臺中指定Subnet的規模(一般以計算節點數量為標準),資源池網絡管理子系統就會通過IpPool為其申請適當大小的IP地址段。一般來說,為了防止IP地址碎片的產生,IpPool采用首次適配算法并且將IP地址段定為2的整數次冪大小。所申請的內網IP地址段隨Subnet共同記錄在資源池系統中并一起返回給申請用戶。

圖3 用戶、業務和網絡關系圖
3.2 綁定公網IP地址服務
用戶可以申請公網IP地址來綁定其業務內的計算資源,從而實現通過外網控制和部署計算集群的功能。首先,用戶在私有云管理平臺上選擇所需綁定的公網IP地址和計算資源。接著,私有云管理平臺檢查公網IP地址是否已經處于綁定狀態,若處于綁定狀態,則告知用戶公網IP地址處于綁定狀態無法再次綁定;私有云管理平臺檢查公網IP地址和計算資源是否屬于同一資源池系統的同一安全域內,若不屬于同一資源池系統的同一安全域內,則告知用戶錯誤信息。通過以上驗證之后,私有云管理平臺向公網IP地址所在的資源池系統發起公網IP地址綁定請求,資源池系統將公網IP地址綁定到計算資源并將公網IP地址綁定響應返回給私有云管理平臺,私有云管理平臺告知用戶公網IP地址綁定結果。
3.3 公網帶寬服務
用戶可以按不同速率大小配置租賃公網帶寬,計算資源的帶寬業務未開通或取消時,資源池系統在交換機和防火墻上設置公網流量的限速為最低限速,以保證計算資源在公網內可以訪問。當用戶申請公網IP后,才可以申請帶寬租賃業務,申請的帶寬與公網IP關聯。當公網IP取消時,與之關聯的帶寬也一并取消。計算資源的帶寬更改實際為退訂舊帶寬業務和訂購新帶寬業務的組合。
帶寬服務開通時,用戶通過私有云管理指定使用帶寬的公網IP地址,由私有云平臺生成資源訂單并向資源池系統發起公網帶寬申請請求。資源池系統在防火墻上根據公網IP地址做公網流量限速,當任意計算資源綁定該公網IP地址后,將獲得與該IP地址相關的公網帶寬。最后,資源池系統將帶寬申請響應返回給私有云管理平臺,私有云管理平臺保存用戶帶寬資源信息并告知用戶帶寬分配結果。
3.4 虛擬防火墻服務
虛擬防火墻通過對物理防火墻進行虛擬化實現,每個虛擬防火墻均可以看成是一臺完全獨立的防火墻設備,彼此之間互不干擾,并擁有獨立的系統資源、接口、路由表、會話表、安全配置策略、用戶管理等功能。用戶可以通過私有云管理平臺為自己的業務系統申請虛擬防火墻。用戶首先在管理界面選擇計算資源所屬的業務系統,接著對虛擬防火墻的具體參數(如防火墻資源需求,管理的計算資源IP列表,防火墻服務描述信息等)進行配置,由私有云平臺生成資源訂單并向資源池系統發起虛擬防火墻申請請求。在資源池系統創建虛擬防火墻期間,私有云管理平臺定期向資源池系統發起狀態查詢請求,資源池系統向私有云管理平臺返回虛擬防火墻狀態查詢響應。當私有云管理平臺查詢到虛擬防火墻狀態由創建中轉為就緒時,私有云管理平臺保存申請成功的虛擬防火墻信息并告知用戶虛擬防火墻分配結果,從而完成虛擬防火墻申請流程。
虛擬防火墻申請成功后,用戶可在業務系統服務門戶中對虛擬防火墻進行配置和修改,并查看其監控信息。
3.5 負載均衡服務
用戶可以為自己業務系統內的一組計算資源設置負載均衡服務。通過私有云管理平臺發起申請負載均衡資源請求,用戶首先在管理界面選擇計算資源所屬的業務系統,接著對負載均衡的具體參數(如負載均衡策略、流量協議、負載均衡服務描述信息等)進行配置,由私有云平臺生成資源訂單并向資源池系統發起負載均衡申請請求。資源池系統根據請求參數在負載均衡設備上配置負載均衡策略和計算資源服務器的IP列表,并將負載均衡資源編號和負載均衡的入口IP等信息返回給私
有云平臺。私有云管理平臺保存用戶負載均衡資源信息并告知用戶負載均衡分配結果,從而完成負載均衡申請流程。
一個性能良好,可靠性高的資源池網絡框架,是建設IaaS私有云平臺必不可少的基礎。實現一個架構合理,可用性強,擴展性高的網絡管理子系統已經成為各企事業單位網絡建設的迫切所需。本文介紹的設計方案很好地滿足了這方面的需求,適用于多物理地區、多數據中心的擴展需求,也支持多種計算和存儲虛擬化架構,可供不同規模、不同需求的單位根據實際情況選擇具體實現。本文成果已在中國移動浙江資源池項目建設中實踐,目前已經取得了良好的進展。
參考文獻
[1]劉鵬. 云計算(第2版)[M]. 北京:電子工業出版社, 2011.
[2]羅嗣彬. IaaS中資源池接口模塊的設計與實現[D]. 北京:北京郵電大學, 2013.
[3]李小康. IaaS私有云資源池管理平臺[D]. 北京:北京郵電大學, 2013.
[4]謝希仁. 計算機網絡[M]. 北京: 電子工業出版社, 2008: 2642-267.
[5]李小康. IaaS云資源池中VLAN劃分及IP池管理[J]. 電信工程技術與標準化, 2013.
Design and implementation of resource pool network management subsystem for IaaS cloud platform
REN Yi1, 2, LI Wei1, 2
(1 State Key Lab of Networking and Switching Technology, Beijing University of Posts and Telecommunications, Beijing 100876, China; 2 EBUPT Information Technology Co., Ltd. Beijing 100191, China)
Abstract With the rapid improvement of technology and automation, computing power, as a kind of resource, is getting more and more attention and recognition. Cloud computing, which is a burgeoning technology, has solved people’s increasing demand for computing ability to a great extent. At present, more and more enterprises and organizations begin to build their own IaaS private cloud platform in order to meet their inner IT requirements. Faced with complicated network demands, how to build a safe and reliable network system become an important topic. This paper will introduce a design and implementation of resource pool network management system for IaaS cloud platform, which can provide a general way to supervise network resources in private clouds.
Keywords IaaS; private cloud; resource pool; network management
* 基金項目:國家973計劃項目(編號:2013CB329102);國家自然科學基金資助項目(No. 61471064,61372120, 61271019, 61101119, 61121001);長江學者和創新團隊發展計劃資助(編號:IRT1049);教育部科學技術研究重點(重大)項目資助(編號:MCM20130310);北京高等學校青年英才計劃項目(編號:YETP0473)。
收稿日期:2014-12-26
文章編號1008-5599(2015)02-0053-06
文獻標識碼A
中圖分類號TN915