[简单部署cloudstack]Centos6.5安装Cloudstack 4.3之概念介绍


[简单部署cloudstack]Centos6.5安装Cloudstack 4.3之概念介绍 
  [简单部署cloudstack]Centos6.5安装Cloudstack 4.3之管理节点和计算节点安装 
  [简单部署cloudstack]Centos6.5安装Cloudstack 4.3之配置详解 
  [简单部署cloudstack]Centos6.5安装Cloudstack 4.3之在线迁移虚拟机 
  [简单部署cloudstack]Centos6.5安装Cloudstack 4.3之升级虚拟机配置 
  [简单部署cloudstack]cloudstack名词解释    

 

1. Cloudstack 简介

  CloudStack 是另一款开源云计算平台。CloudStack 的前身是 Cloud.com 家的一款商业云计算产品(也有开源版本),2011年 Cloud.com 被 Citrix 收购,2012年的时候 Citrix 将收购的云平台 CloudStack 全部捐给了 Apache 基金会,自己则以 Citrix CloudPlatform (powered by Apache CloudStack) 的形式为客户提供商业化的云计算解决方案

2.cloudstack 能做什么

 

  • 多种Hypervisor支持

    cloudstack支持多种hypervisor,包括Xenserver,Hyperv,KVM,Vmware,BareMetal,Ovm,LXC。因XenServer、VMware已包含有强大的虚拟机管理功能,CloudStack可以直接与其通信调用其管理接口,因此这两种受控机环境下,无需安装任何软件。但KVM、Xen的受控机必须安装 CloudStack-Agent 之后,才能被CloudStack管理,你可以在所有的宿主机上用同一种,也可以用不同的Hypervisor,但,在同一个CLOUDSTACK群集(Cluster)内,只可以用同一种Hypervisor,如果你还在规划中,下面图表系统给你些建议。


特性XenServer 6.0.2vSphere 4.1/5.0KVM - RHEL 6.2Bare Metal
Network Throttling无-N/A
在区域内用于基本网络模式的安全组
iSCSI无-N/A
光纤通道无-N/A
本地磁盘
高可用是(原生)无-N/A
本地磁盘快照无-N/A
用本地盘作为数据磁盘无-N/A
工作于负载均衡DRS-分布式资源调度无-N/A
手工在主机之间进行虚拟机的热迁移无-N/A
使用本地链路与虚拟路由器(VR)直接通讯来保护管理网络的IP流量无-N/A
  • 大规模可扩展的管理架构

CloudStack可以管理数万台服务器; 这些服务器可以部署在不同地域的数据中心里. 处于中心位置的管理服务器可以线性扩展, 这样就消除了对中间层集群级别管理服务器的依赖. 任何一个组件失效不会导致云平台的服务暂停.对于管理服务器的定期维护不会对云平台中正在运行的虚拟机造成影响

 

  • 自动化配置管理

CloudStack会对客户虚拟机的网络和存储进行自动化配置.

CloudStack内部提供的虚拟设备池用来支持云平台自身功能. 这些虚拟设备可以提供的服务有防火墙, 路由, DHCP, VPN访问, 控制台代理, 存储访问以及存储备份等. 虚拟设备的大量使用简化了安装, 配置和持续的云平台部署管理流程

 

  • 图形用户界面

CloudStack提供了管理员Web接口, 用来供应和管理整个云平台; 同时也提供了类似最终用户的Web接口,用来管理运行中的虚机和模板. UI可以根据服务提供商的需求或企业的Web风格进行定制化

 本文来自钿畑的博客54im.com

  • API及其扩展性

cloudstack提供丰富的api接口,详情可以查看http://cloudstack.apache.org/docs/api/index.html

 

  • 高可用性

CloudStack平台有很多功能来增加系统的可用性. 管理服务器自身可以在前端负载均衡的前提下部署在多个节点上. MySQL可以配置使用备份来提供在数据库丢失情况下的手工故障恢复. 对于主机, CloudStack平台提供网卡绑定及为存储使用单独网络,这类似于iSCSI的多路径

 

3.cloudstack 部署架构图

      cloudstack部署架构 

3.1 架构介绍

 

3.1.1资源区域(Zones)

 

区域是 CloudStack 中最大的组织单位,一个区域通常与一个数据中心相对应。区域可提供物理隔离和冗余。一个区域由一个或多个提供点以及由区域中的所有提供点共享的一个辅助存储服务器组成,其中每个提供点中包含多个主机和主存储服务器。

Zone 对应于现实中的一个数据中心,一个资源域包括:一个或多个提供点。每个提供点包含一个或多个宿主机集群或主存储服务器。二级存储是在资源域下的所有提供点共享的

 

3.1.2 提供点(Pods)

 

一个提供点通常代表一个机架,机柜里面的主机在同一个子网,每个区域中必须包含一个或多个提供点,提供点中包含主机和主存储服务器, CloudStack 的内部管理通信配置一个预留 IP 地址范围。预留的 IP 范围对云中的每个区域来说必须唯一。

 本文来自钿畑的博客54im.com

3.1.2 集群(Clusters)

 

Cluster 是多个主机组成的一个集群。同一个 cluster 中的主机有相同的硬件,相同的 Hypervisor,和共用同样的存储。同一个 cluster 中的虚拟机,可以实现无中断服务地从一个主机迁移到另外一个上。

集群由一个或多个宿主机和一个或多个主要存储服务器构成。集群的大小取决于下层虚拟机软件。大多数情况下基本无建议。当使用VMware时,每个VMware集群都被vCenter 服务器管理。管理员必须在本产品中登记vCenter。每个zone下可以有多个vCenter服务器。每个vCenter服务器可能管理多个VMware集群

 

3.1.3 主机(Hosts)

 

宿主机就是个独立的计算机。宿主机运行来宾虚拟机并提供其相应的计算资源。每个宿主机都装有虚拟机软件来运行来宾虚拟机。比如一个开启了kvm支持的服务器,一个思杰XenServer服务器,或者一个ESXi服务器都可以作为宿主机。

宿主机在CloudStack部署中属于最小的组织单元。宿主机包含于集群中,集群有属于提供点,而区域中包含提供点(就是在逻辑概念上zone>pod>cluster>host),新增的宿主机可以随时添加以提供更多资源给来宾虚拟机,CloudStack自动探测宿主机的cpu数量和内存资源。宿主机对终端用户不可见。终端用户不能决定他们的虚拟机被分配到哪台宿主机

 

3.1.4 主存储(Primary Storage)

 

一级存储与 cluster 关联,它为该 cluster 中的主机的全部虚拟机提供磁盘卷。一个 cluster 至少有一个一级存储,且在部署时位置要临近主机以提供高性能。

 

cloudstack primary storage 

cloudstack primary storage

 iSCSI和FC-San存储在Xenserver中被加载为Clustered LVM格式,此种格式下,不能支持存储的超配。如果存储本身支持XenServer的thin-provisioning,CloudStack也可以支持存储超配 在全局配置中,有storage.overprovisioning.factor 项用来配置超配的比例。默认为2,即支持超配的存储格式,可以使用的存储为该存储的N倍。 配置完成后,可以在UI的Dashboard中查看存储信息。Primary Storage Allocated项是超配后的所有主存储的总和,Storage项是所有主存储实际大小的总和  


3.1.5 辅助存储(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解压,并将相关文件存到指定路径下。

 

二级存储里面具体放哪些东西?

 

二级存储与 zone 关联,它存储模板文件,ISO 镜像和磁盘卷快照。 也就是说对这些资源的管理都是通过SSVM进行的

  • 模板:可以启动虚拟机的操作系统镜像,也包括了诸如已安装应用的其余配置信息。

  • ISO 镜像:包含操作系统数据或启动媒质的磁盘镜像。

  • 磁盘卷快照:虚拟机数据的已储存副本,能用于数据恢复或者创建新模板。

   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中,这样它就可以直接将二级存储里面的内容删除  如何验证ssvm? 那如何验证ssvm并可以正常使用呢?在ssvm中有一个ssvm-check.sh,这个shell文件主要负责对ssvm的相关配置进行验证。验证内容包括: dns, mount的二级存储, 与management server的连接,相关java进程

 

3.1.6 物理网络(Physical Networks)

 

每个区域可以分配一个(极限与高级资源域)或者多个物理网络。这个网络对应宿主机的一个网卡。每个物理网络可以承载一种或多种网络流量。每个网络流量的类型的选项由你选择的是基本网络与还是高级网络与而不同。物理网络是连接到资源与的真实网络硬件。一个资源与能有多个物理网络

 

3.2cloudstack网络流量类型

 

 网络的设计规划是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流量,比如虚拟机模板和快照的搬移

 

3.3 cloudstack网络模式

 

CloudStack中网络模式可以分成基本网络和高级网络两种.其中MGS(Management,Guest,Storage)三种网络对于基本网络及高级网络通用.而P(Public)则只是针对高级网络才存在

 

基本网络. 类似于AWS类型的网络. 提供一个单一网络, 在这个网络里客户通过提供的三层方式进行隔离,比如借安全组方式(源IP地址过滤)。


高级网络. 为更复杂的网络拓扑设计. 网络模型提供了更为灵活的客户网络定义。


cloudstack 


 这里强烈建议不同的流量类型单独设置网卡,而对于存储网络最好用网卡绑定(NIC bonding),这样在系统的稳定性和性能方面都会有极大的提高   

  基本网络模式下IP地址规划 


 如果打算使用基本网络模式建立CloudStack云计算环境,那就意味着客户虚拟机实例将会和CloudStack,Hypervisor整体架构拥有相同的CIDR段.这样在规划IP地址时每个资源域都要预留足够的IP地址.假设你规划有8个资源域,每个资源域容纳2000台虚拟机,那IP地址CIDR可规划成192.168.0.0/20,这样能保证最多16个资源域,每个资源域IP数量有2^12-1=4095个,除去机架,系统虚拟机,主机占用的IP,提供2000个VM的IP绰绰有余. 注:具体环境中采用哪个段的IP地址可能要与IT环境相一致. 


  高级网络模式下的IP地址规划 


 高级网络模式相对来说较为复杂,在这种模式下,每个账号都要分配: 1. 公网IP,这为了保证对外网的访问,通常这个IP设置在虚拟路由器上 2. Guest网络IP范围,比如默认的:10.1.1.0/24 3. Guest网络隔离的VLan ID 以上默认的Guest网络IP范围对于所有账户都是一样的,只有管理员可以进行更改使不同账号使用不同的的Guest网络IP范围. 一个账户下的客户虚拟机实例通过它专属的VLan进行相互之间的访问或与这个账户的虚拟路由器互通.客户虚拟机可以运行在资源域内任意一台主机上;通过二层交换的VLan端口汇聚(Trunk)功能,可以保证同一个VLan下所有的虚拟机互连互通. 


  预留系统IP地址 

 当配置一个机架时,需要为系统虚拟机保留一些IP地址,这部分是管理网络也称为私有IP地址.通常情况下10个IP地址对一个机架是足够用了.这些IP地址会被SSVM(二级存储系统虚机)和CPVM(控制台系统虚机).如果系统很庞大,CPVM会被自动部署多台来分担负载. 在整个云计算环境中,所有的主机和系统虚拟机都必须有一个唯一的IP地址,因此在添加新的资源域时,也需要考虑当前环境中资源域的网络规划.

 

  地链路IP(Link-Local) 

 在使用XenServer或KVM作为主机时,系统虚拟机(SSVM,CPVM,V-Router)会被分配一个本地链路的IP地址.这个地址的CIDR是169.254.0.0/16;这样看来本地链路的IP地址会有2^16-1=65535个,目前来看不太可能超过这个范围.如果一个机架只包含XenServer或KVM的集群,那可以分配给这个机架下的主机一个C类段的地址形如:x.x.x.x/24.如果是VMWare的集群,给机架分配的IP地址范围会被系统虚拟机占用一些那么就要考虑比C类段大一些的范围作为机架的IP地址段,形如:x.x.x.x/21,这样会有2^11-2=2046个IP供给主机,存储以及系统虚拟机使用. 

虚拟机隔离 

 在同一个资源域内,虚拟机有两种方式进行隔离:安全组和VLAN. 安全组隔离 当使用安全组时,每一个创建的账户都会有一个默认的安全组生成,以保证通过这个账户创建的虚拟机实例默认要以互连互通.当用户创建虚拟机实例后,可以对这些虚拟机实例设定一个或多个安全组. 用户可以在任意时间创建额外的安全组,但正在运行中的此用户的实例不能应用新建的安全组规则,需要关机后更改设置. 同一个安全组下的用户虚拟机实例可以相互通信.安全组通过Ingress和Egress来进行流量控制. 

VLAN 

 高级网络模式中默认是通过VLAN进行虚拟机实例之间的相互隔离.当一个账户的第一个虚拟机被创建并运行时,一个隔离的网络也同时创建完成.在一个资源域下,一个账户的虚拟机网络默认的CIDR配置:10.1.1.0/24;在整个云环境中,只有系统管理员有权限创建一个隔离的客户虚拟机网络,并指定一个IP范围和一个VLAN. CloudStack中网络是较为复杂的一部分,功能也十分强大,特别是高级网络模式,这里建议大家参考CloudStack3.0的相关文档来更清楚的了解网络部分  

3.3 部署cloudstack前,管理员可以做如下规划

 

  • 资源与中有多少提供点。

  • 每个提供点中有多少集群。

  • 每个集群中有几台宿主机。

  • 每个集群中有几个主存储,且总的存储量要多大。

  • 每个资源域下要有多少二级存储。

 

4. cloudstack 软件架构

cloudstack软件架构   

4.1 cloudstack vs openstack

 


参考文档: 

http://www.cloudstack-china.org/wp-content/uploads/downloads/2012/10/Cloudstack-vs-OpenStack.pdf http://www.ibm.com/developerworks/cn/cloud/library/1303_chenyz_cloudstack/ http://www.cnblogs.com/skyme/archive/2013/06/06/3118852.html


转载于:https://my.oschina.net/ivonlee/blog/266357

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值