• 1. Cloudstack 功能分析 (基于cloudstack 4.3)
  • 2. 提纲架构概览 用户、账户、项目、域管理 服务提供 用户网络配置 虚拟机、模板管理 主机管理 存储管理 系统虚拟机管理 使用率服务器管理 网络与流量管理 系统可靠性与高可用
  • 3. Cloudstack 的整体架构Region 是cloudsatck 管理的最大资产 Zone (区域)粗略的对应一个数据中心,包含多个主存储和一个辅助存储 zone 分为共享和私有,共享zone 任何客户都可创建虚拟机,私有zone为某个域预留,只有该域的客户才可以创建虚拟机 pod (提供点)机架,对终端用户不可见。包括二层交换机和多个群集。Pod 中的主机在同一子网 cluster (群集),相同硬件和相同的虚拟化软件。虚拟机在集群内迁移主存储:存储虚拟机文件和虚拟磁盘,支持NFS 和 Iscisi ,对Hyper-V, 支持SMB/CIFS ,通常集群共享。整个zone 共享主存储也是一个选项,但不经常用,主存储不设备份,可以通过保存于辅助存储的快照进行虚拟机恢复。 辅助存储:存储模板、镜像以及卷快照,建议使用基于zone的nfs的文件系统,不同zone间数据不需要迁移,通过nfs获取。提供基于openstack swift和亚马逊S3的插件,nfs 作为前端,云存储作为后端。不支持区域内的异构存储,使用NFS时辅助存储应定期备份。
  • 4. 虚拟化支持裸物理机 (通过 IPMI) Hyper-V KVM LXC vSphere (借助与 vCenter) Xenserver Xen Project 亚马逊 云管理工具兼容: 提供亚马逊EC2 接口转化层,可以使用普通的亚马逊云管理工具对cloudtack 进行管理。可以使用多种插件来实现高级功能: Nicira NVP Plugin 实现了 SDN功能。 VxLan Plugin 实现了kvm基于标准linux 网桥的 vlan 支持。 OVS Plugin 使用GRE(通用路由封装协议) 隔离实现了cloudstack 的SDN功能
  • 5. 网络:使用场景及基本网络物理网络:指真实的网络硬件和网线构成的网络。每个zone中包含一个或多个(使用高级网络时)物理网络。每个物理网络承载一种或多种类型的网络流量。 多种网络,可以划分为两类使用场景: 基本网络提供扁平的二层网络,虚拟机的隔离通过hypervisor的桥接装置提供低三层隔离进行。高级网络使用典型的二层隔离(如VLAN等),这种分类会使用SDN技术,如Nicira NVP 基本网络流量类型来宾流量终端用户运行虚拟机产生的流量,基本网络中每个pod是一个数据广播的区域,每个POD有不同的网段。因此,必须为每个pod配置IP段。管理流量Cloudstack内部资源互相通讯,产生管理流量。包括:,主机、系统虚拟机间互相通讯,其他组件直接与管理服务器之间的通讯。 公共流量用于访问互联网的流量。必须通过cloudstack获得公网ip ,并实现来宾网络和公供网络的NAT映射。存储流量特定指辅助存储流量,如模板、快照等功能引起的辅助存储虚拟机与辅助存储之间的流量。
  • 6. 网络:高级网络高级网络:一个zone中可以包括多个物理网络,每个物理网络承载一种或多种流量,需要在cloudstack中设置,让其知道每个网络所通过的流量: 高级来宾网络可以跨越zone,为所有用户共享或者局限于每个用户独享。 高级网络中,每个pod中私有IP的数量因hyperversior而异。Xensever和KVM使用link-local地址,理论上可达65000个,vmware使用管理员指定子网的机制,通常一个子网只有255个地址,且为虚拟机、物理机、虚拟路由器等共享。容易溢出。可以采用子网掩码指定大的子网段。高级网络流量类型来宾流量终端用户运行虚拟机产生的流量,可分为隔离网络和共享网络。隔离网络中,管理员需要预留VLAN段为每个账户的虚拟机提供隔离功能。共享网络所有虚拟机共享一个网络。管理流量Cloudstack内部资源互相通讯,产生管理流量。包括:,主机、系统虚拟机间互相通讯,其他组件直接与管理服务器之间的通讯。 公共流量用于访问互联网的流量。必须通过cloudstack获得公网ip ,并实现来宾网络和公供网络的NAT映射。存储流量特定指辅助存储流量,如模板、快照等功能引起的辅助存储虚拟机与辅助存储之间的流量。
  • 7. 提纲架构概览 用户、账户、项目、域管理 服务提供 用户网络配置 虚拟机、模板管理 主机管理 存储管理 系统虚拟机管理 使用率服务器管理 网络与流量管理 系统可靠性与高可用
  • 8. 用户、账户、域、项目管理多个账户组成一个域,比如服务提供者可以为每个分销商设置一个域。 自服务门户和管理门户,合一,通过账号和授权来区别。 为账号分配资源有显式分配和严格分配两种方式,显式分配根管理员可以给其他管理员授权。严格分配一个资源只能被一个账户管理,如虚拟桌面只能服务于特定客户,不同客户间不能共享。 针对业务(项目)的资源预留(IP,快照,模板,虚拟机,存储卷) 通过业务(项目)可以直接授权其他用户,也可以邀请新的管理员。受邀人员可登陆界面接受邀请。 项目(业务)整体挂起(资源依旧在,但不能使用),删除(资源回收)
  • 9. 提纲架构概览 用户、账户、项目、域管理 服务提供 用户网络配置 虚拟机、模板管理 主机管理 存储管理 系统虚拟机管理 使用率服务器管理 网络与流量管理 系统可靠性与高可用
  • 10. 服务提供(Service offering)服务提供是贯穿cloudstack整体的一个概念,可以类比于用户所使用资源的属性特征,这些特征与计费和资源使用统计紧密相连。服务提供的类别如下: 服务提供物理、逻辑资源实例计算服务提供CPU频率,CPU数量,内存大小,根磁盘标签磁盘提供主存储上划分的磁盘大小和IOPS网络提供来宾网络虚拟路由器、外部网络设施等详细的配置参数模板创建实例时的基本操作系统镜像。虚拟机服务提供A: 1 vcpu 2.0Ghz 2G内存 500G数据盘 网络速率10 Mbps 提供HA Centeros 6.3 操作系统 管理员配置服务提供的内容, 供用户选用,这是一种服务模板的概念。 Cloudstack 通过服务提供将各种资源特性抽象出来。 同样的资源,可以更换不同的服务提供供用户使用。 如用户订购了一台虚拟机, 可以根据情况将服务提供A换为服务提供B 服务提供B: 2 vcpu 2.0Ghz 16G内存 200G数据盘 网络速率10 Mbps 提供HA Redhat 6.2 6.3 操作系统
  • 11. 计算服务提供名称描述存储类型分配的磁盘类型(主机本地分配或共享分配)客户指定计算信息选中后,可由客户指定CPU速度、核数和内存大小CPU核数CPU频率内存网络速率磁盘读写速率bits per second 或IOPS提供HAOos 类型空,不提供质量保障,基于hypervisor ,基于存储侧最小、最大IOPS
  • 12. 计算服务提供Hypervisor快照预留大小取根磁盘的倍数。(如虚拟机根磁盘20G,预留200%,则预留空间为20+20*2G)存储标签主机标签指定主机CPU cap在资源空闲的情况下,是否控制CPU利用率(比如2Ghz的物理核,用户虚拟机申请的是1Ghz的虚拟机,资源空闲时,是否给用户2Ghz的核独立使用?)是否公有根盘重启时是否重置部署策略第一次适合的位置,账户的虚拟机分散部署,账户的虚拟机集中部署,指定与某一账户专属设备部署模式上述部署策略选择指定某一账户专属设备时选用,有两种类型:严格的,主机不能被其他账户共享。优先的:尽量部署与专用设备。
  • 13. 磁盘服务提供名称描述客户指定磁盘大小如果选中,可由客户指定磁盘大小。磁盘大小Oos 类型空 ,依赖于hypervisor,依赖于存储客户定义IOPS如果选中,客户可以定义IOPS最大、最小IOPSHypervisor 快照预留取根磁盘的倍数。(如虚拟机个磁盘20G,预留200%,则预留空间为20+20*2G)存储标签(可选)用户指定虚拟机磁盘卷所在的存储是否公有
  • 14. 网络限速网络限速可以在如下如下地方设置: 网络服务提供 计算服务提供 全局参数隔离网络和共享网络对网络限速的参数设置不同: 参考如下例子: 网络服务提供:网络速率 10Mbps 计算服务提供: 网络速率 200Mbps 共享网络:入口不限速,出口200Mbps 隔离网络:入口10Mbps,出口200Mbps
  • 15. 提纲架构概览 用户、账户、项目、域管理 服务提供 用户网络配置 虚拟机、模板管理 主机管理 存储管理 系统虚拟机管理 使用率服务器管理 网络与流量管理 系统可靠性与高可用
  • 16. 系统支持的网络服务提供者(网络元素)列表 Virtual RouterCitrix NetScalerJuniper SRXF5 BigIPHost based (KVM/Xen)Remote Access VPNYesNoNoNoNoDNS/DHCP/User DataYesNoNoNoNoFirewallYesNoYesNoNoLoad BalancingYesYesNoYesNoElastic IPNoYesNoNoNoElastic LBNoYesNoNoNoSource NATYesNoYesNoNoStatic NATYesYesYesNoNoPort ForwardingYesNoYesNoNo
  • 17. 网络服务提供名称描述网络速率单位MB来宾类型隔离或者共享网络是否持久其中没有一台虚拟机时,网络依旧存在称为持久网络是否指定VLAN是否启用VPC功能支持的服务类型(需同时指定服务提供者)DHCP,DNS,负载均衡,防火墙,源NAT,静态NAT,端口转发(共享网络不支持),VPN(共享网络不支持),用户元数据(隔离网络不支持),网络ACL(共享网络不支持),安全组(隔离网络不支持)系统服务提供如果网络设备选用的cloudstack的虚拟路由器,则要指定虚拟路由器的系统服务提供负载均衡隔离专用负载均衡和共享负载 均衡模式Inline ,特定于SRX firewall 及 BigF5 ,负载均衡器前设置防火墙 旁挂:负载均衡器和防火墙并行布置。关联公共IP
  • 18. 网络服务提供名称路由器冗余仅当虚拟路由器作为source NAT时出现,设置后虚拟路由器主备设置保守模式保守模式关闭之后,一个公共IP只能用于一种服务,打开之后,可以用以多种服务,比如:静态NAT和负载均衡标签是否持久其中没有一台虚拟机时,网络依旧存在称为持久网络默认出口策略防火墙的默认出口策略,
  • 19. 提纲架构概览 用户、账户、项目、域管理 服务提供 用户网络配置 虚拟机、模板管理 主机管理 存储管理 系统虚拟机管理 使用率服务器管理 网络与流量管理 系统可靠性与高可用
  • 20. 虚拟机、模板管理虚拟机名称3个,一个是ID,一个是用户定义的名称,一个是DHCP服务器管理的名称,后两者客户可编辑,默认是ID 提供HA功能(注意:HA虚拟机关闭时必须通过UI,否则会根据HA规则重新启动。) 每个新建虚拟机有一个公共IP,cloudstack 自动创建公共IP和私有IP间的静态NAT 对于没有安装vmware(xen) tools 的机器,在随后安装vmware(xen) tools后可以通过updateVirtualMachine API 通知cloudstack。 虚拟机在主机的部署策略: 1. 自动,默认 2. 主机属性限制,比如定义某台主机只承载windows系统虚拟机。 3. 垂直和水平部署,即集中部署于一台物理机或者分散平均部署在集群上。 4. 用户倾向,用户可以指定虚拟机所在的zone。 5. 主机标签,根据服务的主机标签指定主机。 6. 亲近组,通过亲近布置虚拟机。亲近组可以指定反亲近特性,组内虚拟机不能部署在相同的物理机上。 虚拟机快照:仅支持vmware 和 xenserver,快照时有不能为虚拟机添加新卷,不能变更服务提供等限制。 可以再界面直接更改虚拟的显示名、操作系统类型,组。(需事先关闭虚拟机) cpu 和内存热扩展:仅支持vmware和xenserver,虚拟机内存、CPU动态自动扩展仅支持vmware 且cloudsatack 4.2 以后创建的虚拟机。且有诸多限制。
  • 21. 虚拟机、模板管理具有虚拟机重启时重置根磁盘的功能 ISO 镜像 不同hypervisor 通用。 支持虚拟机变更不同模板。创建后的虚拟机支持变更创建模板,比如虚拟机变更为打过补丁的新模板(删除旧根磁盘,重建根磁盘) 虚拟机密码修改机制与云管理平台不同,通过添加更改密码脚本,脚本运行后向虚拟路由器发http请求,获取新的用户名和密码。 虚拟机删除的机制:先标记删除,然后由后台任务定时删除(也就是说,在定时任务没有执行之前虚拟机还存在)。
  • 22. 提纲架构概览 用户、账户、项目、域管理 服务提供 用户网络配置 虚拟机、模板管理 主机管理 存储管理 系统虚拟机管理 使用率服务器管理 网络与流量管理 系统可靠性与高可用
  • 23. 主机管理维护模式,与vcenter协作,自动迁移虚拟机,同时停止创建新的虚拟机 pod、zone、cluster 暂时不可用,不能创建新虚拟机 支持cpu、内存超配,系统中配置超配比,可为集群不同账户配置不同的超配比。(Xensever 超配比不能超过4,kvm不能管理动态调整内存分配,cloudstack为其设置最大、最小内存,其数量取决于内存争用情况)
  • 24. 提纲架构概览 用户、账户、项目、域管理 服务提供 用户网络配置 虚拟机、模板管理 主机管理 存储管理 系统虚拟机管理 使用率服务器管理 网络与流量管理 系统可靠性与高可用
  • 25. 存储管理分为主存储和辅助存储,主存储支持iSCSI 和NFS,辅助存储支持NFS。 虚拟机磁盘分为root卷和数据卷,XenServer 最多支持16个卷,其他的6个卷。 虚拟机存储分配策略:虚拟机创建时自动创建根卷,虚拟机删除时自动回收根卷,虚拟机创建时自动加载数据卷,虚拟机销毁时不删除数据卷。Storage media \ hypervisorVMware vSphereCitrix XenServerKVMHyper-VFormat for Disks, Templates, and SnapshotsVMDKVHDQCOW2VHD Snapshots are not supported.iSCSI supportVMFSClustered LVMYes, via Shared MountpointNoFiber Channel supportVMFSYes, via Existing SRYes, via Shared MountpointNoNFS supportYesYesYesNoLocal storage supportYesYesYesYesStorage over-provisioningNFS and iSCSINFSNFSNoSMB/CIFSNoNoNoYes
  • 26. 存储管理数据卷可以挂载与不同的虚拟机。 支持物理机的磁盘直接上传cloudstack,然后供虚拟机挂载(通过http,上传于辅助存储,可用MD5校验) 虚拟机存储热迁移,如,考虑到存储池负载均衡,迁移至不同存储池。 虚拟机存储卷大小调整(增大序列依赖于存储服务提供,缩小卷大小可能带来数据损失) 支持每次重启虚拟机时创建新的卷。 卷的删除不删除卷快照,卷删除使用垃圾回收机制。 支持用户手工或依赖于循环策略自动创建卷快照,卷快照创建于主存储,然后备份至辅助存储,支持增量备份 支持主机本地磁盘创建虚拟机,但不能迁移 支持存储分级管理与提供,比如HDD,SSD。
  • 27. 提纲架构概览 用户、账户、项目、域管理 服务提供 用户网络配置 虚拟机、模板管理 主机管理 存储管理 系统虚拟机管理 使用率服务器管理 网络与流量管理 系统可靠性与高可用
  • 28. 系统虚拟机管理系统虚拟机每个zone一个,专用于用于下载模板,上传模板,上传镜像等的系统虚拟机。如果是vmware则有辅助系统虚拟机,用于快照管理和私有镜像管理。 控制台虚拟机:vnc转发,支持ssl证书,支持负载均衡设置。 虚拟路由器:具有一些监控工具,监控虚拟路由器的运行,并自动重启停止的服务。(注意:从hypervisior 直接启动会丢失Iptable数据,需要从cloudsatck 界面重启) 辅助存储虚拟机
  • 29. 提纲架构概览 用户、账户、项目、域管理 服务提供 用户网络配置 虚拟机、模板管理 主机管理 存储管理 系统虚拟机管理 使用率服务器管理 网络与流量管理 系统可靠性与高可用
  • 30. 使用率服务器 使用率服务器是一个可选的,独立安装的组件,用以收集使用信息纪录,从而使cloudstack具备与账务系统集成的能力,使用服务器通过从事件log中提取使用情况纪录,并通过 listUsageRecordsAPI对外提供。 使用纪录显示用户对资源实例的消费情况,比如虚拟机运行时间,或者模板的存储空间等。使用率服务器每天至少运行一次,也可配置为每天运行多次。.
  • 31. 提纲架构概览 用户、账户、项目、域管理 服务提供 用户网络配置 虚拟机、模板管理 主机管理 存储管理 系统虚拟机管理 使用率服务器管理 网络与流量管理 系统可靠性与高可用
  • 32. 网络管理机架内网络部署及zone中部署如下所示。
  • 33. 网络管理 支持在Cloudstack 界面为虚拟机重新配置网络(针对网卡配置ID,网络名称、类型、IP地址、网关、子网掩码、是否默认等) 支持保留IP,用户分配给非cloudstack管理的物理机及虚拟机 支持为某用户预留一部分IP和VLAN 支持为一个网卡配置多个IP地址(其中一个为主IP地址)使用场景为网络设备防火墙、负载均衡的网络设备要求,在实例和网卡之间移动IP的需要,多重ssl需要。为避免网络冲突,链接与同一虚拟机的不同子网使用不同的子网。需手工进入虚拟机重新配置IP。 支持弹性IP,IP属于账户,可分配于不同虚拟机。用户具有自己的弹性IP池。 支持便携式IP,区域级的IP池,不同地理区域的机房内均可使用。 对于使用安全组的共享网络,不同网段可以在一个VLAN 支持PVLAN 支持安全组(主要用于基本网络,对高级网络仅支持kvm,通常对高级网络,可以通过多个来宾网络进行。) 与Juniper SRX ,citrix NetScaler ,F5深度集成(该产品分为MPX,VPX,SDX三种形态,VPX为虚拟设备,其余均为物理设备)该产品使用SNMP 与虚拟机进行通讯。负载均衡支持粘性策略,以保证用户一个会话中多个请求的信息连续性。分为load balance generated cookie,application generated cookie或者基于源。
  • 34. 网络管理 依赖于NetScaler Application Delivery Controller (ADC),ADC作为ADNS (Authoritative Domain Name Server) 监控两地之间虚拟机的运行情况。
  • 35. 网络管理 防火墙配置,端口转发,静态NAT,IP 负载均衡(适用于一个公共IP对应多个客户机的情况) 虚拟路由器提供DNS及DHCP等功能。 虚拟路由器提供VPN功能 提供VPC功能 提供站点到站点VPN功能(支持的产品为Cisco ISR with IOS 12.4 or later,Juniper J-Series routers with JunOS 9.5 or later,CloudStack virtual routers) 支持inter-VLAN 路由,实现不同VLAN间互访,有助于多层应用web、app、db使用不同的VLAN。
  • 36. 网络管理-VPCVPC是cloudsatck私有的,独立的部分。VPC 可以提供自己与传统物理网络相似的虚拟网络拓扑。多个隔离网络间通过自己的虚拟路由器通讯。 VPC中不同层之间可以配置内部负载均衡,如右图所示。 支持持久网络,该网络中可以不部署任何虚拟机。 使用持久网络的一个优点是:创建VPC,其中一层仅包含物理设备。 支持旧金山著名网络安全公司Palo Alto Networks 的新一代防火墙,提供相应的配置和服务功能。
  • 37. 提纲架构概览 用户、账户、项目、域管理 服务提供 用户网络配置 虚拟机、模板管理 主机管理 存储管理 系统虚拟机管理 使用率服务器管理 网络与流量管理 系统可靠性与高可用
  • 38. 系统可靠性平台本身的多节点部署,可以通过负载均衡部署多个管理服务器:虚拟路由器和弹性负载均衡虚拟机默认使用HA配置 Cloudstack 建议部署专用的物理机用于HA虚拟机 主存储不设置备份策略,其上虚拟机的恢复通过辅助存储的快照进行。辅助存储需要定期备份。 cloudstack db 采用主从复制方式,cloudstack 可以配置数据库自动接管。需要定期手工清理复制bin log 事件log纪录事件信息,并通过事件总线向订阅者发布,其实现机制使用rabbitMQ AMQP
  • 39. 谢谢!