什么是cloudstack
CloudStack是一个开源的具有高可用性及扩展性的云计算平台。目前Cloudstack支持管理大部分主流的hypervisors,如KVM,XenServer,VMware,Oracle VM,Xen等。同时CloudStack是一个开源云计算解决方案。可以加速高伸缩性的公共和私有云(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的软件架构:
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的比较
下面我们就来看一来两大云平台的比较:
比较项 | CloudStack | OpenStack |
服务层次 | IaaS | IaaS |
授权协议 | Apache 2.0 | Apache 2.0 |
Apache 2.0 | 不需要 | 不需要 |
动态资源调配 | 主机Maintainance模式下自动迁移VM | 无现成功能,需通过Nova-scheduler组件自己实现 |
VM模板 | 支持 | 支持 |
VM Console | 支持 | 支持 |
开发语言 | Java | Python |
用户界面 | Web Console,功能较完善 | DashBoard,较简单 |
负载均衡 | 软件负载均衡(Virtual Router)、硬件负载均衡 | 软件负载均衡(Nova-network或 OpenStack Load Balance API)、硬件负载均衡 |
虚拟化技术 | XenServer,Oracle VM,vCenter,KVM,Bare Metal | XenServer,Oracle VM,KVM,QEMU,ESX/ESXi,LXC(Liunx Container)等 |
最小化部署 | 一管理节点,一主机节点 | 支持All in one(Nova,Keystone,Glance组件必选) |
支持数据库 | MySQL | PostgreSQL,MySQL,SQLite |
组件 | Console Proxy VM,Second Storage VM,Virtual Router VM, Host Agent,Management Server |
Nova,Glance,Keystone,Horizon,Swift |
网络形式 | Isolation(VLAN),Share | VLAN,FLAT,FLATDhcp |
版本问题 | 版本发布稳定,不存在兼容性问题 | 存在各版本兼容性问题 |
VLAN | 不能VLAN间互访 | 支持VLAN间互访 |
当然事物都在发展,而且开源的开发者们每天都在做着贡献,所以现在没有的功能或者不支持的功能很可能在下一个版本中就会被支持。