CloudStack 4.4學習總結之簡介

CloudStack 4.4學習總結之簡介


一、CloudStack簡介

1、CloudStack是一個開源的具有高可用性及擴展性的雲計算平臺。

 

2、會發現其實CloudStack更像是一個商業化過後的產品,有着非常好的用戶界面,各個模塊默認集成的很好,且安裝與部署過程也相對容易一些。

 

3、Cloudstack支持管理大部分主流的hypervisors,如KVMXenServerVMwareOracle VMXen等。

 

4CloudStack具有商業軟件所擁有的完善的用戶權限管理,可以讓用戶構建一個安全的多租戶雲計算環境。同時兼容Amazon AWS API 接口,可用來管理AWS的資源。

 

5、 CloudStack 採用了典型的分層結構:客戶端、核心引擎、以及資源層。它面向各類型的客戶提供了不同的訪問方式:Web Console、Command Shell 和 Web Service API。通過它們,用戶可以管理使用在其底層的計算資源(又分爲主機、網絡和存儲),完成諸如在主機上分配虛擬機,配給虛擬磁盤等功能。

 

6、系統架構圖:

165746_dQpE_727880.jpg

虛擬機如果使用 Xen 和KVM,需要安裝 CloudStack Agent 來支持其與管理服務器的交互。而管理服務器和 Xen Server 交互則是靠 XAPI,和 vCenter、ESX 交互靠 HTTP。

當部署 CloudStack 時,需要了解它的層次結構和存儲管理。

 

7、部署圖:

 

165754_oefZ_727880.jpg

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 至少有一個一級存儲,且在部署時位置要臨近主機以提供高性能。

 

165803_Djtx_727880.png

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


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