李志軍, 孔朋朋, 雷振伍
(北方工業(yè)大學(xué) 電氣與控制工程學(xué)院,, 北京 100144)
摘要:云計(jì)算是當(dāng)前計(jì)算機(jī)領(lǐng)域非常熱門(mén)的研究方向,,在此背景下,闡述了云計(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)行管理,。
關(guān)鍵詞:云計(jì)算;私有云服務(wù),;OpenStack
0引言
云計(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 Technology, IT)相關(guān)的,,也可以是其他的服務(wù),。云計(jì)算從服務(wù)性質(zhì)上來(lái)說(shuō),可以分為公有云,、私有云和混合云,。公有云是云計(jì)算服務(wù)提供商為公眾提供服務(wù)的云計(jì)算平臺(tái);私有云則是云計(jì)算服務(wù)提供商為企業(yè)在其內(nèi)部建設(shè)的專(zhuān)有云計(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ù)。
1OpenStack介紹
1.1OpenStack簡(jiǎn)介
OpenStack是一個(gè)由美國(guó)國(guó)家航空航天局(National 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ì)算),、Glance(鏡像)、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)有很多使用OpenStack搭建的公有云、私有云,、混合云,,例如RackspaceCloud、惠普云,、MercadoLibre的IT基礎(chǔ)設(shè)施云,、AT&T的CloudArchitec、戴爾的OpenStack解決方案等,。而在國(guó)內(nèi),,OpenStack的熱度也在逐漸升溫,阿里巴巴,、百度,、中興、華為等都對(duì)OpenStack產(chǎn)生了濃厚的興趣并參與其中,。本文使用的是 OpenStack 的第十個(gè)版本——Juno 版本,。
1.2OpenStack核心組件
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 端管理門(mén)戶。
(5) 鏡像管理(Glance):云平臺(tái)虛擬機(jī)鏡像的存儲(chǔ),、查詢,、管理組件。
(6) 塊存儲(chǔ)(Cinder):為云主機(jī)提供云硬盤(pán)服務(wù),,實(shí)現(xiàn)塊存儲(chǔ)的管理,。
(7) 對(duì)象存儲(chǔ)(Swift): 對(duì)象文件的存儲(chǔ)讀取,實(shí)現(xiàn)方式使用的是鍵值對(duì)形式,。
各個(gè)組件之間的關(guān)系如圖1所示,。
2私有云平臺(tái)架構(gòu)
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,,SimaticIT等)移植到私有云平臺(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、Glance,、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所示,。
對(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)實(shí)現(xiàn)
私有云平臺(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)行,、銷(xiāo)毀等服務(wù)。
3.1前期規(guī)劃
硬件環(huán)境:采用3臺(tái)HP gen8刀片服務(wù)器,,每臺(tái)服務(wù)器配置12核CPU,、64 GB內(nèi)存、1.8 TB硬盤(pán),。
每臺(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有多種部署方式,,一般可劃分為三類(lèi):一是源碼部署,將OpenStack所需組件的源碼及其依賴的源碼下載到服務(wù)器中,,再進(jìn)行安裝,、配置,,這種方式雖然可以使相關(guān)人員對(duì)OpenStack源碼及其配置有一定了解,但部署過(guò)程相當(dāng)繁瑣,,不適用于實(shí)際應(yīng)用,。二是通過(guò)相應(yīng)的命令工具進(jìn)行安裝,雖然較源碼安裝方便,,但其過(guò)程仍然比較繁瑣,。三是通過(guò)一些開(kāi)發(fā)者或者公圖4使用PackStack部署
OpenStack流程司開(kāi)發(fā)的工具進(jìn)行安裝,如rdo,、fuel,、devstack等,這些工具使用簡(jiǎn)單,,配置方便,,有的則已經(jīng)商用,在本文中選取其中具有代表性的PackStack工具,。PackStack 是Redhat提供的OpenStack部署工具,,可以在CentOS上快速地部署一套多節(jié)點(diǎn)OpenStack集群。它的操作也非常簡(jiǎn)單,,只要生成一個(gè)answer文件,,略微定制一下組件需要安裝的位置就可以快速部署了。整個(gè)部署過(guò)程如圖4所示,。
4OpenStack私有云平臺(tái)實(shí)踐
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ò)搭建,、本地鏡像上傳、flavor和安全組設(shè)置,,虛擬機(jī)實(shí)例的創(chuàng)建,、測(cè)試、銷(xiāo)毀一系列操作,,驗(yàn)證了搭建的私有云平臺(tái)的可用性,。在Windows鏡像制作過(guò)程中遇到了較大問(wèn)題,,Windows 原版鏡像文件中的硬盤(pán)驅(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)圖5云平臺(tái)網(wǎng)絡(luò)拓?fù)浣?,該外部網(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結(jié)論
本文在云計(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)的重要方向之一,。
參考文獻(xiàn)
?。?] 翁武欽.云計(jì)算核心技術(shù)及行業(yè)運(yùn)用發(fā)展趨勢(shì)淺析[J]. 信息通信, 2014(6):251,253.
?。?] 湯儒,李秦偉.Openstack云環(huán)境中KVM虛擬機(jī)性能分析[J].微型機(jī)與應(yīng)用,2013,32(23):9496,100.
?。?] 李小寧,李磊,,金連文,,等.基于OpenStack構(gòu)建私有云計(jì)算平臺(tái)[J]. 電信科學(xué), 2012,28(9):18.
[4] 吳明禮,,任天鴻,,李也白,等.基于OpenStack的私有云平臺(tái)資源管理技術(shù)的研究與應(yīng)用[J]. 工業(yè)技術(shù)創(chuàng)新, 2015,2(3):334341.
?。?] 徐磊,王磊.基于OpenStack的私有云搭建的研究[J]. 信息通信, 2014(5):47.
?。?] 姚遠(yuǎn),左曉棟.云計(jì)算安全國(guó)家標(biāo)準(zhǔn)研究[J].電子技術(shù)應(yīng)用,2014,40(8):46,9.