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