一、CloudStack是一個開源的具備高可用性及擴展性的雲計算平臺。html
2、其實CloudStack更像是一個商業化事後的產品,有着很是好的用戶界面,各個模塊默認集成的很好,且安裝與部署過程也相對容易一些。java
三、Cloudstack支持管理大部分主流的hypervisors,如KVM,XenServer,VMware,Oracle VM,Xen等。shell
4、CloudStack具備商業軟件所擁有的完善的用戶權限管理,可讓用戶構建一個安全的多租戶雲計算環境。同時兼容Amazon AWS API 接口,可用來管理AWS的資源。數據庫
五、CloudStack 採用了典型的分層結構:客戶端、核心引擎、以及資源層。它面向各種型的客戶提供了不一樣的訪問方式:Web Console、Command Shell 和 Web Service API。經過它們,用戶能夠管理使用在其底層的計算資源(又分爲主機、網絡和存儲),完成諸如在主機上分配虛擬機,配給虛擬磁盤等功能。apache
六、系統架構圖:centos
虛擬機若是使用 Xen 和KVM,須要安裝 CloudStack Agent 來支持其與管理服務器的交互。而管理服務器和 Xen Server 交互則是靠 XAPI,和 vCenter、ESX 交互靠 HTTP。安全
七、部署圖:服務器
Zone:Zone 對應於現實中的一個數據中心,它是 CloudStack 中最大的一個單元。網絡
Pod:Pod 對應着一個機架。同一個 pod 中的機器在同一個子網(網段)中。架構
Cluster:Cluster 是多個主機組成的一個集羣。同一個 cluster 中的主機有相同的硬件,相同的 Hypervisor,和共用一樣的存儲。同一個 cluster 中的虛擬機,能夠實現無中斷服務地從一個主機遷移到另一個上。
Host:Host 就是運行的虛擬機(VM)主機。
即從包含關係上來講,一個 zone 包含多個 pod,一個 pod 包含多個 cluster,一個 cluster 包含多個 host。
CloudStack 中存在兩種存儲:
Primary storage:一級存儲與 cluster 關聯,它爲該 cluster 中的主機的所有虛擬機提供磁盤卷。一個 cluster 至少有一個一級存儲,且在部署時位置要臨近主機以提供高性能。
Secondary storage:二級存儲與 zone 關聯,它存儲模板文件,ISO 鏡像和磁盤卷快照。
8、提供點(Pods):
一個提供點一般表明一個機架,機櫃裏面的主機在同一個子網,每一個區域中必須包含一個或多個提供點,提供點中包含主機和主存儲服務器, CloudStack 的內部管理通訊配置一個預留 IP 地址範圍。預留的 IP 範圍對雲中的每一個區域來講必須惟一。
9、集羣(Clusters):
Cluster 是多個主機組成的一個集羣。
同一個cluster中的主機有相同的硬件,相同的 Hypervisor,和共用一樣的存儲。同一個 cluster 中的虛擬機,能夠實現無中斷服務地從一個主機遷移到另一個上。
集羣由一個或多個宿主機和一個或多個主要存儲服務器構成。集羣的大小取決於下層虛擬機軟件。大多數狀況下基本無建議。當使用VMware時,每一個VMware集羣都被vCenter 服務器管理。管理員必須在本產品中登記vCenter。每一個zone下能夠有多個vCenter服務器。每一個vCenter服務器可能管理多個VMware集羣
10、主機(Hosts):
Host 就是運行的虛擬機(VM)主機。
宿主機就是個獨立的計算機。宿主機運行來賓虛擬機並提供其相應的計算資源。每一個宿主機都裝有虛擬機軟件來運行來賓虛擬機。好比一個開啓了kvm支持的服務器,一個思傑XenServer服務器,或者一個ESXi服務器均可以做爲宿主機。
宿主機在CloudStack部署中屬於最小的組織單元。宿主機包含於集羣中,集羣又屬於提供點,而區域中包含提供點(就是在邏輯概念上zone>pod>cluster>host),新增的宿主機能夠隨時添加以提供更多資源給來賓虛擬機,CloudStack自動探測宿主機的cpu數量和內存資源。宿主機對終端用戶不可見。終端用戶不能決定他們的虛擬機被分配到哪臺宿主機。
11、存儲(Primary Storage):
一級存儲與 cluster 關聯,它爲該 cluster 中的主機的所有虛擬機提供磁盤卷。一個 cluster 至少有一個一級存儲,且在部署時位置要臨近主機以提供高性能。
iSCSI和FC-San存儲在Xenserver中被加載爲Clustered LVM格式,此種格式下,不能支持存儲的超配。若是存儲自己支持XenServer的thin-provisioning,CloudStack也能夠支持存儲超配
在全局配置中,有storage.overprovisioning.factor 項用來配置超配的比例。默認爲2,即支持超配的存儲格式,可使用的存儲爲該存儲的N倍。
配置完成後,能夠在UI的Dashboard中查看存儲信息。Primary Storage Allocated項是超配後的全部主存儲的總和,Storage項是全部主存儲實際大小的總和。
12、輔助存儲(Secondary Storage):
二級存儲虛擬機(secondary Storage VM)簡稱ssvm, 做爲系統虛機的一種,在cloudstack中扮演了很重要的角色,沒有它不少功能都沒法實現。
簡單來講ssvm主要用來管理二級存儲,也就是對二級存儲相關的操做都會經過它來完成。每個資源域能夠有多個SSVM, 當SSVM被刪除或中止,它會自動被重建並啓動。
cloudstack 是經過ssh訪問直接訪問ssvm, 系統虛機模板中已經植入了一個ssh 的private key,此時cloudstack只須要經過本身的public key訪問就能夠了,端口爲3922,這裏xen與vmware的機制有些不一樣,因爲默認vmware是禁止ssh登錄的,因此對於vmware來講,能夠經過cloudstack的management server直接訪問ssvm的public ip.在配置完ssvm後,cloudstack會讓ssvm從新生成一對public key和private key,之後就使用新的key來訪問ssvm。
在ssvm中有一個java進程,專門負責與cloudstack的8250端口進行通信,而這個java進程,以及相關shell腳本都是在經過建立完ssvm以後,由cloudstack注入進去的,如vmware,會有一個system.iso,這裏面就存放着全部系統虛機須要的文件,在mount上二級存儲以後,會將這個文件拷貝到ssvm中,在ssvm解壓,並將相關文件存到指定路徑下。
13、二級存儲裏面具體放哪些東西?
二級存儲與 zone 關聯,它存儲模板文件,ISO 鏡像和磁盤卷快照。 也就是說對這些資源的管理都是經過SSVM進行的。
①、模板:能夠啓動虛擬機的操做系統鏡像,也包括諸如已安裝應用的其他配置信息。
②、ISO 鏡像:包含操做系統數據或啓動媒質的磁盤鏡像。
③、磁盤卷快照:虛擬機數據的已儲存副本,能用於數據恢復或者建立新模板。
14、ssvm管理二級存儲?
ssvm對存放在二級存儲裏面的資源進行管理,首先ssvm會將二級存儲mount到本地,以後對二級存儲的操做也就轉換成對本地文件夾的操做。從功能上講,ssvm負責管理snapshot, volume, iso, template, 下面將分別從上傳,下載,查詢,刪除者4個角度說明對這些資源是如何管理的。
①、上傳資源:
當用戶選擇上傳資源時,management server 會將url傳遞給ssvm, 這樣ssvm就能夠經過wget從指定的url中下載資源。
②、下載資源:
當用戶選擇下載指定資源時候,management server 首先從數據庫中查找該資源對應的路徑,並將該路徑傳遞給ssvm,ssvm 使用內置的apache server來提供資源上傳服務。這樣用戶就能夠經過ssvm下載所須要的資源了。
③、查詢資源:
ssvm會按期向management server上傳本身的狀態信息。
④、刪除資源:
因爲二級存儲已經掛載到ssvm中,這樣它就能夠直接將二級存儲裏面的內容刪除。
15、如何驗證ssvm?
在ssvm中有一個ssvm-check.sh,這個shell文件主要負責對ssvm的相關配置進行驗證。驗證內容包括: dns, mount的二級存儲, 與management server的鏈接,相關java進程。
16、cloudstack網絡流量類型:
網絡的設計規劃是CloudStack的一個亮點,也是CloudStack被普遍商業應用的一個主要緣由.本篇深刻討論一下CloudStack中網絡的設計方式.
CloudStack中根據不一樣的數據流量類型設計了管理,公共,客戶及存儲網絡,能夠簡稱爲PMGS ( Public, Management, Guest, Storage) 網絡.
①、公用網絡(Public Network)
當虛擬機須要訪問Internet或外部網絡時,須要經過公共網絡;這就說明客戶虛擬機必須被分配某種形式的外網IP.用戶能夠在CloudStack的UI上得到一個IP來作NAT映射,也能夠在Guest與Public之間作負載均衡.全部的Hypervisor都須要共享Public VLan以保證虛擬機對外的訪問
②、來賓網絡(Guest Network)
最終用戶運行CloudStack建立的虛擬機實例時產生Guest流量,虛擬機實例之間的相互通訊經過客戶網絡。
③、管理網絡(Management Network)
CloudStack內部資源相互通訊會產生Management流量,這些流量包括管理服務器節點與Hypervisor集羣之間的通訊,與系統虛擬機之間的通訊或與其它組件之間的通訊等;集羣規模較小時管理流量只佔用不多的帶寬.
④、存儲網絡(Storage Network)
主存儲與Hypervisor之間互連互通的流量;主存儲與二級存儲之間也會產生Stroage流量,好比虛擬機模板和快照的搬移。
瞭解更多,請參考:http://54im.com/%E4%BA%91%E8%AE%A1%E7%AE%97/cloudstack/%E7%AE%80%E5%8D%95%E9%83%A8%E7%BD%B2cloudstackcentos6-5%E5%AE%89%E8%A3%85cloudstack-4-3%E4%B9%8B%E6%A6%82%E5%BF%B5%E4%BB%8B%E7%BB%8D.html