iaas層面雲平臺對比

系統構架
Eucalyptus   前端

  Eucalyptus是一個與Amazon EC2兼容的IaaS系統。Eucalyptus包括雲控制器(CLC)、Walrus、集羣控制器(CC)、存儲控制器(SC)和節點控制器(NC)。 CLC是整個Eucalyptu系統的核心,負責高層次的資源調度,例如向CC請求計算資源。Walrus是 一個與Amazon S3相似的存儲服務,主要用於存儲虛擬機映像和用戶數據。CC是一個集羣的前端,負責協調一個集羣內的計算資源,而且管理集羣內的網絡流量。SC是一個與 Amazon EBS相似的存儲塊設備服務,能夠用來存儲業務數據。NC是最終的計算節點,經過調用操做系統層的虛擬化技術來啓動和關閉虛擬機。在同一個集羣(CC)內 的全部計算節點(NC)必須在同一個子網內。 在一個集羣(CC)內一般須要部署一臺存儲服務器(SC),爲該集羣內的計算節點提供數據存儲服務。

Eucalyptus 經過Agent的方式來管理計算資源。在每個計算節點上,都須要運行一個eucalyptus-nc的服務。該服務在集羣控制器(CC)上註冊後,雲控 制器(CLC)便可經過集羣控制器(CLC)將須要運行的虛擬機映像文件(EMI)拷貝到該計算節點上運行。

Eucalyptus將虛擬 機映像文件存儲在Walrus上。當用戶啓動一個虛擬機實例的時候,Eucalyptus首先將相應的虛擬機映像(EMI)從Walrus拷貝到將要運行 該實例的計算節點(NC)上。當用戶關閉(或者是因爲意外而重啓)一個虛擬機實例的時候,對虛擬機所作的修改並不會被寫回到Walrus上原來的虛擬機映 像(EMI)上,全部對該虛擬機的修改都會丟失。若是用戶須要保存修改過的虛擬機,就須要利用工具(euca2ools)將該虛擬機實例保存爲新的虛擬機 映像(EMI)。若是用戶須要保存數據,則須要利用存儲服務器(SC)所提供的彈性塊設備來完成。


OpenStack     編程

OpenStack是一個與Amazon EC2兼容的IaaS系統。OpenStack包括OpenStack Compute和OpenStack Object Storage兩個部分。

OpenStack Compute又包含Web前端、計算服務、存儲服務、身份認證服務、存儲塊設備(卷)服務、網絡服務、任務調度等多個模塊。OpenStack Compute的不一樣模塊之間不共享任何信息,經過消息傳遞進行通信。所以,不一樣的模塊能夠運行在不一樣的服務器上,也能夠運行在同一臺服務器上。

OpenStack Object Store能夠利用通用服務器搭建可擴展的海量數據倉庫,而且經過冗餘來保證數據的安全性。同一份數據的在多臺服務器上都有副本,將出現故障的服務器從集 羣中撤除不會影響數據的完整性,加入新的服務器後系統會自動地在新的服務器上爲相應的文件建立新的副本。從功能上講,OpenStack Object Store同時具有Eucalyptus中的Walrus服務和彈性塊設備(SC)服務。不過OpenStack Object Store不是一個文件系統,不可以保證數據的實時性。從這個方面來考慮,OpenStack Object Store更適合用於存儲須要長期保存的靜態數據,例如操做系統映像文件和多媒體數據。

OpenStack經過Agent的方式來管理計算資源。在每個計算節點上,都須要運行nova-network服務和nova-compute服務。這些服務啓動以後,就能夠經過消息隊列來與雲控制器進行交互。瀏覽器


OpenNebula    安全

OpenNebula 的構架包括三個部分:驅動層、核心層、工具層。驅動層直接與操做系統打交道,負責虛擬機的建立、啓動和關閉,爲虛擬機分配存儲,監控物理機和虛擬機的運行 情況。核心層負責對虛擬機、存儲設備、虛擬網絡等進行管理。工具層經過命令行界面/瀏覽器界面方式提供用戶交互接口,經過API方式提供程序調用接口。

OpenNebula 使用共享存儲設備(例如NFS)來提供虛擬機映像服務,使得每個計算節點都可以訪問到相同的虛擬機映像資源。當用戶須要啓動或者是關閉某個虛擬機 時,OpenNebula經過SSH登錄到計算節點,在計算節點上直接運行相對應的虛擬化管理命令。這種模式也稱爲無代理模式,因爲不須要在計算節點上安 裝額外的軟件(或者服務),系統的複雜度也相對下降了。

OpenQRM   服務器

  OpenQRM是爲了管理混合虛擬化環境而開發的一個虛擬化管理框架,包括基礎層(框架層)和插件。基礎層(框架)的做用是管理不一樣的插件,而對虛擬資源 的管理(計算資源,存儲資源,映像資源)都是經過插件來實現的。OpenQRM的框架相似於Java語言中的Interface,定義了一系列虛擬機資源 生命週期管理的方法,例如建立、啓動、關閉虛擬機等等。在個框架的基礎上,OpenQRM針對不一樣的虛擬化平臺(Xen、KVM)實現了不一樣的插件,用來 管理不一樣的物理和虛擬資源。當出現新的資源須要支持的時候,只須要爲OpenQRM編寫新的插件,就能夠無縫地整合到原來的環境中去。

OpenQRM 插件也是使用無代理模式工做的。當須要管理的目標節點提供SSH登陸方式時,OpenQRM插件經過SSH登錄到計算節點,在計算節點上直接運行相對應的 虛擬化管理命令。當須要管理的目標節點提供HTTP/HTTPS/XML-RPC遠程調用接口時,OpenQRM插件經過目標節點所提供的遠程調用接口實 現對目標平臺的管理。

OpenQRM是一個虛擬化管理平臺,不提供與Amazon EC2兼容的雲管理接口。網絡


XenServer   框架

 XenServer 是對Xen虛擬化技術的進一步封裝,在Dom0上提供一系列命令行和遠程調用接口,獨立的管理軟件XenCenter經過遠程調用這些接口來管理多臺物理 服務器。XenSever在標準Xen實現之上所實現的遠程調用接口相似於其餘虛擬化管理平臺中所實現的Agent,所以XenServer是經過 Agent方式工做的。因爲只考慮對Xen虛擬化技術的支持,XenServer的構架相對簡單。

XenServer是一個虛擬化管理 平臺,不提供與Amazon EC2兼容的雲管理接口。管理軟件XenCenter是運行在Windows操做系統上的,對於須要隨時隨地訪問管理功能的系統管理員來講有點不便。目前 有一些第三方提供的開放源代碼的基於瀏覽器的XenServer管理工具,可是都還處於比較早期的階段。編程語言


Oracle VM    工具

Oracle VM包括Oracle VM Server和Oracle VM Manager兩個部分。Oracle VM Server在支持Xen的Oracle Linux上(Dom0)運行一個與Xen交互的Agent,該Agent爲Oracle VM Manager提供了遠程調用接口。Oracle VM Manager經過一個Java應用程序來對多臺Oracle VM Server上的虛擬資源進行管理和調度,同時提供基於瀏覽器的管理界面。因爲只考慮對Xen虛擬化技術的支持,Oracle VM Server / Manager的構架相對簡單。

Oracle VM是一個虛擬化管理平臺,不提供與Amazon EC2兼容的雲管理接口。

值 得注意的是,Oracle VM Manager還經過Web Service的方式提供了虛擬機軟件生命週期管理的全部接口,使得用戶能夠本身使用不一樣的編程語言來調用這些接口來開發本身的虛擬化管理平臺。不過因爲 Oracle在開放源代碼方面的負面形象,彷佛沒有看到有這方面的嘗試。


CloudStackspa

CloudStack     與OpenQRM相似,CloudStack採用了「框架 + 插件」的系統構架,經過不一樣的插件來提供對不一樣虛擬化技術的支持。對於標準的Xen / KVM計算節點,CloudStack須要在計算節點上安裝Agent與控制節點進行交互;對於XenServer / VMWare計算節點,CloudStack經過XenServer / VMWare所提供的XML-RPC遠程調用接口與計算節點進行交互。



ConVirt

自己是一個虛擬化管理平臺,可是它經過CloudBridge提供了與Amazon EC2相兼容的雲管理接口,對外提供IaaS服務。
ConVirt     ConVirt是一個虛擬化管理平臺,使用無代理模式工做。當須要管理的目標節點提供SSH登陸方式時,ConVirt經過SSH登錄到計算節點,在計 算節點上直接運行相對應的虛擬化管 理命令。當須要管理的目標節點提供HTTP/HTTPS/XML-RPC遠程調用接口時,ConVirt插件經過目標節點所提供的遠程調用接口實現對目標平臺的管理。

是 一個虛擬化管理平臺,不提供與Amazon EC2兼容的雲管理接口。可是ConVirt 3.0提供了與Amazon EC2 / Eucalyptus的用戶接口,使得ConVirt用戶可以在同一個Web 管理界面下同時管理Amazon EC2 / Eucalyptus提供的虛擬計算資源。

相關文章
相關標籤/搜索