開源云計算平臺CloudStack架構淺析
什么是CloudStack
CloudStack是一個開源的具有高可用性及擴展性的云計算平臺。目前CloudStack支持管理大部分主流的hypervisors,如 KVM,XenServer,VMware,Oracle VM,Xen等。同時CloudStack是一個開源云計算解決方案??梢约铀俑呱炜s性的公共和私有云(IaaS)的部署、管理、配置。使用 CloudStack作為基礎,數據中心操作者可以快速方便的通過現存基礎架構創建云服務。
CloudStack概念架構
用戶:通過網絡訪問屬于我的虛擬機、存儲空間、管理我的個人模板。
管理員:部署配置,管理賬戶,監控資源,安排作業,排除故障
開發人員:開發計費、監控、統計報表等功能模塊,定制圖形界面、工作流
CloudStack部署架構
Zone:Zone 對應于現實中的一個數據中心,它是 CloudStack 中***的一個單元。
Pod:Pod 對應著一個機架。同一個 pod 中的機器在同一個子網(網段)中。
Cluster:Cluster 是多個主機組成的一個集群。同一個 cluster 中的主機有相同的硬件,相同的 Hypervisor,和共用同樣的存儲。同一個 cluster 中的虛擬機,可以實現無中斷服務地從一個主機遷移到另外一個上。
Host:Host 就是運行虛擬機(VM)的主機。
即從包含關系上來說,一個 zone 包含多個 pod,一個 pod 包含多個 cluster,一個 cluster 包含多個 host。
Primary storage:一級存儲與 cluster 關聯,它為該 cluster 中的主機的全部虛擬機提供磁盤卷。一個 cluster 至少有一個一級存儲,且在部署時位置要臨近主機以提供高性能。
Secondary storage:二級存儲與 zone 關聯,它存儲模板文件,ISO 鏡像和磁盤卷快照。
模板:可以啟動虛擬機的操作系統鏡像,也包括了諸如已安裝應用的其余配置信息。
ISO 鏡像:包含操作系統數據或啟動媒質的磁盤鏡像。
磁盤卷快照:虛擬機數據的已儲存副本,能用于數據恢復或者創建新模板。
CloudStack的軟件架構
下圖是CloudStack的軟件架構:
#p#
CloudStack跟KVM一起部署的架構
下圖是CloudStack跟kvm一起部署的架構:
在每個kvm的宿主機上都需要部署agent程序。
CloudStack跟vsphere一起部署的架構
下圖是CloudStack跟vsphere一起部署的架構:
如果部署vmware的產品就必須部署vcenter server。
CloudStack支持的存儲類型
下圖是CloudStack所支持的存儲類型:
CloudStack的API
- Web Services
- REST架構
- 支持POST / GET請求
- 返回XML或JSON響應格式
- root管理員、域管理員和用戶
CloudStack和OpenStack的比較
下面我們就來看一來兩大云平臺的比較: