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