呂元?!』蒈把?/p>
【摘 要】高校是網絡用戶的集中地,資源豐富,但是利用率卻不高,實驗環境部署冗雜,網絡資源交付過程緩慢。為了解決這些問題,本文利用開源的資源管理平臺OpenStack來構建學校的私有云基礎架構。結合校園網絡環境,對云平臺類型的選擇、架構的設計、網絡的設計進行分析、說明;云平臺搭建過程中,對于需要的基礎環境以及節點功能組件配置和網絡配置進行分析、說明。最終實現了校園網私有云計算平臺的搭建,平臺搭建完成后提供了云管理系統,實現統一管理,提高運行和維護的效率,實現基礎應用環境和測試環境。
【關鍵詞】校園網;云計算;OpenStack
【Abstract】Universities are concentrated of the internet users,it was rich in resources,but its utilization rate is not high,the experimental environment jumbled to deploy,network resource delivery process is slow.To solve these problems,we use open source resource management platform OpenStack to build the schools private cloud infrastructure. Combined with the campus network environment,to analysis and show the choice of the type of cloud platform,the design of architecture and network.The process of building the cloud platform,analysis and shows the basis and needed environmental,the node functional components configuration and network configuration.Finally finished to build a campus private cloud computing platform,the platform provides a cloud management system,to achieve unified management,provides operation and maintenance efficiency,realize the basic application and test environments.
【Key words】Campus network; Cloud computing; OpenStack
0 引言
云計算時代的今天,數據中心架構和技術正在向著開源、融合的方向邁進,開源及融合的概念被越來越多的體積并成為新時代人們對產業失誤發展進化的一種共識[1]。云計算[2]是基于互聯網的相關服務的增加,使用和交付模式,通過互聯網提供動態易擴展且虛擬化的資源。云計算的體系結構的特點包括:設備眾多,規模較大,利用了虛擬化技術,提供任意地點和各種設備的接入,并可以定制服務質量等[3]。OpenStack[4]是一個由NASA和Rackspace合作研發并發起的,以Apache許可證授權的自由軟件和開放源代碼項目。云計算時代的今天,數據中心架構和技術正在向著開源,融合的方向邁進。在這樣的趨勢下,作為一個幾乎支持所有類型云環境的開源云計算管理平臺,OpenStack在近幾年增長迅速,成為引領開放融合云計算發展的一個主導力量。
目前,高校是網絡用戶較為集中的地方,網絡,計算和存儲等資源十分豐富。隨著云計算技術的成熟,云計算已然成為高校信息化建設和發展的新模式,私有云也隨之成為主流模式。因此在校園網絡環境構建一個具有合理架構,建設一種資源可管理和交付的,滿足校園業務需求的OpenStack私有云計算平臺是必不可少的。本文提供校園網搭建云平臺的基本環境和基本架構,采用資源池化的方式進行私有云的建設,解決校園網服務器資源得不到合理利用和存在訪問高峰的問題;在平臺搭建過程中對各個方面的相關配置,實現資源的整合以及動態交付,提高物力資源的利用率;平臺搭建完成后提供云管理系統,實現統一管理,提高運行和維護的效率,實現基礎應用環境和測試環境。
1 云平臺的整體架構設計
云計算有很多種不同類型的部署方式和運營方式,OpenStack也具有多種功能組件。所以本節結合校園網絡環境分析說明云平臺類型選擇,云平臺架構設計以及云平臺網絡設計。
校園網絡環境具有多種業務的需求,其中的基本服務包括計算、網絡、存儲,每種服務都有不同的資源需求,所以云平臺架構選擇的是通用性云,它將被設計為平衡的組件,在整體的計算環境中不強調某個特定的領域。對于計算、網絡、存儲等組件來說,云的設計有必要的公平權衡,這樣可以適用于校園環境的各種用例。
1.1 云平臺設計的類型節點
云平臺架構主要設計三種類型節點:控制節點、網絡節點、計算節點。
控制節點的設計:在控制器安裝Horizon模塊為云用戶和管理員提供圖形化界面;安裝Keystone模塊為的是驗證用戶身份和訪問服務目錄的權限;安裝Swift模塊可以提供對象存儲;Glance模塊主要是提供Image鏡像的存儲;Cinder模塊則是提供block存儲??刂破鞯幕A設施節點可以提供管理服務給最終用戶,還可以在云內部為運行和維護提供服務。控制器較典型的現象[6],就是運行消息隊列服務,在每個服務之間攜帶傳遞系統消息。控制器服務的性能不僅僅限于處理器的處理能力,也受限于服務的并發用戶。
網絡節點的設計:遺留的網絡服務主要是一個二層的網絡服務,云運維人員負責遺留網絡的網絡管理。網絡節點將安裝OpenStack網絡服務組件,提供給租戶訪問網絡的權限,并且還可以管理和創建網絡資源。基于已有的網絡基礎設施來封裝通信路徑,來實現給租戶的流量分段。這些方法依賴于特殊的實現方式,例如GRE隧道,VXLAN封裝和VLAN標簽。本文采用了VXLAN來實現節點間通信。在網絡節點安裝的Neutron模塊具有管理云平臺局域網的功能,用戶可以通過web接口創建網絡,路由和DHCP等服務,還可針對路由和協議配置訪問控制策略。
計算節點的設計:計算節點選擇硬件規格包括了CPU,內存以及磁盤類型,硬件規格和OpenStack的服務優化參數會直接影響到實例的性能。本文主要是搭建一個通用性的云平臺,所以OpenStack環境使用默認的配置。計算節點使用一致的硬件來設計資源池中的節點,這樣對資源池會有積極作用,可以更易部署,支持和維護云。在計算節點安裝OpenStack的nova模塊相關組件,通過Nova組件控制整個云平臺的計算資源的調度,所以將它單獨部署在一臺節點上。Nova模塊的主要功能是實現OpenStack Compute的相關服務,因此Nova是整個云平臺IaaS的核心模塊,它生成一個抽象層,以此來實現資源的虛擬化,提高自動化部署云主機的效率。
1.2 云平臺的網絡架構
1.2.1 云平臺的網絡拓撲
一般傳統的網絡設計把網絡分為業務網段和管理網段。云平臺按照傳統網絡的架構來部署,多增加一個網段節點間的通信網段。云平臺的網絡設計,主要是針對提供云主機服務的計算,網絡資源來設計的。圖1為云平臺網絡架構圖。
圖中根據防火墻的三個接口,對整個拓撲進行安全域的劃分,不同的安全域可以在防火墻進行不同的訪問控制策略,并且為了避免流量嗅探,局域網攻擊等一些網絡攻擊方式,把云平臺網絡區域劃分三個網段,以此來增強云平臺的安全性。
圖1中云平臺區域總共劃分三個網段[5]:網段一為圖中VXLAN,它是通信網段,用來計算節點,為的是實現云主機間進行相互通訊和隔離;網段二是圖中br-ex,它是外網網段,用來為云主機提供訪問外網的路由功能,圖中web-api是給用戶和管理員提供web接口,通過瀏覽器可以登錄云平臺的web控制面板進行操作;網段三是圖中標注的管理網段,用于云管理員對服務器的管理和維護網段,主要是針對硬件資源的管理,同時也方便管理員在服務器上部署新的應用和管理工具。
本文采用VXLAN來實現節點間的通信,計算節點和網絡節點間主要功能組件設計安裝如下圖2所示。
1.2.2 網絡節點設計
網絡節點主要處理外部和內部的虛擬路由和DHCP服務的,如圖1所示。網絡節點安裝neutron的二層插件ML2,目的是實現節點間的二層通信,ML2插件使用OVS機制為實例建立虛擬的網絡架構;為虛擬網絡提供路由服務需要安裝Layer-3 agent插件,通過添加外部網橋實現物理上的連通性;為虛擬網絡提供DHCP服務需要安裝DHCP代理插件(如果這里配置錯誤,OpenStack會產生實例,獲取不到ip地址);安裝OVS服務是為了給實例提供底層虛擬網絡框架,集成網橋br-int處理OVS內實例內部網絡的流通。外部網橋br-ex處理OVS內實例外部網絡的流通。外部網橋需要提供外部網絡接口來訪問實例外部網絡。
1.2.3 計算節點設計
計算節點主要處理是實例的連通性及安全性。安裝相關認證機制、消息代理和插件的網絡通用組件。認證機制的安裝和調試可以使網絡組件正常訪問其他的服務組件,然后進行交互;消息代理的正確配置使計算節點與其他節點可以進行節點間的消息交互和合作工作;對網絡通用組件的安裝和調試,啟用ML2插件,路由服務,overlapping IP addresses特性:ML2插件使用OVS機制創建實例的虛擬網絡,OVS服務為實例提供underlying虛擬網絡服務框架。在網絡組件中需要設置網絡組件不可以直接訪問neutron組件的數據庫。
2 私有云計算平臺的實現
主機準備:需要新建3臺主機,分別為控制節點,網絡節點和計算節點。系統準備:OpenStack可以被比較多的系統支持。本次的部署選擇Centos7系統,選擇“基本”安裝包,完成后配置安裝OpenStack特定的yum倉庫,這樣節點就可以在指定站點下載所需的安裝包。
網絡配置:主要是針對主機,分為管理網絡,通信網段,外網網段。本次的云平臺網絡設計使用了VXLAN來實現平臺內部的通信,計算節點和網絡節點需要額外配置OVS,來實現節點間的通信。為了與外部網絡通訊,在網絡節點需要配置br-ex。
公共配置:三節點時間同步,需要安裝NTP服務,修改NTP的配置文件。
2.1 配置控制節點
實例采用MySQL和Qpid作為數據庫服務和AMQP服務的實現。Qpid安裝消息服務,完成后需把客戶端設置為不需要驗證使用服務。
Keystone安裝與配置:先安裝keystone包,安裝完成后為keystone設置admin賬戶tokn。然后keystone與數據庫連接,為keystone建表創建管理員和系統服務使用的租戶,為keystone建立service和endpoint關聯。
Glance安裝與配置:安裝Glance包,配置Glance連接數據庫,創建glance用戶,分配service角色,創建glance服務,創建keystone的endpoint。
Nova安裝與配置:安裝Nova包,并在keystone中創建nova相應的用戶和服務,keystone注冊服務,keystone注冊endpoint。
Neutron server安裝與配置:安裝Neutron server相關包,在keystone中創建Neutron相應的用戶和服務,為Neutron在MySQL建數據庫,配置Neutron Keystone認證,配置nova使用Neutron作為network服務。
2.2 配置網絡節點
安裝Neutron相關的包,修改系統配置允許ip forward,配置Neutron keystone認證,配置Neutron使用openvswitch和vxlan模式,實現二層轉發功能,配置L3插件實現三層轉發功能,配置dhcp agent實現DHCP功能,配置完成后將端口與ovs關聯。
2.3 配置計算節點
安裝配置Nova相關的包,安裝Neutron m12和openvswitch agent,配置Neutron Keystone認證,配置Nova使用Neutron提供網絡服務,配置Neutron使用ovs和vxlan模式。
3 云服務實例演示
通過實例演示云服務的交付方式,基本可以分為管理員角色,云用戶角色和其他用戶角色。交付方式如下圖3所示,管理員創建項目和用戶,用戶登錄項目創建VM實例,其他用戶再訪問VM實例搭建的服務。
3.1 管理員權限
管理員權限登錄云平臺(http://192.168.23.11/dashboard),可以對整個云平臺的計算,網絡,存儲資源進行管理,調配。管理員可以創建項目,項目包含一定的計算,網絡,存儲等資源。項目創建完成,管理員可創建項目組的用戶,之后用戶就可以登錄到項目界面,在資源額度范圍內自由的對資源進行分配,使用。
3.2 云用戶的權限
普通用戶登錄云平臺,可在管理員分配的資源額度內進行計算,網絡,存儲等分配使用操作。首先創建網絡名稱和管理員狀態,下一步創建子網名稱,網絡地址,IP版本以及網關IP,第三步創建子網詳情,可以配置地址池,并可以選擇開啟DHCP功能,可選配置DNS服務器地址,以及主機路由下一跳配置。
云鏡像創建,可以選擇本地或者網絡鏡像源,鏡像格式,架構,最小磁盤,最低運行內存等參數,設置時公有的還是受保護的。并且可以基于鏡像去創建云硬盤。
啟動云主機可以配置云主機名稱、數量、鏡像源、類型等。選擇之前創建的私有網絡,云主機將自動加到此私有網絡內。運行云主機之后,將使用鏡像開始安裝系統,系統安裝完成后,用戶可以在系統上搭建服務。當云用戶使用云主機搭建好服務后,其他用戶可以訪問云主機上服務了。
4 總結
本文就校園網搭建云平臺所需要的基本環境和基本架構進行分析,采用資源池化的方式進行私有云的建設,根據校園網服務器資源得不到合理利用的問題,以及校園網存在訪問高峰的特點進行合理設計;說明在平臺搭建過程中對各個方面的相關配置,實現資源的整合以及動態交付,提高物理資源的利用率;平臺搭建完成后提供云管理系統,實現統一管理,提高運行和維護的效率,實現基礎應用環境和測試環境。
【參考文獻】
[1]李輝.基于OpenStack的私有云計算平臺的研究和實現[D].江西:江西師范大學,2013.
[2]雷葆華,王峰,王茜.SDN核心技術剖析和實戰指南[M].北京:電子工業出版社,2013:10-19.
[3]趙少卡,李立耀.基于OpenStack的清華云平臺構建與調度方案設計[J].計算機應用技術,2013,33(12):3335-3338,3349.
[4]李婧.基于云計算的遠程教育資源共享技術研究與實現[D].西安:西安電子科技大學,2013.
[5]張子凡.OpenStack部署實踐[M].北京:人們郵電出版社,2014:35-39.
[6]李小寧,李磊,金連文,黎德生.基于OpenStack構建私有云計算平臺[J].電信科學,2008,Vo1.21,No2:30-32.
[責任編輯:楊玉潔]