cloudstack架構詳解(一)               薛忠權 ERIKXUE

我想把cloudstack的架構進行一個詳細的梳理,對自己也是一個系統又深入的學習,如果各位和我一樣正在學習cloudstack,也請幫忙一起來提意見,覺得我哪裏寫的不清楚,都可以告訴我,幫我完善文章。

 

第一篇,我想先簡單普及一下雲計算,並引出cloudstack作爲iaas平臺的功能與特點。

   雲計算的模型,特點,Cloudstack作爲IaaS平臺管理軟件的特點和宏觀架構。

第二篇,我會介紹cloudstack的主要幾個主要組成部分,及相互間的關係。

   主要組成部分包括管理節點,資源域,提供點,集羣,計算節點,主存儲,二級存儲,3個系統虛擬機。

第三篇,我會來介紹管理節點內的運行機制,如何接收命令併發送給計算節點的

   用戶使用web界面發送任務或發送API給API服務,API服務接收及處理請求,發送命令給管理節點或系統虛擬機,管理節點或SVM處理命令。

第四篇,我來詳細介紹一下系統虛擬機中的:二級存儲虛擬機(SSVM)和控制檯代理虛擬機(CPVM)

   SSVM如何管理二級存儲並與管理節點通訊,複製模板ISO快照的機制。

   CPVM的訪問方式,工作流程。

第五篇,我想介紹一下第三個系統虛擬機:虛擬路由器(VR)

   VR的安全保護,各種功能的實現,網絡架構上的作用。

本部分連載暫時不考慮關於cloudstack的網絡架構,其實這部分也非常龐大。

這五篇我計劃4天左右一篇,爭取在3周以內完成,請各位監督!(其實第一篇就耽誤了一個星期:)

 

 

那好,咱們開始第一篇。

Cloudstack的架構詳解(一)——cloudstack作爲IaaS管理平臺的功能與特點

 

 雲計算說了很多年,到現在爲止,雖然各地的雲計算項目仍然很多,但已經有更多的人開始理性思考。因爲他們慢慢的看清了中間的門道。但其實目前還有很多人對雲計算看的是雲裏霧裏的。這邊我再做一些簡單的介紹。

 

雲計算最早進入大衆視線是在2006年,亞馬遜推出彈性計算雲服務,google也在同年提出“雲計算”的概念。但到底什麼是雲計算,也一直沒有個確定性的定義,直到後來美國國家標準和技術研究院的雲計算定義中涉及了關於雲計算的部署模型:

  • 公用雲(Public Cloud)簡而言之,公用雲服務可通過網絡及第三方服務供應者,開放給客戶使用,“公用”一詞並不一定代表“免費”,但也可能代表免費或相當廉價,公用雲並不表示用戶數據可供任何人查看,公用雲供應者通常會對用戶實施使用訪問控制機制,公用雲作爲解決方案,既有彈性,又具備成本效益。

  • 私有云(Private Cloud)私有云具備許多公用雲環境的優點,例如彈性、適合提供服務,兩者差別在於私有云服務中,數據與程序皆在組織內管理,且與公用雲服務不同,不會受到網絡帶寬、安全疑慮、法規限制影響;此外,私有云服務讓供應者及用戶更能掌控雲基礎架構、改善安全與彈性,因爲用戶與網絡都受到特殊限制。

  • 社區雲(Community Cloud)社區雲由衆多利益相仿的組織掌控及使用,例如特定安全要求、共同宗旨等。社區成員共同使用雲數據及應用程序。

  • 混合雲(Hybrid Cloud)混合雲結合公用雲及私有云,這個模式中,用戶通常將非企業關鍵信息外包,並在公用雲上處理,但同時掌控企業關鍵服務及數據。

如果提供雲服務,還有幾個特點是一定要滿足的:

  1. 雲服務可以支持多租戶共同使用。

  2. 能夠按需進行自服務。

  3. 寬帶網絡的接入。

  4. 將所有資源進行池化。

  5. 快速進行彈性增減。

雲計算定義也明確了三種服務模式:

  • 軟件即服務(SaaS):消費者使用應用程序,但並不掌控操作系統、硬件或運作的網絡基礎架構。是一種服務觀念的基礎,軟件服務供應商,以租賃的概念提供客戶服務,而非購買,比較常見的模式是提供一組帳號密碼。例如: Microsoft CRM與Salesforce.com

  • 平臺即服務(PaaS):消費者使用主機操作應用程序。消費者掌控運作應用程序的環境(也擁有主機部分掌控權),但並不掌控操作系統、硬件或運作的網絡基礎架構。平臺通常是應用程序基礎架構。例如: Google App Engine。

  • 基礎架構即服務(IaaS):消費者使用“基礎計算資源”,如處理能力、存儲空間、網絡組件或中間件。消費者能掌控操作系統、存儲空間、已部署的應用程序及網絡組件(如防火牆、負載平衡器等),但並不掌控雲基礎架構。例如: Amazon AWS、Rackspace。



 

圖1.1

以上內容來自於wiki:http://zh.wikipedia.org

這三個服務模型之間是有關係的,如上圖所示,作爲IaaS層會將底層的硬件設施進行統一管理並向上提供服務。而PaaS層則建立起一個平臺向上提供服務,但不需要管理硬件設施,只要使用IaaS層提供的服務即可,對於PaaS層來說,硬件是透明的。而SaaS層則使用PaaS層這個平臺通過軟件爲用戶提供服務,而對於SaaS層的軟件來說IaaS層是完全透明的。

那麼cloudstack這個開源項目設計的初衷,即是以提供基礎架構即服務的服務模型,建成一個硬件設備及虛擬化管理的統一平臺,將計算資源、存儲設備、網絡資源進行整合,形成一個資源池,通過管理平臺進行統一管理,彈性增減硬件設備。而且根據雲環境中的五個特點,cloudstack進行了功能上的設計和優化。爲了適應雲的多租戶模式,設計了用戶的分級權限管理,通過各種技術進行,保證用戶數據的安全和隱私。用戶也可以直接通過瀏覽器訪問,在一定權限的限制下自由使用自己的資源,實現自服務的模式。在多租戶環境下,用戶使用資源的計量計費功能也是不可少的,cloudstack會通過多種手段儘可能的記錄用戶使用的所有資源情況,並將使用情況記錄下來,以提供計費時使用。對於雲系統的管理員來說,絕大部分管理工作基本通過瀏覽器訪問的界面就可完成,提供資源池化管理,高可靠性等功能,幫助雲系統管理員儘可能地將管理工作簡化和自動化,減少界面的切換。既可以直接對用戶提供租用虛擬機的服務,也開放出API接口,爲PaaS層使用提供服務。所以就有了這樣一個簡化的概念圖。

 

 

圖1.2

通過這個圖我們可以看出來,最終用戶只要在Cloudstack的平臺上直接申請和使用虛擬機就可以了,無需關注底層的硬件設備是如何使用和設計的,也不用關心自己使用的虛擬機到底在哪個計算服務器上,在哪個存儲上。

 

cloudstack系統在儘可能的增加,開放的兼容性。可以管理多種Hypervisor的虛擬化程序,包括XenServer,VMware,KVM,OracleVM,裸設備。凡是這些虛擬化程序可以支持的計算服務器,Cloudstack也都是可以正常支持,這樣就有了非常廣泛的兼容性。



 圖1.3

Cloudstack可以使用的存儲類型也非常的廣泛。建立虛擬機所使用的主存儲可以使用計算服務器自己的本地磁盤,也可以掛載iSCSI,光纖,NFS存儲。存放光盤鏡像模版的二級存儲可以使用NFS外,還可以使用Openstack的swift組件。在下一篇我會來介紹什麼是主存儲什麼二級存儲。



 圖1.4

cloudstack除了支持各種網絡的連接方式,不需要硬件設備,系統身就會提供多種的網絡服務,就可以實現如:網絡隔離,防火牆,負載均衡,***等功能。這樣既可以達到靈活控制,並且可以提供給用戶自己進行配置,省去了管理員大量的配置工作,還可以節省硬件成本,其實是個一舉多得的聰明做法。


 圖1.5



            

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章