CloudStack是一个开源的具有高可用性及扩展性的云计算平台。CloudStack的前身是Cloud com,后被思杰citrix收购。2011年7月,Citrix收购Cloud com[1],并将CloudStack 100%开源。2012年4月5日,Citrix又宣布将其拥有的CloudStack开源软件交给Apache软件基金会管理。
思杰citrix死对头VMware支持OpenStack,所以CloudStack也就成了针对OpenStack的主要平台。
Citrix的主推虚拟化技术是Xenserver,所以CloudStack理所应当也是首先支持Xen虚拟化,当然从文档中对Vmware的Vsphere也是支持的。
CloudStack首先支持的开发语言是JAVA,而OpenStack支持的是Python,这一点很重要,估计在中国很多程序人员就选了CloudStack而不选OpenStack。
CloudStack默认管理数据库是MySQL,管理节点系统是CentOs6 ,有一个友好的Web管理界面。
CloudStack 采用了典型的分层结构:客户端、核心引擎、以及资源层。它面向各类型的客户提供了不同的访问方式:Web Console、Command Shell 和 Web Service API。通过它们,用户可以管理使用在其底层的计算资源(又分为主机、网络和存储),完成诸如在主机上分配虚拟机,配给虚拟磁盘等功能。见图 1。
虚拟机如果使用 Xen 和 KVM,需要安装 CloudStack Agent 来支持其与管理服务器的交互。而管理服务器和 Xen Server 交互则是靠 XAPI,和 vCenter、ESX 交互靠 HTTP。
当部署 CloudStack 时,需要了解它的层次结构和存储管理,见图 2。
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 镜像和磁盘卷快照。
http://cloudstack.apache.org/