一、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