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