姜新
(華北油田公司數(shù)據(jù)中心,河北 任丘 062552)
利用OpenStack構(gòu)建私有云計(jì)算平臺(tái)的過程研究
姜新
(華北油田公司數(shù)據(jù)中心,河北 任丘 062552)
云計(jì)算是近幾年來IT領(lǐng)域非常熱門的研究方向,而私有云憑借其安全性、可控性以及有效利用IT設(shè)備資源等特性,在云計(jì)算領(lǐng)域占據(jù)重要位置。文章詳細(xì)介紹了OpenStack開源云計(jì)算平臺(tái)的架構(gòu)以及OpenStack的5個(gè)功能模塊的關(guān)系,并重點(diǎn)介紹了一種基于OpenStack構(gòu)建私有云的方案。
私有云;OpenStack;構(gòu)建
1.1 OpenStack簡(jiǎn)介
OpenStack是由Rackspace和美國(guó)國(guó)家航空航天局(NASA)共同開發(fā)的云計(jì)算平臺(tái),幫助服務(wù)商和企業(yè)內(nèi)部實(shí)現(xiàn)類似于Amazon EC2和S3的云基礎(chǔ)架構(gòu)服務(wù)(Infrastructure as a Service,IaaS)。自2010年10月開始,OpenStack至今已經(jīng)發(fā)布了Austin、Bexar、Cactus、Diablo、Essexc以及mitaka 13個(gè)版本。由于OpenStack采用Apache 2.0許可證發(fā)布源代碼,因此在短短幾年時(shí)間內(nèi)就吸引了IBM、Cisco、HP等150家公司加入。
OpenStack是一個(gè)正在開發(fā)中的云計(jì)算平臺(tái)項(xiàng)目,根據(jù)成熟及重要程度的不同,被分解成核心項(xiàng)目、孵化項(xiàng)目等。它的主要的核心項(xiàng)目包括Nova(計(jì)算服務(wù))、Swift(存儲(chǔ)服務(wù))、Glance(鏡像服務(wù))、Keystone(身份服務(wù))、Horizon(UI界面)、Neutron(網(wǎng)絡(luò)地址管理)、Cinder(塊存儲(chǔ)服務(wù))、Ceilometer(計(jì)量服務(wù))和Heat(編排服務(wù))等等,它們既可以組合在一起聯(lián)合工作,提供完整的云基礎(chǔ)架構(gòu)服務(wù);又可以獨(dú)立工作,分別提供虛擬化、云存儲(chǔ)、鏡像等服務(wù)此外,模塊化的設(shè)計(jì)能把老、舊、第三方的技術(shù)集成進(jìn)來,從而滿足業(yè)務(wù)需要,也使得開發(fā)者能夠更容易地對(duì)OpenStack進(jìn)行二次開發(fā)。
1.2 私有云平臺(tái)框架
基于OpenStack的開源框架介紹,本文所搭建的私有云計(jì)算平臺(tái)由計(jì)算服務(wù)(Nova)、存儲(chǔ)服務(wù)(Swift)、鏡像服務(wù)(Glance)、身份認(rèn)證服務(wù)(Keystone)、Neutron(網(wǎng)絡(luò)地址管理)和Web界而服務(wù)(Horizon)共6個(gè)部分組成。其中Nova是云平臺(tái)的控制器,它提供一個(gè)工具部署云,包括運(yùn)行虛擬化實(shí)例、管理網(wǎng)絡(luò)以及控制用戶和其他項(xiàng)目對(duì)云的訪問。Swift是一個(gè)大容量、可擴(kuò)展的、內(nèi)置冗余和容錯(cuò)機(jī)制的對(duì)象存儲(chǔ)系統(tǒng)。對(duì)象存儲(chǔ)支持多種應(yīng)用,比如復(fù)制和存檔數(shù)據(jù)、圖像或視頻服務(wù)、存儲(chǔ)次級(jí)靜態(tài)數(shù)據(jù)、開發(fā)數(shù)據(jù)存儲(chǔ)整合的新應(yīng)用、存儲(chǔ)容量難以估計(jì)的數(shù)據(jù)、為Web應(yīng)用創(chuàng)建基于云的彈性存儲(chǔ)等。Glance是一個(gè)虛擬機(jī)鏡像的存儲(chǔ)、查詢和檢索系統(tǒng),服務(wù)包括提供Restful API允許用戶查詢VM鏡像元數(shù)據(jù)以及檢索實(shí)際的鏡像。Keystone為運(yùn)行OpenStack Compute上的OpenStack云提供了認(rèn)證和管理用戶、賬號(hào)和角色信息服務(wù),并為OpenStack Object Storage提供授權(quán)服務(wù)。Neutron為OpenStack其他服務(wù)提供網(wǎng)絡(luò)連接服務(wù)。為用戶提供接口,可以定義Network、Subnet、Router,配置DHCP、DNS、負(fù)載均衡、L3服務(wù),還支持GRE、VXLAN。Horizon是提供給用戶來使用云平臺(tái)的Web前端界而,用戶可以使用它進(jìn)行實(shí)例、密鑰、彈性塊存儲(chǔ)、鏡像、云存儲(chǔ)以及角色權(quán)限等的管理。OpenStack的5個(gè)服務(wù)的關(guān)系。
首先,在OpenStack中用戶可以編寫、重構(gòu)、發(fā)布自己的項(xiàng)目代碼以及私有軟件,實(shí)現(xiàn)最大意義上的開源和共享;其次,OpenStack開源產(chǎn)品可以通過虛擬化技術(shù)將硬件和網(wǎng)絡(luò)資源提供給用戶,實(shí)現(xiàn)服務(wù)器資源的高效利用;另外,OpenStack可以通過增加管理層來完成應(yīng)用搭建、文件檢索以及資源的創(chuàng)建和分配等;最后,OpenStack還可以基于API接口進(jìn)行二次開發(fā)。
OpenStack主要包含計(jì)算、對(duì)象存儲(chǔ)、身份認(rèn)證、儀表盤、塊存儲(chǔ)、網(wǎng)絡(luò)和鏡像服務(wù)共七個(gè)單元,其中計(jì)算、對(duì)象存儲(chǔ)、身份認(rèn)證和鏡像服務(wù)又可分別稱為Nova、Swift、Keystone和Glance,限于篇幅本文只對(duì)這四個(gè)組件進(jìn)行詳細(xì)分析說明。
(1)Nova:該組件是虛擬資源管理和部署的標(biāo)桿和依托,用戶可以基于Nova組件和API接口管理自己云計(jì)算系統(tǒng)中的虛擬服務(wù)器,實(shí)現(xiàn)與OpenStack計(jì)算服務(wù)之間的交互。總的說來,Nova的作用相當(dāng)于一個(gè)控制器,其中Nova-API主要用于運(yùn)行實(shí)例和初始化部署,Nova Volume用于服務(wù)商卷宗的操作。
(2)Keystone:該組件主要負(fù)責(zé)用戶信息的認(rèn)證和管理,用戶的身份只有得到Keystone的認(rèn)證才能獲得通話的資格,才能在需要通話的兩個(gè)服務(wù)器之間建立連接??偟恼f來,Keystone相當(dāng)于一個(gè)服務(wù)總線,主要管理用戶的賬號(hào)、權(quán)限等信息,并根據(jù)相關(guān)標(biāo)準(zhǔn)提供授權(quán)。
(3)Swift:該組件主要提供存儲(chǔ)服務(wù),除了具有容量大、冗余容錯(cuò)性強(qiáng)、擴(kuò)展性好等常規(guī)特性外,還具有存儲(chǔ)持久、架構(gòu)對(duì)稱、無限擴(kuò)展、故障率低、適用性強(qiáng)等優(yōu)勢(shì)。它的組件主要包括Proxy Server、Authentication Server、Cache Server等10個(gè)部分,Swift通過Proxy Server向外提供基于HTTP的REST服務(wù)接口,對(duì)賬戶、容器和對(duì)象進(jìn)行CRUD等操作。
(4)Glance:該組件主要負(fù)責(zé)對(duì)虛擬映像的查詢、注冊(cè)、獲取等管理內(nèi)容,并將處理結(jié)果分享用戶。Glance組件共包含查詢(鏡像保留未上傳)、保存(鏡像上傳中)、激活(鏡像可用)和死亡(鏡像出錯(cuò)失去效用)等四種狀態(tài)。另外,該組件與前述三個(gè)組件之間相互作用,最終實(shí)現(xiàn)OpenStack的功能。
為便于說明,本文針對(duì)搭建基于OpenStack的中小企業(yè)云計(jì)算平臺(tái),通過將平臺(tái)中的物理和網(wǎng)絡(luò)資源統(tǒng)一部署到同一個(gè)局域網(wǎng)中來方便用戶的分享使用,主要為用戶提供虛擬主機(jī)和云存儲(chǔ)功能。
3.1 云計(jì)算平臺(tái)的總體結(jié)構(gòu)
本文所設(shè)計(jì)的云計(jì)算平臺(tái)中,基礎(chǔ)公用層的計(jì)算機(jī)操作系統(tǒng)選用Unbuntu Server,分析可以看出,云計(jì)算平臺(tái)主要由控制、計(jì)算、網(wǎng)絡(luò)三個(gè)方面的節(jié)組成。其中,控制節(jié)點(diǎn)作為平臺(tái)的核心環(huán)節(jié)負(fù)責(zé)監(jiān)控、協(xié)調(diào)、管理整個(gè)系統(tǒng),用戶可以通過在控制節(jié)點(diǎn)部署的各個(gè)組件進(jìn)行各種命令操作;計(jì)算節(jié)點(diǎn)作為平臺(tái)的末端環(huán)節(jié)主要負(fù)責(zé)具體的計(jì)算運(yùn)行工作;網(wǎng)絡(luò)節(jié)點(diǎn)是平臺(tái)的中間環(huán)節(jié),主要負(fù)責(zé)平臺(tái)中各種信息和數(shù)據(jù)的傳輸和配置。
3.2 云計(jì)算平臺(tái)的工作原理
由于本云計(jì)算平臺(tái)是基于OpenStack建立的,因此該平臺(tái)工作時(shí)是以O(shè)penStack中的關(guān)鍵組件作為支撐的。其中,云計(jì)算平臺(tái)的服務(wù)以及運(yùn)行狀態(tài)通過儀表盤(即Horizon組件)啟動(dòng)和監(jiān)控,云計(jì)算平臺(tái)中的具體計(jì)算任務(wù)通過計(jì)算組件即(即Nova--API組件)來進(jìn)行調(diào)度和執(zhí)行,云計(jì)算平臺(tái)中的虛擬鏡像存儲(chǔ)和檢索通過鏡像服務(wù)(即GIance-API組件)來實(shí)現(xiàn)的,云計(jì)算平臺(tái)中的數(shù)據(jù)和信息通過對(duì)象存儲(chǔ)(即Swift-API組件)來實(shí)現(xiàn)的,云計(jì)算平臺(tái)中用戶信息認(rèn)證和準(zhǔn)入管理是通過身份認(rèn)證(即Keystone組件)進(jìn)行交互。
3.3 云計(jì)算平臺(tái)的容錯(cuò)系統(tǒng)
根據(jù)前述工作原理,云計(jì)算平臺(tái)中運(yùn)行的信息均與上述的組件有關(guān),由于這些信息一般儲(chǔ)存在數(shù)據(jù)庫(kù)和日志中,雖然能夠在分析數(shù)據(jù)庫(kù)和日志中發(fā)現(xiàn)出錯(cuò)信息,但這樣的排查較為繁瑣,且常規(guī)的手動(dòng)修改會(huì)造成過高投入、信息丟失等情況,為此需要采用專門的容錯(cuò)機(jī)制。
首先,設(shè)置異常監(jiān)控層來專門提取平臺(tái)中出現(xiàn)的異常信息,并將其按照可否識(shí)別分為已定義和未定義兩種。對(duì)于可識(shí)別的異常信息,其處理流程為:發(fā)送至異常處理模塊——修正或代替出錯(cuò)信息;而對(duì)于不能識(shí)別的異常信息,其處理流程為通知管理人員手動(dòng)修復(fù)。
當(dāng)異常信息處理完畢之后,要對(duì)其進(jìn)行復(fù)查,若發(fā)現(xiàn)重復(fù)出錯(cuò)現(xiàn)象,則應(yīng)通知云計(jì)算平臺(tái)管理人員進(jìn)行手動(dòng)修復(fù)。云計(jì)算平臺(tái)的實(shí)現(xiàn)是一個(gè)復(fù)雜的研究過程,限于篇幅本文僅對(duì)平臺(tái)的結(jié)構(gòu)、工作原理和容錯(cuò)機(jī)制進(jìn)行了分析,對(duì)平臺(tái)中控制、計(jì)算、網(wǎng)絡(luò)等節(jié)點(diǎn)的部署內(nèi)容也是研究的重點(diǎn),這部分內(nèi)容需要在以后的研究中展開,本文所做的研究可以為相關(guān)理論分析和實(shí)際應(yīng)用提供參考。
主要參考文獻(xiàn)
[1]李婧.基于云計(jì)算的遠(yuǎn)程教育資源共享技術(shù)研究與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2013.
[2]劉飛宇.OpenStack云平臺(tái)下的虛擬機(jī)監(jiān)控與控制的研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2013.
[3]陳俊麗.基于云計(jì)算服務(wù)的彈性負(fù)載均衡機(jī)制的研究與實(shí)現(xiàn)[D].成都:成都理工大學(xué),2013.
[4]任薔.基于云計(jì)算的教育資源評(píng)價(jià)方法研究[D].西安:西安電子科技大學(xué),2014.
[5]張容齊.基于云計(jì)算平臺(tái)的服務(wù)自動(dòng)化部署機(jī)制研究[D].北京:北京郵電大學(xué),2015.
[6]趙長(zhǎng)明.我國(guó)二手房地產(chǎn)交易價(jià)格風(fēng)險(xiǎn)的核算[J].統(tǒng)計(jì)與決策. 2014(1).
10.3969/j.issn.1673-0194.2016.15.081
TP316
A
1673-0194(2016)15-0133-03
2016-05-20