了解OpenStack

姓名:穆培婷

學(xué)號:17101223414

專業(yè):軟件工程

本文轉(zhuǎn)載自:http://os.51cto.com/art/201205/336386_all.htm

本文視頻來源:http://www.iqiyi.com/w_19rue1levh.html

【嵌牛導(dǎo)讀】:OpenStack既是一個社區(qū),也是一個項目和一個開源軟件,它提供了一個部署云的操作平臺或工具集。其宗旨在于,幫助組織運行為虛擬計算或存儲服務(wù)的云,為公有云、私有云,也為大云、小云提供可擴展的、靈活的云計算。

【嵌牛鼻子】:OpenStack? 云計算? 開源

【嵌牛提問】:OpenStack是什么?OpenStack架構(gòu)是什么樣子的?

【嵌牛正文】:

1. OpenStack是什么

OpenStack既是一個社區(qū),也是一個項目和一個開源軟件,它提供了一個部署云的操作平臺或工具集。其宗旨在于,幫助組織運行為虛擬計算或存儲服務(wù)的云,為公有云、私有云,也為大云、小云提供可擴展的、靈活的云計算。

OpenStack旗下包含了一組由社區(qū)維護的開源項目,他們分別是OpenStackCompute(Nova),OpenStackObjectStorage(Swift),以及OpenStackImageService(Glance)。

OpenStackCompute,為云組織的控制器,它提供一個工具來部署云,包括運行實例、管理網(wǎng)絡(luò)以及控制用戶和其他項目對云的訪問(thecloudthroughusersandprojects)。它底層的開源項目名稱是Nova,其提供的軟件能控制IaaS云計算平臺,類似于AmazonEC2和RackspaceCloudServers。實際上它定義的是,與運行在主機操作系統(tǒng)上潛在的虛擬化機制交互的驅(qū)動,暴露基于WebAPI的功能。

OpenStackObjectStorage,是一個可擴展的對象存儲系統(tǒng)。對象存儲支持多種應(yīng)用,比如復(fù)制和存檔數(shù)據(jù),圖像或視頻服務(wù),存儲次級靜態(tài)數(shù)據(jù),開發(fā)數(shù)據(jù)存儲整合的新應(yīng)用,存儲容量難以估計的數(shù)據(jù),為Web應(yīng)用創(chuàng)建基于云的彈性存儲。

OpenStackImageService[1],是一個虛擬機鏡像的存儲、查詢和檢索系統(tǒng),服務(wù)包括的RESTfulAPI允許用戶通過HTTP請求查詢VM鏡像元數(shù)據(jù),以及檢索實際的鏡像。VM鏡像有四種配置方式:簡單的文件系統(tǒng),類似OpenStackObjectStorage的對象存儲系統(tǒng),直接用Amazon'sSimpleStorageSolution(S3)存儲,用帶有ObjectStore的S3間接訪問S3。

三個項目的基本關(guān)系如下圖所示:

OpenStack三個組件的關(guān)系

2. OpenStack架構(gòu)

OpenStack架構(gòu)詳解圖

假如我們把OpenStack拆解成若干個主要部分,就會分成兩個基礎(chǔ)環(huán)境,分別叫做操作運維環(huán)境和執(zhí)行運行環(huán)境。它的運作方式是這樣的,你在創(chuàng)建云的時候必須要創(chuàng)建一個允許你構(gòu)建、監(jiān)控和管理這個云的操作環(huán)境,然后這個云會執(zhí)行,人們、租戶和其他用戶能在哪里連接云和創(chuàng)建虛擬工作量。

我們看看這當(dāng)中的主要構(gòu)成部分,就會發(fā)現(xiàn)這兩種環(huán)境里有一個用戶界面層,這是人們交互的層面,包括操作人員和管理員,還有在執(zhí)行層面上操作的租戶??梢钥吹轿覀兊姆?wù)構(gòu)成這兩種環(huán)境的基礎(chǔ)。在底下,我們還有一套共享的子系統(tǒng),依托Debian操作系統(tǒng)分發(fā)和客戶供應(yīng)的或者解決方案自帶的一系列基礎(chǔ)設(shè)施。

接下來介紹構(gòu)成部分。首先就是構(gòu)成操作環(huán)境和執(zhí)行環(huán)境這兩部分的服務(wù)。為了構(gòu)建HP Helion OpenStack,我們使用了OpenStack的各種核心服務(wù),其中包括Keystone之類。Keystone是OpenStack的身份服務(wù),用來識別用戶和群組,還能為云端的各種服務(wù)提供身份、驗證和授權(quán)。Heat是一種業(yè)務(wù)流程服務(wù),你可以用Heat在所有OpenStack服務(wù)里進行編排,在使用個別服務(wù)來創(chuàng)建虛擬資源時可以利用Heat模板,然后調(diào)配起來構(gòu)建更加復(fù)雜的虛擬資源。Heat底下是構(gòu)建那些虛擬資源的OpenStack基本核心服務(wù),例如Swift。Swift是一種對象存儲服務(wù),可用來創(chuàng)建對象存儲群,以存儲你可能在云端使用的所有對象,對象主要是數(shù)據(jù)塊和你想存儲的其他類文件。除了Swift之外,還支持Glance。Glance是鏡像庫服務(wù),將所有要用的鏡像存儲起來,以便在OpenStack云里創(chuàng)建虛擬機。為了創(chuàng)建這些虛擬機,我們還支持Nova。Nova服務(wù)讓你可以和虛擬機監(jiān)控程序交互,以便創(chuàng)建虛擬機,多種虛擬機監(jiān)控程序都受支持,但是你把Nova當(dāng)做界面來創(chuàng)建虛擬機。除了Nova,我們還支持Cinder,還有Neuton。Cinder和Neutron是兩種服務(wù),Cinder可用于卷存儲或塊存儲,如果你想創(chuàng)建與虛擬機連接的塊存儲,我們可支持OpenStack Cinder創(chuàng)建卷和掛載卷。如果你在工作量部署中需要創(chuàng)建虛擬網(wǎng)絡(luò),利用Neutron就能在云端部署虛擬覆蓋網(wǎng)絡(luò)。

其實,我們在操作環(huán)境中還支持多種服務(wù)。為了部署云和在云端進行更新,我們支持OpenStack的Triple O。Triple O是建立在OpenStack上游的一種服務(wù),可用來創(chuàng)建或使用OpenStack,創(chuàng)建更大的OpenStack云,所以是用OpenStack里的邏輯能力來構(gòu)建云以及管理和更新這個云。

Triple O底下使用OpenStack里面的一項子系統(tǒng)服務(wù),叫Ironic。Ironic負責(zé)與虛擬機之間的所有交互,好讓他們做好準備,把他們在云端設(shè)置為節(jié)點,這些云端節(jié)點自然會運行這些OpenStack服務(wù)并且構(gòu)建隨后租戶實際上經(jīng)常使用的云。

此外,我們在操作面添加了增值服務(wù),在Helion OpenStack里,我們加入增值服務(wù),把OpenStack變成了企業(yè)客戶可以使用的分發(fā)版。我們對操作環(huán)境里的服務(wù)面加入了增值服務(wù),其中一項增值服務(wù)叫做Eon。Eon用于進行ESX集成,ESX集成意味著我們作為高度包容的供應(yīng)商可支持Nova、VMware、ESX和HyperVisor。我們需要一項服務(wù)來進行這種配置以及構(gòu)建和添加這些ESX群,Eon就是我們需要的服務(wù)。此外,我們還支持Sirius這項服務(wù)。Sirius服務(wù)用于配置Cinder,當(dāng)你在后端配置存儲為你的虛擬機提供塊存儲時,你需要某種服務(wù)來識別和配置你想用來創(chuàng)建塊存儲的群組以及如何結(jié)合卷類型,那是Cinder的概念,這是一種后端服務(wù),實際上它創(chuàng)建了上述配置。

除了所有這些服務(wù)之外,還部署了一道UI層作為Helion OpenStack的一部分,Helion OpenStack的UI層有控制面板:一個操作面板,一個用戶訪問面板。兩個面板都基于上游OpenStack Horizon面板。Horizon控制面板是一個框架和一組視圖,可以跟OpenStack服務(wù)結(jié)合使用,我們利用這個Horizon框架加上更多視圖,對應(yīng)我們在操作面提供的服務(wù)。我們?yōu)镋on和Sirius增加了視圖。這兩個視圖提供的用戶界面對應(yīng)的服務(wù)讓你可以配置Cinder存儲和ESX群,所以非常有助于企業(yè)客戶簡化云端那些方面的配置。Triple O架構(gòu)本身簡化了你的云部署、擴展和更新方式。

操作環(huán)境UI還包括其他面板,分別叫做IMC面板和CMC面板,這兩個面板是Helion

OpenStack的組成部分,取決于你是否為Cinder使用存儲后端、是否使用3Par或VSA虛擬存儲,為3PAR使用IMC,為VSA虛擬存儲使用CMC,這些面板讓你能真正配置和管理那幾類集成到Cinder的存儲環(huán)境。此外,我們還有一個用于監(jiān)控的Icinge Web面板,Icinge集成到整套服務(wù)中,我們監(jiān)控這些服務(wù)并確保其穩(wěn)健,Icinge面板讓你能看見OpenStack上運行的服務(wù)、Helion OpenStack分發(fā)和穩(wěn)健狀況。另外,我們還有一個面板叫Cabana,讓你能在我們所有集中化日志上搜索。除了Eon和Sirius,我們添加到操作面板的視圖還有一個叫Sherpa。Sherpa視圖不僅添加到操作面板上,還添加到客戶面板上。通過Sherpa可訪問Helion分發(fā)網(wǎng)絡(luò),這個分發(fā)網(wǎng)絡(luò)提供你可能會用在執(zhí)行面上的云補丁、更新、鏡像、范例鏡像。所以在操作面提供的Sherpa就是為了更新和補丁,在執(zhí)行面也提供,是為了范例鏡像等等。這些全部都構(gòu)建在一系列子系統(tǒng)上,這些子系統(tǒng)把一系列的功能帶給云上運行的全部一系列服務(wù)。

從操作角度和執(zhí)行角度來看,我們在Helion OpenStack分發(fā)版里構(gòu)建的服務(wù)類型,類似于恢復(fù)服務(wù)(Recovery)?;謴?fù)服務(wù)負責(zé)備份和還原上述兩種環(huán)境里的所有數(shù)據(jù)庫,就是我們在操作面的所有數(shù)據(jù)庫以及構(gòu)成云本身的所有數(shù)據(jù)庫,我們對這些數(shù)據(jù)庫進行備份和恢復(fù)。所以,加入發(fā)生某種故障或者某種操作問題可以進行恢復(fù),還原到一個已知點。此外,我們還包括了監(jiān)控(monitions)。Icinga被用來實際監(jiān)控整個云上的所有服務(wù),然后注入到Icinga網(wǎng)絡(luò)控制面板,就是UI部分展示的面板。除此之外,我們還提供集中化日志(Logstash)。我們使用Logstash以便收集所有節(jié)點上而不是云上的所有日志,然后帶到一個集中點上,這樣就可以用Cabana搜索了。Cabana是集中化日志的UI方面,而集中化日志被嵌入到解決方案和故障轉(zhuǎn)移(Failure)里。故障轉(zhuǎn)移就是能夠讓操作面或執(zhí)行面上的任何服務(wù)處于活動狀態(tài),這樣就能復(fù)制這些服務(wù),一旦出現(xiàn)某種故障,服務(wù)仍然可以保持正常,執(zhí)行環(huán)境里的所有OpenStack服務(wù)全部處于活動狀態(tài),故障轉(zhuǎn)移。如果其中的服務(wù)發(fā)生故障,在不止一個節(jié)點上運行,服務(wù)會繼續(xù)運行。至于訪問云端的租戶,不會察覺到故障。這當(dāng)中的概念是我們將故障轉(zhuǎn)移服務(wù)嵌入到OpenStack分發(fā)版里,然后我們的云對租戶的可用性就非常高,假如有什么狀況發(fā)生,我們會在監(jiān)控中發(fā)現(xiàn),然后就能在Icinga控制面板上表示其中一項服務(wù)發(fā)生狀況了,即使它仍然在執(zhí)行中,也可以做到。如果你想進行故障排除,看看服務(wù)出了什么狀況,可以在Cabana里使用我們的集中化日志來查明發(fā)生了什么問題,解決問題,進行更新,讓云繼續(xù)運行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容