1 OpenStack的特點
OpenStack是一個完全開源的
云計算系統(tǒng),使用者可以在需要的時候修改代碼來滿足需要并作為開源或商業(yè)產(chǎn)品發(fā)布/銷售;OpenStack是基于強大的社區(qū)開發(fā)模式,任何公司和個人都可以參與到項目中,參與測試開發(fā),貢獻代碼;0penStack被專門基金會管理,可以說是一個真正開源的云計算項目;OpenStack為組建云提供了必要的軟件、控制臺和API;
OpenStack以user和project身份來啟動實例,管理網(wǎng)絡(luò)訪問規(guī)則和控制訪問權(quán)限,給用戶提供強大的靈活性和擴展性;OpenStack全部組件都由python編程語言開發(fā),和Java等其它編程語言相比,python程序具有非常高的并發(fā)處理能力和極低的系統(tǒng)資源占用率,增加了系統(tǒng)的性能和穩(wěn)定性,且代碼易于維護和擴展。
2 Openstack設(shè)計原則
①Scalability and elasticity are our main goals(可擴展性和伸縮性是我們的主要目標);②Any feature that limits our main goals must be optional(任何影響到可擴展性和伸縮性的功能都必須是可選的);③Everything should be asynchronous,If you can't do something asynchronously,see#2(所有的環(huán)節(jié)必須是異步的,如果不能異步實現(xiàn),參考第②條設(shè)計原理);④All required components must be horizontally scalable(所有的基礎(chǔ)組件必須能橫向擴展);⑤Always use shared nothing architecture(SN) or sharding,If you can't share nothing/shard,see#2(始終使用無共享的架構(gòu),如果不能實現(xiàn),參見第②條);⑥D(zhuǎn)istribute everything especially logic.Move logic to where state naturally exists(所有的都是分布式的,尤其是邏輯。把邏輯放在狀態(tài)應(yīng)該存在的地方);⑦Accept eventual consistency and use it where it is appropriate(接受最終一致性,并在適合的條件下使用);⑧Test everything(充足的測試)。
3 OpenStack的構(gòu)成
Openstack發(fā)展到目前版本,主要由六大組件構(gòu)成,如圖1所示。
圖1 OpenStack構(gòu)成
(1)OpenStack Compute(Nova)計算服務(wù)。運行在主機操作系統(tǒng)上潛在的虛擬化機制交互的驅(qū)動,并提供基于Web的API功能。
(2)OpenStack Object Storage(Swift)存儲服務(wù)?蓴U展的對象存儲系統(tǒng),可以用來創(chuàng)建基于云的彈性存儲。
(3)Image Service(Glance)鏡像服務(wù)。虛擬機鏡像的存儲、查詢和檢索系統(tǒng)。
(4)OpenStack Identity(Keystone)認證服務(wù)。為運行OpenStack Compute上的OpenStack云提供了認證和管理用戶、帳號和角色信息服務(wù),并為OpenStack Object Stor—age提供授權(quán)服務(wù)。
(5)OpenStack Dashboard(Horizon)UI服務(wù)。Open—Stack的Web管理控制臺,可以通過Web界面訪問的方式來操作管理網(wǎng)絡(luò)和虛擬機實例等。
(6)OpenStack Quantum&Melange網(wǎng)絡(luò)&地址管理。提供了虛擬網(wǎng)絡(luò)和1P地址管理服務(wù)。
4 OpenStack各組件之間的關(guān)系
0penStack項目總的來說被設(shè)計為一個“可交付的大型可伸縮的云操作系統(tǒng)”。為了達到這個目標,每個組成服務(wù)目的是在一起工作來提供一個完整的基礎(chǔ)設(shè)施即服務(wù)(IaaS)。這種集成通過每個服務(wù)提供公共應(yīng)用程序編程接口(API)來實現(xiàn)。因為這些API被用作服務(wù)與服務(wù)之間相互協(xié)調(diào)的唯一方式,所以也允許底層的這些服務(wù)可以任意替換,而不會影響其它服務(wù),因為與這些服務(wù)相互通訊的API永遠不會變化。這些組件最終也都提供相同的API給云的終端用戶。
圖2是OpenStack的六大組件的邏輯關(guān)系圖。
圖2 六大組件的邏輯關(guān)系
由圖2,我們可以總結(jié)出以下幾點;①Dashboard提供了一個統(tǒng)一的Web操作界面來訪問其它的OpenStack服務(wù);②Compute通過Image存儲和檢索虛擬磁盤文件和相關(guān)元數(shù)據(jù);③Network為compute提供了虛擬網(wǎng)絡(luò);④Block Storage為compute提供了存儲卷;⑤Image可以將實際的虛擬磁盤文件存儲到0bject Store上;⑥所有服務(wù)都要通過keystone來授權(quán)訪問。
5 OpenStack的邏輯架構(gòu)
圖3是OpenStack各個組件之間的邏輯關(guān)系圖。
圖3 OpenStack備組件之間邏輯關(guān)系
由圖3,可以總結(jié)出以下幾點:①終端用戶通過nova—api對話來與OpenStack Compute交互,通過glanee-api對話來與0penStack Glance交互,通過OpenStack ObjectAPI來與OpenStack swift交互;②OpenStaek Compute守護進程之間通過隊列(行為)和數(shù)據(jù)庫(信息)來交換信息,以執(zhí)行API請求;③OpenStack Glance與OpenStack Swift基本上都是獨立的基礎(chǔ)架構(gòu),OpenStack Compute通過Grlance API和0biect API來進行交互。
其各個組建的情況如下:①nova—api守護進程是OpenStack Compute的中心。它給所有API查詢(Compute API或EC2 API)提供端點,初始化界大多數(shù)部署活動(比如運行實例),以及實施一些策略(絕大多數(shù)的配額檢查);②Nova-compute進程主要是一個創(chuàng)建和終止虛擬機實力的Workder守護進程。其過程相當復雜,但是基本原理很簡單:從隊列中接受行為,然后在更新數(shù)據(jù)庫的狀態(tài)時,通過一系列的系統(tǒng)命令執(zhí)行;③Nova-volume負責管理映射到計算機實例的卷的創(chuàng)建、附加、取消和刪除。這些卷可以來自很多提供商,比如ISCSI和AoE;④Novanetwork worker守護進程類似于nova-compute和nova- volume。它們從隊列中接受網(wǎng)絡(luò)任務(wù),然后執(zhí)行任務(wù)以操控網(wǎng)絡(luò),比如創(chuàng)建bridging interfaces或者改變iptables rules;⑤Queue提供中心hub,為守護進程傳遞消息。當前用RabbitMQ實現(xiàn)。但是理論上是python ampqlib支持的任何AMPQ消息隊列;⑥Nova database存儲云基礎(chǔ)架構(gòu)中的絕大多數(shù)編譯時和運行時狀態(tài)。這包括了可用的實例類型,在用的實例,可用的網(wǎng)絡(luò)和項目。理論上,OpenStack Compute能支持SQL-Alchemy支持的任何數(shù)據(jù)庫,當前廣泛使用sqlite3(僅用于測試和開發(fā)工作)、MySQL和PostgreSQL;⑦OpenStack Glance是一個單獨的項目,它是一個compute架構(gòu)中可選的部分,分為3個部分:glance—api,glance—registry和image store。其中,glance—api接受OpenStack image API調(diào)用,glance-registry負責存儲和檢索鏡像的元數(shù)據(jù),實際的Image Blob存儲在Image Store中。Image Store可以是多種不同的ObjectStore,包括OpenStack Ojbect Storage(Swift);⑧Open—Stack Swift是一個單獨的項目,它是分布式存儲架構(gòu),能防止單點故障并支持橫向擴展。它包括以下4個部分:swift-proxy,account,container和oh/ect。swift-proxy通過接收0penStack Object API或者HTTP傳人的請求,接受文件上傳、修改元數(shù)據(jù)或容器創(chuàng)建。此外,它還將提供文件或容器清單到瀏覽器上。swiftproxy可以使用一個可選的緩存(通常部署在memcache中)來提高性能。account管理賬戶定義對象存儲服務(wù)。container管理一個映射的容器(即文件夾)在對象存儲服務(wù)。對象服務(wù)器管理實際對象(例如文件)在存儲節(jié)點。
6 結(jié)語
OpenStaek很可能成為未來云計算平臺的標準,只要遵循統(tǒng)一的標準,用戶便可以隨意將自己的應(yīng)用部署到不同的云平臺,而不需要對應(yīng)用做任何修改。在未來統(tǒng)一的標準下,用戶完全不用關(guān)心云服務(wù)提供商是用0penStaek構(gòu)建的云還是其它平臺構(gòu)建的云,只需要把應(yīng)用部署到云即可,然后為使用的云資源付費。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標題:OpenStack開源云計算平臺
本文網(wǎng)址:http://www.ezxoed.cn/html/support/11121510359.html