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