1. 用于Iaas,建立公有的、私有的、混合的计算资源池:
(1)管理网络、存储、计算结点,组成一个云基础设施。
使用CloudStack来部署、管理、配置云计算环境。
(2)按需建立的弹性云服务。虚拟机、存储、通过网络配置。
(3)建立一个本地的(on-premise)内部私有云池。管理物理机而非虚拟机。
CloudStack是一个管理数据中心计算资源的控制台。
2.用途/功能:
(1)一个单独的云部署可以包含多个hypervisor。
- 支持预装类似思杰XenServer和Vmware vSphere的解决方案.
- 运行在linux下的KVM或Xen。
(2)大规模可扩展的基础设施管理。
CloudStack能在分布式数据中心管理成千上万的服务器。
(3)自动配置管理
CloudStack自动配置每个客户虚拟机的网络和存储。
(4)图形用户界面
- 为超级管理员提供一个Web界面来管理云。
- 为终端用户提供Web界面来运行虚拟机和管理虚拟机模板。
(5)API和可延展性
(6)高效率(高可用性):
管理服务器能被部署在多个结点,使服务器负载平衡。
对于主机,CloudStack支持NIC bonding以及为存储或多路ISCSI使用隔离的网络。
3. 结构部署概述:
CloudStack安装包括:管理服务器、云基础设施。
(1)安装方案:
①最小化安装包括:
a. 一个运行在CloudStack管理服务器的机器。(管理服务器)
b. 作为云基础设施的其他机器。包含一个host主机运行hypervisor软件。(hypervisor host,使用KVM hypervisor)
②完全安装包括:
a. 一个高可靠性的多结点管理服务器;
b. 使用高级网络配置的数以万计的host主机。
(2) 管理服务器概述:
① 管理服务器用于管理云资源。
管理服务器通过用户界面和API来交互,来配置管理你的云基础设施
② 管理服务器运行在一个专用的服务器或VM上。
a. 控制主机给虚拟机实例的资源分配(存储、IP地址等)。
b. 管理服务器运行在一个Tomcat容器和MySQL数据库上。
③ 管理服务器满足系统需求:
a. 给最高管理员和终端用户提供Web用户界面。
b. 为CloudStack提供API。
c.管理分配给特权host的客户虚拟机资源。
d.管理给特权账户分配的公有的和私有IP地址。
e. 管理给客户虚拟机分配的虚拟磁盘。
f.管理snapshots,模板,ISO镜像,或许通过数据中心复制给他们。
g.提供一个单点配置的云。??
(3)云基础设施概述:
管理服务器管理一个或更多的zones(典型的,数据中心),包含host和运行其上的客户机。
云基础设施以类似如下方式组织创建:
- Zone:一个zone等价于一个独立的数据中心,包含一个或更多的pods和辅存(Secondary Storage)。
- Pod:一个Pod通常包括一个二层交换机和一个或更多的集群的硬件。
- Cluster:一个集群(cluster)由一个或更多的主机和主要存储(Primary Storage)组成。
- Host:在集群中的一个独立的计算结点。
- Primary Storage:与集群通信。是在集群中运行在主机(host)上的所有虚拟机存储的磁盘卷。
- Secondary Storage:与zone通信,存储模板、ISO镜像、磁盘快照(snapshots)。
(4)网络概述:
CloudStack提供了两种网络方案:
a. 基本的:对于AWS-style networking,提供一个通过网络层(layer-3)手段(例如安全组,IP地址过滤)使客户机隔离的独立网络。
b.高级的:对于更复杂的网络拓扑结构,网络模型为客户机网络提供更多可伸缩性。
4. 云基础设施概念
(1) Zone:
① zone是在CloudStack部署中最大的组织单元。
- 一个Zone通常对应一个单独的数据中心,也允许在一个数据中心中有多个zone。
- 提供物理隔离和冗余。
② Zone组成:
- 一个或多个pods。每个Pod包含一个或多个host的集群,并且有一个或更多主要存储服务器(primary storage)。
- 辅助存储(secondary storage):通过zone中的所有pod来共享。
③ Zone对终端用户可见。
- 用户启动一个客户虚拟机时,用户必须为他的客户机选择一个zone。
- 用户也可能需要复制他们的私有模板来增加zone,客户虚拟机在这个zone中使用他们的模板。
④ Zone可以被设成公有的和私有的。
- 公有的zone对所有用户可见。任何用户可以在zone中创建客户机。
- 私有的zone被保留给特殊的domain。只有在这个域或其子域中的用户可以在zone中创建客户机。
- 在同一个zone中的host,通过没有防火墙直接互相访问(accessible)。
- 在不同zone中的host,通过配置静态VPN通道来互相访问(access)。
⑤ 对于每个zone,最高管理员必须如下决定:
- 在zone中有多少个Pods。
- 在每个pod中有多少个集群。
- 每个集群中有多少个主机(host)。
- 在每个集群中有多少个主要存储服务器,并确定存储服务器的容量。
- 在zone中部署多少个次要的服务器。
⑥ 当增加一个新zone时,将很快速配置zone的物理网络,增加第一个pod、集群、主机、主要存储、次要存储。
(2)Pods:
① pod常表示一个独立的rack。在同一个pod中的主机在同一个子网内。
② pod是在CloudStack中第二大组织单元。
③ 每个zone包括一个或更多的pods。
④ Pods对终端用户不可见。
⑤ Pod包括一个或多个带有主机的集群,以及一个或多个主要存储服务器。
(3) Clusters:
① 集群提供一种集合主机(host)的方式。集群可以是一个XenServer服务器池,一组KVM服务器,一个预配置在VCenter中的VMware集群。
② 在一个集群中所有的主机都是相同的硬件,运行相同的hypervisor,在同一个子网内,访问同一个共享主要存储服务器。
③ 在同一个集群内的虚拟机实例可以从一个主机到另一个动态迁移(live-migrated),而不中断用户服务。
④ 集群是在CloudStack部署中第三大组织单元。
允许在一个云中部署多个集群。
⑤ 集群包含在pods中,pods被包含在zone中。集群的大小被hypervisor限制。
⑥ 集群包括一个或多个主机及更多的主要存储服务器。
(4) 主机(host):
- 一个主机是一个独立的计算机,提供计算资源来运行客户虚拟机。
- 每个主机安装一个hypervisor软件来管理客户虚拟机。Eg: Linux KVM服务器,思杰XenServer服务器等。
- 主机是CloudStack中部署的最小组织单元。主机包含在集群中,集群包含在pods中,pods包含在zone中。
- 随时加入另外的主机为客户虚拟机提供更高性能。
- 主机对终端用户不可见。
- 必须按如下在CloudStack部署主机:
l 在主机上安装hypervisor软件。
l 为主机分配一个IP地址。
l 保证主机被CloudStack管理服务器连接。
(5)Primary Storage:
- 主要存储与集群通信,为在集群中运行在主机上的所有虚拟机存储磁盘卷。
- 可加入多个主要存储,但至少有一个。
(6)Secondary Storage:
- 辅助存储与zone通信。
- 存储如下内容:
l 模板(Templates):用于启动虚拟机的操作系统镜像;包含额外的配置信息。e.g.:安装的应用。
l ISO镜像:磁盘镜像包含操作系统的数据或可引导媒体。
l 磁盘卷快照(snapshots):保存虚拟机能被用于数据恢复或创建新模板数据副本。
- CloudStack管理给主要存储的客户机虚拟磁盘的分配。
- 在云中要使所有主机都可用辅助存储,可以除了基于zone的NFS辅助存储外再增加OpenStack Object Storage(Swift)。
l 当要使用Swift时,则为整个CloudStack配置配置Swift存储。
l Swift存储作为一个云扩展资源,使在云中的任何域的模板和其他数据都可用。
l Swift存储中是没有层次的,每个存储对象(object)仅有一个Swift容器。
(7) 物理网络:
① 配置物理网络是增加一个zone的一部分。一个(高级zone)或更多的物理网络能使每个zone之间通信。
② 物理网络是实际的硬件网络,与hypervisor主机的网卡一致。
③ 最高管理员能做:
a.在zone中增加、删除、更新物理网络;
b.在物理网络中配置VLAN;
c. 配置一个这样的网络名可通过hypervisor识别;
d.配置在物理网络可用的服务供应商(防火墙、负载平衡等);
e. 配置物理网络的IP地址。
④ 可配置的物理网络特征:
a. 它支持什么类型的网络traffic(客户、公共的、管理、存储)
b. VLANs
c.能使用找到特殊网络的Hypervisor唯一的名字
d.网络设置为可用或不可用。
e.网络速度
f.隔离方法
⑤ 基本的zone网络Traffic类型
a.客户机:当终端用户运行VM时,生成客户机traffic。
l 客户虚拟机通过网络彼此通信。
l 每个pod在基本的zone中是一个广播域。
l 对于客户机网络,每个pod有不同的IP范围。管理员必须为每个pod域配置IP范围。
- 管理:当CloudStack的内部资源彼此通信,将生成管理traffic。
包括——主机之间通信,虚拟机系统(通过CloudStack在云中执行各种任务),任何通过CloudStack管理服务器的其他组件直接通信。必须为系统使用的虚拟机配置IP域。
为管理traffic和客户traffic使用隔离网卡。
- 公有的:当在云中的虚拟机访问internet时,生成公有的traffic。
必须分配公共可访问的IP。
终端用户在他们的客户机网络和公共网络使用CloudStack用户界面获得这个IP,也可以获得新IP。
- 存储:例如在辅助存储(secondary storage)虚拟机和辅助存储服务器之间发送的Traffic。CloudStack为存储网络traffic使用一个隔离的网卡。在一个高速带宽网络上允许快速模板和快照复制。必须配置IP范围使用存储网络。
必须配置一个带有公共traffic的网络。当加入一个新的zone,在CloudStack用户界面中进行必要的详细配置。
⑥ 基本的Zone客户机IP地址:
使用基础网络时,云平台会在客户机的那个pod的CIDR中分配IP地址。由最高管理员在pod中设置IP地址范围,pod中的所有主机的IP在同一个虚拟局域网中(VLAN)。
⑦ 高级Zone 网络Traffic类型:
使用高级网络时,在Zone中可以有多个物理网络。每个物理网络有一个或多个traffic类型。在一个高级zone中的Traffic类型是:
- 客户机:当终端用户运行虚拟机时,生成客户机traffic。网络是被隔离或者共享的。
l 隔离的客户机网络:最高管理员需要为每个CloudStack账户的网络保存虚拟局域网范围。(可能有很多VLAN)。
l 共享客户机网络:所有的客户虚拟机共享一个独立的网络。
- 管理:
包括主机之间的通信,虚拟机系统(在云中CloudStack通过使用虚拟机执行各种任务),任何与CloudStack管理服务器其他组件直接通信。
必须为使用的虚拟机系统配置IP范围。
- 公有的:
在云中的虚拟机访问Internet时公有的traffic将生成。终端用户使用CloudStack用户界面在他们的客户机网络和公有的网络之间以NAT获得IP 。详述参见“获得一个新的IP地址”的管理员向导。
- 存储:
l 类似VM模板和快照,在辅助存储(secondary storage)虚拟机和辅助存储服务器之间传送的traffic。
l CloudStack为存储网络traffic使用一个隔离的网络接口控制器(NIC)。使用一个总在高带宽网络上允许快速模板和快照复制的存储NIC。
l 必须为存储网络配置使用的IP范围。
在用户界面创建一个新的Zone时,通过Add Zone向导来选择traffic类型。
⑧ 高级Zone客户机IP地址、高级Zone公共IP地址:
当使用高级网络时,最高管理员可通过客户机来创建额外的网络。
- 这种网络可以跨越zone并且所有账户都可用。
- 只有指定的用户可以创建客户机连接这个网络。
- 用一个虚拟局域网网络名(VLAN ID),IP范围和网关来定义网络。
⑨ 系统保留的IP地址:
l 在每个Zone中,需要为管理服务器网络配置保留IP地址。这个网络支持CloudStack管理服务器和各种系统虚拟机之间通信,例如:辅助存储器(Secondary Storage)虚拟机,控制台虚拟机代理(Console Proxy VM),DHCP。
l 访问云中保留的IP地址必须唯一。E.g:一个Zone中的有相同私有IP地址的主机又在另一个zone中。
l 在Pod中的主机分配私有IP地址。代表性的是RFC1918.
l 在pod中的控制台代理和辅助存储系统虚拟机也分配私有IP地址。
l 务必使计算服务器和管理服务器使用的IP地址在系统保留IP地址之外。E.g.:假设系统保留IP地址范围是192.168.154.2 – 192.168.154.7,那么Cloudstack能为系统虚拟机使用.2到.7范围的IP,其他的从.8到.254范围的IP只能用于管理服务器和Hypervisor主机。
⑩ 在所有的zone中:
在每个pod中为系统提供私有IP。
对于KVM和XenServer,建议每个Pod中的每个主机分配一个私有IP。
在一个使用高级网络的zone中:
在每个pod中私有IP的数量取决于在pod中哪个Hypervisor被运行。
l 思杰的XenServer和KVM使用局部链(link-local)地址,在地址块中提供多于65000个私有IP地址。
l VMWare ESXi,通过比较使用最高管理员指定的子网结构,一般管理员为每个Pod仅提供255个IP。它们通过物理机器、虚拟机路由、其他实体来共享IP,但是当运行ESXi扩展一个结点的pod时,私有IP可能会用完。利用如下技术来解决:
为一个子网指定一个更大的CIDR块。子网掩码中带有a/20后缀将提供多于4000个IP地址。
创建多个pods,每个带有它自己的子网。例如:如果创建10个Pods ,每个pod 有255个IP地址,将提供2500个IP地址。