李志軍,孔朋朋,雷振伍(北方工業(yè)大學(xué)電氣與控制工程學(xué)院,北京100144)
基于OpenStack的私有云平臺(tái)設(shè)計(jì)
李志軍,孔朋朋,雷振伍
(北方工業(yè)大學(xué)電氣與控制工程學(xué)院,北京100144)
云計(jì)算是當(dāng)前計(jì)算機(jī)領(lǐng)域非常熱門的研究方向,在此背景下,闡述了云計(jì)算、私有云的相關(guān)概念及其應(yīng)用。詳細(xì)介紹了開(kāi)源云計(jì)算框架OPenStack及其核心組件。提出了一個(gè)基于OPenStack的私有云平臺(tái)架構(gòu)方案,在實(shí)際工作中部署了私有云平臺(tái)并對(duì)相應(yīng)的計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)、鏡像等資源進(jìn)行管理。
云計(jì)算;私有云服務(wù);OPenStack
云計(jì)算是網(wǎng)格計(jì)算、分布式計(jì)算、效用計(jì)算、網(wǎng)格存儲(chǔ)、虛擬化、負(fù)載均衡等傳統(tǒng)計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物[1]。狹義上來(lái)說(shuō),云計(jì)算指IT基礎(chǔ)設(shè)施的交付和使用模式,用戶通過(guò)網(wǎng)絡(luò)從“云”端獲取資源(硬件、平臺(tái)、軟件),云中的資源隨取隨得、隨時(shí)擴(kuò)展、按需使用,正如大家使用水電這些公用資源一樣。廣義上來(lái)說(shuō),云計(jì)算是指服務(wù)的交付和使用模式,用戶通過(guò)網(wǎng)絡(luò)獲得所需的服務(wù),這些服務(wù)是任意的,既可以是與信息技術(shù)(Information Techno1ogy,IT)相關(guān)的,也可以是其他的服務(wù)。云計(jì)算從服務(wù)性質(zhì)上來(lái)說(shuō),可以分為公有云、私有云和混合云。公有云是云計(jì)算服務(wù)提供商為公眾提供服務(wù)的云計(jì)算平臺(tái);私有云則是云計(jì)算服務(wù)提供商為企業(yè)在其內(nèi)部建設(shè)的專有云計(jì)算系統(tǒng);混合云則是同時(shí)提供公有云和私有云服務(wù)的一種折中方案[2]。
本文介紹了當(dāng)前最具有發(fā)展前景的云平臺(tái)開(kāi)源框架OPenStack,研究私有云搭建的可行性方案,給出方案的整體架構(gòu),并通過(guò)PackStack工具部署了一個(gè)可用的私有云環(huán)境,通過(guò)實(shí)際搭建的私有云平臺(tái)來(lái)研究私有云資源的管理技術(shù)。
1.1 OpenStack簡(jiǎn)介
OPenStack是一個(gè)由美國(guó)國(guó)家航空航天局(Nationa1 Aeronautics and SPace Administration,NASA)和RacksPace公司合作研發(fā)并發(fā)起的開(kāi)源項(xiàng)目,旨在為所有的公有云和私有云的建設(shè)及管理者提供可滿足自身需求的、易于實(shí)施且可大規(guī)模擴(kuò)展的開(kāi)源云計(jì)算平臺(tái)[3]。OPenStack云計(jì)算平臺(tái)包括Keystone(身份認(rèn)證)、Nova(計(jì)算)、G1ance(鏡像)、Neutron(網(wǎng)絡(luò))、Cinder(塊存儲(chǔ))、Swift(對(duì)象存儲(chǔ))、Horizon(前端界面)等組件。OPenStack作為目前最為火熱的開(kāi)源云計(jì)算項(xiàng)目,具有強(qiáng)大的社區(qū)支持,有大量的開(kāi)發(fā)人員參與,發(fā)展迅速。國(guó)際上已經(jīng)有很多使用OPen-Stack搭建的公有云、私有云、混合云,例如RacksPaceC1oud、惠普云、MercadoLibre的IT基礎(chǔ)設(shè)施云、AT&T 的C1oudArchitec、戴爾的OPenStack解決方案等。而在國(guó)內(nèi),OPenStack的熱度也在逐漸升溫,阿里巴巴、百度、中興、華為等都對(duì)OPenStack產(chǎn)生了濃厚的興趣并參與其中。本文使用的是OPenStack的第十個(gè)版本——Juno版本。
1.2 OpenStack核心組件
OPenStack主要有7個(gè)核心組件:
(1)計(jì)算組件(Nova):為虛擬主機(jī)提供計(jì)算資源。通過(guò)虛擬化技術(shù)(如KVM、LXC、Xen、VMware Esxi等實(shí)現(xiàn)計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)等資源池的構(gòu)建及應(yīng)用),將計(jì)算能力通過(guò)虛擬機(jī)的方式交付用戶[4]。
(2)身份認(rèn)證(Keystone):為OPenStack提供統(tǒng)一的授權(quán)和身份驗(yàn)證。
(3)網(wǎng)絡(luò)管理(Neutron):管理虛擬機(jī)的網(wǎng)絡(luò)資源,如IP的分配、劃分子網(wǎng)、內(nèi)網(wǎng)和公網(wǎng)的映射連接、負(fù)載均衡、防火墻等功能。
(4)Web界面(Horizon):基于OPenStack API接口,使用Python語(yǔ)言開(kāi)發(fā)的Web端管理門戶。
(5)鏡像管理(G1ance):云平臺(tái)虛擬機(jī)鏡像的存儲(chǔ)、查詢、管理組件。
(6)塊存儲(chǔ)(Cinder):為云主機(jī)提供云硬盤服務(wù),實(shí)現(xiàn)塊存儲(chǔ)的管理。
(7)對(duì)象存儲(chǔ)(Swift):對(duì)象文件的存儲(chǔ)讀取,實(shí)現(xiàn)方式使用的是鍵值對(duì)形式。
各個(gè)組件之間的關(guān)系如圖1所示。
圖1 OPenStack服務(wù)關(guān)系
2.1 私有云概述
私有云主要是在企業(yè)或公司內(nèi)部使用,代替?zhèn)鹘y(tǒng)的IT服務(wù)。與傳統(tǒng)IT架構(gòu)相比,私有云將硬件資源(包括計(jì)算資源、存儲(chǔ)資源、網(wǎng)絡(luò)資源等)通過(guò)虛擬化技術(shù)提供給企業(yè)內(nèi)部使用,其對(duì)外是不可見(jiàn)的,此外,私有云可以根據(jù)客戶對(duì)服務(wù)的性能要求、成本要求,提供個(gè)性化的架構(gòu),是一種真正以服務(wù)為導(dǎo)向的云環(huán)境,因此私有云被視為極具發(fā)展?jié)摿εc研究?jī)r(jià)值的服務(wù),各大公司都在不斷加入此浪潮之中。對(duì)于私有云的部署,企業(yè)可以根據(jù)自身特點(diǎn)與需求,采用不同的解決方案,既可以部署在企業(yè)防護(hù)區(qū)內(nèi)的數(shù)據(jù)中心,亦可部署在一個(gè)值得信賴的第三方托管機(jī)構(gòu)。私有云具有傳統(tǒng)IT可控、高可用性、非常安全等優(yōu)點(diǎn),又具有公有云的資源共享、可以動(dòng)態(tài)地伸縮和資源分配、易于管理等優(yōu)勢(shì),提高了整個(gè)IT系統(tǒng)的安全性[5]。
2.2 私有云平臺(tái)架構(gòu)
本文中,對(duì)私有云平臺(tái)的建設(shè),主要是結(jié)合實(shí)驗(yàn)室建設(shè)發(fā)展方面的考慮,建設(shè)虛擬實(shí)驗(yàn)室,搭建云平臺(tái)來(lái)實(shí)現(xiàn)資源的虛擬化,最終將工業(yè)控制系統(tǒng)(如Pcs7,Simatic IT等)移植到私有云平臺(tái)上。
本文搭建的私有云平臺(tái)基于OPenStack的開(kāi)源框架,包括三個(gè)角色:客戶端、控制節(jié)點(diǎn)以及計(jì)算節(jié)點(diǎn)。其中客戶端可以是實(shí)驗(yàn)室局域網(wǎng)段內(nèi)任一物理機(jī);控制節(jié)點(diǎn)則部署了Nova、G1ance、Swift、Cinder、keystone及Horizon等組件;計(jì)算節(jié)點(diǎn)由支持虛擬化技術(shù)的2臺(tái)HP服務(wù)器組成,主要用于運(yùn)行虛擬化實(shí)例,提供計(jì)算服務(wù)。整個(gè)云平臺(tái)的架構(gòu)如圖2所示。
圖2 私有云平臺(tái)整體架構(gòu)
對(duì)于整個(gè)云平臺(tái)的層次來(lái)說(shuō),底層是由物理服務(wù)器組成的硬件層,提供CPU、存儲(chǔ)、網(wǎng)絡(luò)等資源,而OPenStack通過(guò)虛擬化技術(shù)整合管理底層資源,供運(yùn)行于其上的虛擬機(jī)使用。工業(yè)控制系統(tǒng)及仿真系統(tǒng)則部署在云平臺(tái)的大量虛擬機(jī)之中,供客戶端用戶使用。對(duì)于云平臺(tái)的訪問(wèn),OPenStack也提供了管理員用戶與普通用戶兩種用戶角色,實(shí)現(xiàn)了權(quán)限控制。
本文搭建的私有云平臺(tái)主要用于像高校實(shí)驗(yàn)室等中小型環(huán)境,所以各個(gè)組成部分均位于同一局域網(wǎng)內(nèi),這樣內(nèi)部網(wǎng)絡(luò)的任一用戶均可訪問(wèn)云計(jì)算資源。私有云平臺(tái)的網(wǎng)絡(luò)架構(gòu)如圖3所示。
云平臺(tái)的網(wǎng)絡(luò)部分由3個(gè)網(wǎng)絡(luò)構(gòu)成:公共網(wǎng)絡(luò)、管理網(wǎng)絡(luò)、數(shù)據(jù)網(wǎng)絡(luò)。各網(wǎng)的實(shí)現(xiàn)及功能如下所示:
eth0(公共網(wǎng)絡(luò)):網(wǎng)段:10.1. 101.0/24;功能:公共網(wǎng)絡(luò),為網(wǎng)絡(luò)節(jié)點(diǎn)訪問(wèn)外部網(wǎng)絡(luò)提供通道。
eth1(管理網(wǎng)絡(luò)、數(shù)據(jù)網(wǎng)絡(luò)):網(wǎng)段:10.20.0.0 /24;管理網(wǎng)絡(luò):用于OPensTack各組件之間的通信;數(shù)據(jù)網(wǎng)絡(luò):用于實(shí)現(xiàn)云部署中數(shù)據(jù)之間的通信。
圖3 私有云平臺(tái)網(wǎng)絡(luò)架構(gòu)
私有云平臺(tái)由控制節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn)及網(wǎng)絡(luò)節(jié)點(diǎn)組成。控制節(jié)點(diǎn)是云平臺(tái)的核心,用戶通過(guò)控制節(jié)點(diǎn)實(shí)現(xiàn)對(duì)整個(gè)云平臺(tái)的管理、監(jiān)控。其他計(jì)算節(jié)點(diǎn)、網(wǎng)絡(luò)節(jié)點(diǎn)需要向控制節(jié)點(diǎn)注冊(cè),由控制節(jié)點(diǎn)來(lái)統(tǒng)一調(diào)度資源。網(wǎng)絡(luò)節(jié)點(diǎn)負(fù)責(zé)控制云平臺(tái)的內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò),計(jì)算節(jié)點(diǎn)負(fù)責(zé)虛擬機(jī)的創(chuàng)建、運(yùn)行、銷毀等服務(wù)。
3.1 前期規(guī)劃
硬件環(huán)境:采用3臺(tái)HP gen8刀片服務(wù)器,每臺(tái)服務(wù)器配置12核CPU、64 GB內(nèi)存、1.8 TB硬盤。
每臺(tái)機(jī)器有4個(gè)網(wǎng)卡,只用到em1,em2。公共網(wǎng)絡(luò)和管理網(wǎng)絡(luò)合用em1,內(nèi)部數(shù)據(jù)網(wǎng)絡(luò)使用em2。
軟件環(huán)境:CentOS7 +PackStack +OPenStack -Juno。
3.2 部署過(guò)程
OPenStack有多種部署方式,一般可劃分為三類:一是源碼部署,將OPenStack所需組件的源碼及其依賴的源碼下載到服務(wù)器中,再進(jìn)行安裝、配置,這種方式雖然可以使相關(guān)人員對(duì)OPenStack源碼及其配置有一定了解,但部署過(guò)程相當(dāng)繁瑣,不適用于實(shí)際應(yīng)用。二是通過(guò)相應(yīng)的命令工具進(jìn)行安裝,雖然較源碼安裝方便,但其過(guò)程仍然比較繁瑣。三是通過(guò)一些開(kāi)發(fā)者或者公司開(kāi)發(fā)的工具進(jìn)行安裝,如rdo、fue1、devstack等,這些工具使用簡(jiǎn)單,配置方便,有的則已經(jīng)商用,在本文中選取其中具有代表性的PackStack工具。PackStack是Redhat提供的OPenStack部署工具,可以在CentOS上快速地部署一套多節(jié)點(diǎn)OPenStack集群。它的操作也非常簡(jiǎn)單,只要生成一個(gè)answer文件,略微定制一下組件需要安裝的位置就可以快速部署了。整個(gè)部署過(guò)程如圖4所示。
圖4 使用PackStack部署OPenStack流程
4.1 創(chuàng)建系統(tǒng)實(shí)例
云平臺(tái)的基本目標(biāo)就是建立數(shù)據(jù)中心,為相關(guān)用戶提供計(jì)算、存儲(chǔ)等服務(wù)。OPenStack提供的Web管理界面組件Horizon簡(jiǎn)單易用、功能豐富,在登錄Horizon后,就可以執(zhí)行創(chuàng)建測(cè)試用戶、項(xiàng)目、網(wǎng)絡(luò)、云主機(jī)等操作了。本文中完成了項(xiàng)目創(chuàng)建、用戶創(chuàng)建、網(wǎng)絡(luò)搭建、本地鏡像上傳、f1avor和安全組設(shè)置,虛擬機(jī)實(shí)例的創(chuàng)建、測(cè)試、銷毀一系列操作,驗(yàn)證了搭建的私有云平臺(tái)的可用性。在W indows鏡像制作過(guò)程中遇到了較大問(wèn)題,W indows原版鏡像文件中的硬盤驅(qū)動(dòng)不適用于OPenStack的虛擬環(huán)境,如果直接使用原版鏡像,則不能成功啟動(dòng)實(shí)例。解決方法是在制作鏡像文件時(shí)手動(dòng)安裝相應(yīng)的virtio驅(qū)動(dòng)。
4.2 創(chuàng)建實(shí)例化網(wǎng)絡(luò)
本文中創(chuàng)建的實(shí)例化網(wǎng)絡(luò)是OPenStack云平臺(tái)的一種典型結(jié)構(gòu),其網(wǎng)絡(luò)拓?fù)淙鐖D5所示。Extnet(10.1.101. 0 /24)網(wǎng)絡(luò)拓?fù)涫桥c互聯(lián)網(wǎng)連接的外部網(wǎng)絡(luò),由管理員創(chuàng)建,該外部網(wǎng)絡(luò)是云主機(jī)與互聯(lián)網(wǎng)交互的途徑;Admin_ net(192.168.0.0 /24)網(wǎng)絡(luò)拓?fù)涫亲鈶艟W(wǎng)絡(luò)及其子網(wǎng),其上連接的是租戶創(chuàng)建的云主機(jī);跨在外部網(wǎng)絡(luò)和租戶網(wǎng)絡(luò)之間的是具有網(wǎng)關(guān)臂和接口臂的路由器,負(fù)責(zé)租戶網(wǎng)絡(luò)與外部網(wǎng)絡(luò)的通信。
圖5 云平臺(tái)網(wǎng)絡(luò)拓?fù)?/p>
本文在云計(jì)算、私有云有關(guān)理論基礎(chǔ)上,提出了一種基于開(kāi)源框架OPenStack構(gòu)建私有云計(jì)算平臺(tái)的可行性方案,并通過(guò)PackStack工具實(shí)現(xiàn)了私有云平臺(tái)的搭建,以便為科研實(shí)驗(yàn)室或者中小企業(yè)提供彈性計(jì)算服務(wù),滿足不同用戶、不同階段的需求[6]。云計(jì)算的核心是虛擬化技術(shù),而一種新型的虛擬化技術(shù)Docker的出現(xiàn),為私有云計(jì)算發(fā)展提供了新的方向。與傳統(tǒng)的KVM等虛擬化技術(shù)相比,Docker具有更輕量級(jí)、啟動(dòng)更快、占用資源更少的特點(diǎn)。所以,將Docker與OPenStack相結(jié)合是進(jìn)一步優(yōu)化私有云平臺(tái)的重要方向之一。
[1]翁武欽.云計(jì)算核心技術(shù)及行業(yè)運(yùn)用發(fā)展趨勢(shì)淺析[J].信息通信,2014(6):251,253.
[2]湯儒,李秦偉.OPenstack云環(huán)境中KVM虛擬機(jī)性能分析[J].微型機(jī)與應(yīng)用,2013,32(23):94-96,100.
[3]李小寧,李磊,金連文,等.基于OPenStack構(gòu)建私有云計(jì)算平臺(tái)[J].電信科學(xué),2012,28(9):1-8.
[4]吳明禮,任天鴻,李也白,等.基于OPenStack的私有云平臺(tái)資源管理技術(shù)的研究與應(yīng)用[J].工業(yè)技術(shù)創(chuàng)新,2015,2 (3):334-341.
[5]徐磊,王磊.基于OPenStack的私有云搭建的研究[J].信息通信,2014(5):4-7.
[6]姚遠(yuǎn),左曉棟.云計(jì)算安全國(guó)家標(biāo)準(zhǔn)研究[J].電子技術(shù)應(yīng)用,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的私有云平臺(tái)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2016,35(9):24-26.
2016-01-06)
李志軍(1978 -),男,博士,主要研究方向:網(wǎng)絡(luò)化控制系統(tǒng),模糊預(yù)測(cè)控制,故障診斷與容錯(cuò)控制,基于單片機(jī)等微處理器的控制儀表開(kāi)發(fā),PLC、DCS的工程應(yīng)用。
孔朋朋(1990 -),男,碩士,主要研究方向:工業(yè)控制,云計(jì)算。
雷振伍(1977 -),男,博士,主要研究方向:工業(yè)先進(jìn)控制,制造執(zhí)行系統(tǒng)(MES)等。