云若只如初见——CloudStatck初步学习总结

时间:2022-12-24 15:52:42

1.     用于Iaas,建立公有的、私有的、混合的计算资源池

(1)管理网络、存储、计算结点,组成一个云基础设施。

使用CloudStack来部署、管理、配置云计算环境。

(2)按需建立的弹性云服务。虚拟机、存储、通过网络配置。

(3)建立一个本地的(on-premise)内部私有云池。管理物理机而非虚拟机。

CloudStack是一个管理数据中心计算资源的控制台。

2.用途/功能:

(1)一个单独的云部署可以包含多个hypervisor。

  1. 支持预装类似思杰XenServer和Vmware vSphere的解决方案.
  2. 运行在linux下的KVM或Xen。

(2)大规模可扩展的基础设施管理。

CloudStack能在分布式数据中心管理成千上万的服务器。

(3)自动配置管理

CloudStack自动配置每个客户虚拟机的网络和存储。

(4)图形用户界面

  1. 为超级管理员提供一个Web界面来管理云。
  2. 为终端用户提供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和运行其上的客户机。

云基础设施以类似如下方式组织创建

  1. Zone:一个zone等价于一个独立的数据中心,包含一个或更多的pods和辅存(Secondary Storage)。
  2. Pod:一个Pod通常包括一个二层交换机和一个或更多的集群的硬件。
  3. Cluster:一个集群(cluster)由一个或更多的主机和主要存储(Primary Storage)组成。
  4. Host:在集群中的一个独立的计算结点。
  5. Primary Storage:与集群通信。是在集群中运行在主机(host)上的所有虚拟机存储的磁盘卷。
  6. Secondary Storage:与zone通信,存储模板、ISO镜像、磁盘快照(snapshots)。

(4)网络概述:

CloudStack提供了两种网络方案:

     a. 基本的:对于AWS-style networking,提供一个通过网络层(layer-3)手段(例如安全组,IP地址过滤)使客户机隔离的独立网络。

     b.高级的:对于更复杂的网络拓扑结构,网络模型为客户机网络提供更多可伸缩性。

4.     云基础设施概念

(1)   Zone

①  zone是在CloudStack部署中最大的组织单元。

  1. 一个Zone通常对应一个单独的数据中心,也允许在一个数据中心中有多个zone。
  2. 提供物理隔离和冗余。

②   Zone组成:

  1. 一个或多个pods。每个Pod包含一个或多个host的集群,并且有一个或更多主要存储服务器(primary storage)。
  2. 辅助存储(secondary storage):通过zone中的所有pod来共享。
  3.  

③  Zone对终端用户可见。

  1. 用户启动一个客户虚拟机时,用户必须为他的客户机选择一个zone。
  2. 用户也可能需要复制他们的私有模板来增加zone,客户虚拟机在这个zone中使用他们的模板。

④  Zone可以被设成公有的和私有的。

  1. 公有的zone对所有用户可见。任何用户可以在zone中创建客户机。
  2. 私有的zone被保留给特殊的domain。只有在这个域或其子域中的用户可以在zone中创建客户机。
  3. 在同一个zone中的host,通过没有防火墙直接互相访问(accessible)。
  4. 在不同zone中的host,通过配置静态VPN通道来互相访问(access)。

⑤  对于每个zone,最高管理员必须如下决定:

  1. 在zone中有多少个Pods。
  2. 在每个pod中有多少个集群。
  3. 每个集群中有多少个主机(host)。
  4. 在每个集群中有多少个主要存储服务器,并确定存储服务器的容量。
  5. 在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

  1. 一个主机是一个独立的计算机,提供计算资源来运行客户虚拟机。
  2. 每个主机安装一个hypervisor软件来管理客户虚拟机。Eg: Linux KVM服务器,思杰XenServer服务器等。
  3. 主机是CloudStack中部署的最小组织单元。主机包含在集群中,集群包含在pods中,pods包含在zone中。
  4. 随时加入另外的主机为客户虚拟机提供更高性能。
  5. 主机对终端用户不可见。
  6. 必须按如下在CloudStack部署主机:

l  在主机上安装hypervisor软件。

l  为主机分配一个IP地址。

l  保证主机被CloudStack管理服务器连接。

(5)Primary Storage

  1. 主要存储与集群通信,为在集群中运行在主机上的所有虚拟机存储磁盘卷。
  2. 可加入多个主要存储,但至少有一个。

(6)Secondary Storage

  1. 辅助存储与zone通信。
  2. 存储如下内容:

l  模板(Templates):用于启动虚拟机的操作系统镜像;包含额外的配置信息。e.g.:安装的应用。

l  ISO镜像:磁盘镜像包含操作系统的数据或可引导媒体。

l  磁盘卷快照(snapshots):保存虚拟机能被用于数据恢复或创建新模板数据副本。

  1. CloudStack管理给主要存储的客户机虚拟磁盘的分配。
  2. 在云中要使所有主机都可用辅助存储,可以除了基于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范围。

  1. 管理:当CloudStack的内部资源彼此通信,将生成管理traffic。

包括——主机之间通信,虚拟机系统(通过CloudStack在云中执行各种任务),任何通过CloudStack管理服务器的其他组件直接通信。必须为系统使用的虚拟机配置IP域。

为管理traffic和客户traffic使用隔离网卡。

  1. 公有的:当在云中的虚拟机访问internet时,生成公有的traffic。

必须分配公共可访问的IP。

终端用户在他们的客户机网络和公共网络使用CloudStack用户界面获得这个IP,也可以获得新IP。

  1. 存储:例如在辅助存储(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类型是:

  1. 客户机:当终端用户运行虚拟机时,生成客户机traffic。网络是被隔离或者共享的。

l  隔离的客户机网络:最高管理员需要为每个CloudStack账户的网络保存虚拟局域网范围。(可能有很多VLAN)。

l  共享客户机网络:所有的客户虚拟机共享一个独立的网络。

  1. 管理:

包括主机之间的通信,虚拟机系统(在云中CloudStack通过使用虚拟机执行各种任务),任何与CloudStack管理服务器其他组件直接通信。

必须为使用的虚拟机系统配置IP范围。

  1. 公有的:

在云中的虚拟机访问Internet时公有的traffic将生成。终端用户使用CloudStack用户界面在他们的客户机网络和公有的网络之间以NAT获得IP 。详述参见“获得一个新的IP地址”的管理员向导。

  1. 存储:

l  类似VM模板和快照,在辅助存储(secondary storage)虚拟机和辅助存储服务器之间传送的traffic。

l  CloudStack为存储网络traffic使用一个隔离的网络接口控制器(NIC)。使用一个总在高带宽网络上允许快速模板和快照复制的存储NIC。

l  必须为存储网络配置使用的IP范围。

在用户界面创建一个新的Zone时,通过Add Zone向导来选择traffic类型。

⑧  高级Zone客户机IP地址、高级Zone公共IP地址:

当使用高级网络时,最高管理员可通过客户机来创建额外的网络。

  1. 这种网络可以跨越zone并且所有账户都可用。
  2. 只有指定的用户可以创建客户机连接这个网络。
  3. 用一个虚拟局域网网络名(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地址。