李志軍,孔朋朋,雷振伍(北方工業大學電氣與控制工程學院,北京100144)
基于OpenStack的私有云平臺設計
李志軍,孔朋朋,雷振伍
(北方工業大學電氣與控制工程學院,北京100144)
云計算是當前計算機領域非常熱門的研究方向,在此背景下,闡述了云計算、私有云的相關概念及其應用。詳細介紹了開源云計算框架OPenStack及其核心組件。提出了一個基于OPenStack的私有云平臺架構方案,在實際工作中部署了私有云平臺并對相應的計算、存儲、網絡、鏡像等資源進行管理。
云計算;私有云服務;OPenStack
云計算是網格計算、分布式計算、效用計算、網格存儲、虛擬化、負載均衡等傳統計算機技術和網絡技術發展融合的產物[1]。狹義上來說,云計算指IT基礎設施的交付和使用模式,用戶通過網絡從“云”端獲取資源(硬件、平臺、軟件),云中的資源隨取隨得、隨時擴展、按需使用,正如大家使用水電這些公用資源一樣。廣義上來說,云計算是指服務的交付和使用模式,用戶通過網絡獲得所需的服務,這些服務是任意的,既可以是與信息技術(Information Techno1ogy,IT)相關的,也可以是其他的服務。云計算從服務性質上來說,可以分為公有云、私有云和混合云。公有云是云計算服務提供商為公眾提供服務的云計算平臺;私有云則是云計算服務提供商為企業在其內部建設的專有云計算系統;混合云則是同時提供公有云和私有云服務的一種折中方案[2]。
本文介紹了當前最具有發展前景的云平臺開源框架OPenStack,研究私有云搭建的可行性方案,給出方案的整體架構,并通過PackStack工具部署了一個可用的私有云環境,通過實際搭建的私有云平臺來研究私有云資源的管理技術。
1.1 OpenStack簡介
OPenStack是一個由美國國家航空航天局(Nationa1 Aeronautics and SPace Administration,NASA)和RacksPace公司合作研發并發起的開源項目,旨在為所有的公有云和私有云的建設及管理者提供可滿足自身需求的、易于實施且可大規模擴展的開源云計算平臺[3]。OPenStack云計算平臺包括Keystone(身份認證)、Nova(計算)、G1ance(鏡像)、Neutron(網絡)、Cinder(塊存儲)、Swift(對象存儲)、Horizon(前端界面)等組件。OPenStack作為目前最為火熱的開源云計算項目,具有強大的社區支持,有大量的開發人員參與,發展迅速。國際上已經有很多使用OPen-Stack搭建的公有云、私有云、混合云,例如RacksPaceC1oud、惠普云、MercadoLibre的IT基礎設施云、AT&T 的C1oudArchitec、戴爾的OPenStack解決方案等。而在國內,OPenStack的熱度也在逐漸升溫,阿里巴巴、百度、中興、華為等都對OPenStack產生了濃厚的興趣并參與其中。本文使用的是OPenStack的第十個版本——Juno版本。
1.2 OpenStack核心組件
OPenStack主要有7個核心組件:
(1)計算組件(Nova):為虛擬主機提供計算資源。通過虛擬化技術(如KVM、LXC、Xen、VMware Esxi等實現計算、網絡、存儲等資源池的構建及應用),將計算能力通過虛擬機的方式交付用戶[4]。
(2)身份認證(Keystone):為OPenStack提供統一的授權和身份驗證。
(3)網絡管理(Neutron):管理虛擬機的網絡資源,如IP的分配、劃分子網、內網和公網的映射連接、負載均衡、防火墻等功能。
(4)Web界面(Horizon):基于OPenStack API接口,使用Python語言開發的Web端管理門戶。
(5)鏡像管理(G1ance):云平臺虛擬機鏡像的存儲、查詢、管理組件。
(6)塊存儲(Cinder):為云主機提供云硬盤服務,實現塊存儲的管理。
(7)對象存儲(Swift):對象文件的存儲讀取,實現方式使用的是鍵值對形式。
各個組件之間的關系如圖1所示。

圖1 OPenStack服務關系
2.1 私有云概述
私有云主要是在企業或公司內部使用,代替傳統的IT服務。與傳統IT架構相比,私有云將硬件資源(包括計算資源、存儲資源、網絡資源等)通過虛擬化技術提供給企業內部使用,其對外是不可見的,此外,私有云可以根據客戶對服務的性能要求、成本要求,提供個性化的架構,是一種真正以服務為導向的云環境,因此私有云被視為極具發展潛力與研究價值的服務,各大公司都在不斷加入此浪潮之中。對于私有云的部署,企業可以根據自身特點與需求,采用不同的解決方案,既可以部署在企業防護區內的數據中心,亦可部署在一個值得信賴的第三方托管機構。私有云具有傳統IT可控、高可用性、非常安全等優點,又具有公有云的資源共享、可以動態地伸縮和資源分配、易于管理等優勢,提高了整個IT系統的安全性[5]。
2.2 私有云平臺架構
本文中,對私有云平臺的建設,主要是結合實驗室建設發展方面的考慮,建設虛擬實驗室,搭建云平臺來實現資源的虛擬化,最終將工業控制系統(如Pcs7,Simatic IT等)移植到私有云平臺上。
本文搭建的私有云平臺基于OPenStack的開源框架,包括三個角色:客戶端、控制節點以及計算節點。其中客戶端可以是實驗室局域網段內任一物理機;控制節點則部署了Nova、G1ance、Swift、Cinder、keystone及Horizon等組件;計算節點由支持虛擬化技術的2臺HP服務器組成,主要用于運行虛擬化實例,提供計算服務。整個云平臺的架構如圖2所示。

圖2 私有云平臺整體架構
對于整個云平臺的層次來說,底層是由物理服務器組成的硬件層,提供CPU、存儲、網絡等資源,而OPenStack通過虛擬化技術整合管理底層資源,供運行于其上的虛擬機使用。工業控制系統及仿真系統則部署在云平臺的大量虛擬機之中,供客戶端用戶使用。對于云平臺的訪問,OPenStack也提供了管理員用戶與普通用戶兩種用戶角色,實現了權限控制。
本文搭建的私有云平臺主要用于像高校實驗室等中小型環境,所以各個組成部分均位于同一局域網內,這樣內部網絡的任一用戶均可訪問云計算資源。私有云平臺的網絡架構如圖3所示。
云平臺的網絡部分由3個網絡構成:公共網絡、管理網絡、數據網絡。各網的實現及功能如下所示:
eth0(公共網絡):網段:10.1. 101.0/24;功能:公共網絡,為網絡節點訪問外部網絡提供通道。
eth1(管理網絡、數據網絡):網段:10.20.0.0 /24;管理網絡:用于OPensTack各組件之間的通信;數據網絡:用于實現云部署中數據之間的通信。

圖3 私有云平臺網絡架構
私有云平臺由控制節點、計算節點及網絡節點組成。控制節點是云平臺的核心,用戶通過控制節點實現對整個云平臺的管理、監控。其他計算節點、網絡節點需要向控制節點注冊,由控制節點來統一調度資源。網絡節點負責控制云平臺的內部網絡與外部網絡,計算節點負責虛擬機的創建、運行、銷毀等服務。
3.1 前期規劃
硬件環境:采用3臺HP gen8刀片服務器,每臺服務器配置12核CPU、64 GB內存、1.8 TB硬盤。
每臺機器有4個網卡,只用到em1,em2。公共網絡和管理網絡合用em1,內部數據網絡使用em2。
軟件環境:CentOS7 +PackStack +OPenStack -Juno。
3.2 部署過程
OPenStack有多種部署方式,一般可劃分為三類:一是源碼部署,將OPenStack所需組件的源碼及其依賴的源碼下載到服務器中,再進行安裝、配置,這種方式雖然可以使相關人員對OPenStack源碼及其配置有一定了解,但部署過程相當繁瑣,不適用于實際應用。二是通過相應的命令工具進行安裝,雖然較源碼安裝方便,但其過程仍然比較繁瑣。三是通過一些開發者或者公司開發的工具進行安裝,如rdo、fue1、devstack等,這些工具使用簡單,配置方便,有的則已經商用,在本文中選取其中具有代表性的PackStack工具。PackStack是Redhat提供的OPenStack部署工具,可以在CentOS上快速地部署一套多節點OPenStack集群。它的操作也非常簡單,只要生成一個answer文件,略微定制一下組件需要安裝的位置就可以快速部署了。整個部署過程如圖4所示。

圖4 使用PackStack部署OPenStack流程
4.1 創建系統實例
云平臺的基本目標就是建立數據中心,為相關用戶提供計算、存儲等服務。OPenStack提供的Web管理界面組件Horizon簡單易用、功能豐富,在登錄Horizon后,就可以執行創建測試用戶、項目、網絡、云主機等操作了。本文中完成了項目創建、用戶創建、網絡搭建、本地鏡像上傳、f1avor和安全組設置,虛擬機實例的創建、測試、銷毀一系列操作,驗證了搭建的私有云平臺的可用性。在W indows鏡像制作過程中遇到了較大問題,W indows原版鏡像文件中的硬盤驅動不適用于OPenStack的虛擬環境,如果直接使用原版鏡像,則不能成功啟動實例。解決方法是在制作鏡像文件時手動安裝相應的virtio驅動。
4.2 創建實例化網絡
本文中創建的實例化網絡是OPenStack云平臺的一種典型結構,其網絡拓撲如圖5所示。Extnet(10.1.101. 0 /24)網絡拓撲是與互聯網連接的外部網絡,由管理員創建,該外部網絡是云主機與互聯網交互的途徑;Admin_ net(192.168.0.0 /24)網絡拓撲是租戶網絡及其子網,其上連接的是租戶創建的云主機;跨在外部網絡和租戶網絡之間的是具有網關臂和接口臂的路由器,負責租戶網絡與外部網絡的通信。

圖5 云平臺網絡拓撲
本文在云計算、私有云有關理論基礎上,提出了一種基于開源框架OPenStack構建私有云計算平臺的可行性方案,并通過PackStack工具實現了私有云平臺的搭建,以便為科研實驗室或者中小企業提供彈性計算服務,滿足不同用戶、不同階段的需求[6]。云計算的核心是虛擬化技術,而一種新型的虛擬化技術Docker的出現,為私有云計算發展提供了新的方向。與傳統的KVM等虛擬化技術相比,Docker具有更輕量級、啟動更快、占用資源更少的特點。所以,將Docker與OPenStack相結合是進一步優化私有云平臺的重要方向之一。
[1]翁武欽.云計算核心技術及行業運用發展趨勢淺析[J].信息通信,2014(6):251,253.
[2]湯儒,李秦偉.OPenstack云環境中KVM虛擬機性能分析[J].微型機與應用,2013,32(23):94-96,100.
[3]李小寧,李磊,金連文,等.基于OPenStack構建私有云計算平臺[J].電信科學,2012,28(9):1-8.
[4]吳明禮,任天鴻,李也白,等.基于OPenStack的私有云平臺資源管理技術的研究與應用[J].工業技術創新,2015,2 (3):334-341.
[5]徐磊,王磊.基于OPenStack的私有云搭建的研究[J].信息通信,2014(5):4-7.
[6]姚遠,左曉棟.云計算安全國家標準研究[J].電子技術應用,2014,40(8):4-6,9.
Design of Private C1oud P1atform based on OPenStack
Li Zhijun,Kong PengPeng,Lei Zhenwu
(Co11ege of E1ectrica1and Contro1Engineering,North China University of Techno1ogy,Beijing 100144,China)
C1oud comPuting is a very PoPu1ar research direction in the fie1d of comPuter current1y.In this context,this PaPer exPounds the re1ated concePts and aPP1ication of C1oud comPuting,Private c1oud.It introduces oPen source C1oud comPuting framework OPenStack and its core comPonents in detai1.We Put forward an architecture so1ution of Private c1oud P1atform based on OPenStack,deP1oyed the P1atform and managed the resources of comPuting,storage,network,images and so on.
C1oud comPuting;Private C1oud service;OPenStack
TP393
A
10.19358 /j.issn.1674-7720.2016.09.008
李志軍,孔朋朋,雷振伍.基于OPenstack的私有云平臺設計[J].微型機與應用,2016,35(9):24-26.
2016-01-06)
李志軍(1978 -),男,博士,主要研究方向:網絡化控制系統,模糊預測控制,故障診斷與容錯控制,基于單片機等微處理器的控制儀表開發,PLC、DCS的工程應用。
孔朋朋(1990 -),男,碩士,主要研究方向:工業控制,云計算。
雷振伍(1977 -),男,博士,主要研究方向:工業先進控制,制造執行系統(MES)等。