总的来说,CloudStack的部署包含了管理服务器和需要被管理的资源。在部署的时候我们告知管理服务器哪些资源需要被管理,如IP地址块、存储设备、管理程序和VLAN。
最低配置的安装包括一台运行管理服务器的机器和另一台作为云基础设施的机器(包括一台运行了管理程序的Host)。在最低情况下,一台机器可以同时作为管理服务器和运行管理程序(KVM)的Host。
更完整的安装包含一个高可用的多节点管理服务器、成千上万使用各种网络技术的host。
管理服务器概览
管理服务器进行资源的组织和分配。
管理服务器一般运行在专用的机器或虚拟机上。它控制将虚拟机分配到host上以及指定存储和IP地址给虚拟机实例。管理服务器运行在Tomcat容器上并且需要一个MySQL数据库用来持久化。
管理服务器:
- 为管理员和终端用户提供一个web界面
- 提供API接口(包括CloudStack API和EC2 API)
- 管理客户虚拟机到指定计算资源的分配
- 管理公有和私有IP地址的分配
- 虚拟机创建时为其分配存储
- 管理快照, 磁盘镜像(模板),和ISO镜像
- 提供云的配置
云基础设施概览
云上的资源以如下的方式进行管理:
- Regions:由一个或多个管理服务器管理的一个或多个物理相近的区域的集合
- Zones:一般一个zone等于一个数据中心。一个zone包含一个或多个pod以及一个二级存储
- Pods(机架):一个pod通常是一个机架或一排机架,包括一个二层交换机和一个或多个集群
- Clusters:一个集群包含一个或多个同类的主机和主存储器
- Hosts:集群里的一个单独的计算节点,一般是一个管理程序
- Primary Storage:一般是提供给一个集群用来实际运行实例磁盘镜像的存储资源
- Secondary Storage:一个Zone中用来存储模板,IOS镜像和快照的资源
网络概览
CloudStack提供多种类型的网络,但一般可以归结为以下两种:
- 基本网络:类似于AWS-classic类型的网络。提供一个单独的二层网络,通过第三层的管理程序桥接设备来隔离
- 高级网络:一般使用二层隔离如VLAN,虽然这个分类包含了诸如Nicira NVP的网络定义技术