开源云计算平台CloudStack架构浅析_第1页
开源云计算平台CloudStack架构浅析_第2页
开源云计算平台CloudStack架构浅析_第3页
开源云计算平台CloudStack架构浅析_第4页
开源云计算平台CloudStack架构浅析_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 开源云计算平台CloudStack架构浅析 2011年OpenStack的蹿红激发了原来的鼎力支持者思杰(Citrix)在云计算的野心。通过收购CloudStack并将其捐献给Apache基金会,思杰快速复制出了一个OpenStack的竞争项目。但是CloudStack的发展一直受到OpenStack阵营的压制,思杰在2015年选择重新加入OpenStack基金会,并于2016年将CloudStack云平台业务出售,今天不谈商业利益,聚焦技术谈谈CloudStack。什么是CloudStack CloudStack是一个开源的具有高可用性及扩展性的云计算平台。目前CloudStack支持管理

2、大部分主流的hypervisors,如 KVM,XenServer,VMware,Oracle VM,Xen等。 同时CloudStack是一个开源云计算解决方案。可以加速高伸缩性的公共和私有云(IaaS)的部署、管理、配置。使用 CloudStack作为基础,数据中心操作者可以快速方便的通过现存基础架构创建云服务。CloudStack概念架构 用户通过网络访问属于我的虚拟机、存储空间、管理我的个人模板。管理员部署配置,管理账户,监控资源,安排作业,排除故障。开发人员开发计费、监控、统计报表等功能模块,定制图形界面、工作流。CloudStack部署架构 Zone 对应于现实中的一个数据中心,它

3、是 CloudStack 中最大的一个单元。Pod 对应着一个机架。同一个 Pod中的机器在同一个子网(网段)中。Cluster 是多个主机组成的一个集群。 同一个 Cluster中的主机有相同的硬件,相同的 Hypervisor,和共用同样的存储。同一个 cluster 中的虚拟机,可以实现无中断服务地从一个主机迁移到另外一个上。Host 就是运行虚拟机(VM)的主机。即从包含关系上来说,一个 Host包含多个 Pod,一个 Pod包含多个 Cluster,一个 Cluster包含多个 Host。Primary storage:一级存储与 cluster 关联,它为该 cluster 中的主

4、机的全部虚拟机提供磁盘卷。一个 cluster 至少有一个一级存储,且在部署时位置要临近主机以提供高性能。Secondary storage:二级存储与 zone 关联,它存储模板文件,ISO 镜像和磁盘卷快照。模板:可以启动虚拟机的操作系统镜像,也包括了诸如已安装应用的其余配置信息。ISO 镜像:包含操作系统数据或启动媒质的磁盘镜像。磁盘卷快照:虚拟机数据的已储存副本,能用于数据恢复或者创建新模板。CloudStack的软件架构CloudStack跟KVM一起部署的架构 下图是CloudStack跟KVM一起部署的架构,在每个kvm的宿主机上都需要部署agent程序。CloudStack跟v

5、sphere部署的架构 下图是CloudStack跟vsphere一起部署的架构,如果部署vmware的产品就必须部署vcenter server。CloudStack支持的存储类型 CloudStack在不同的Hypervisor下支持NFS、ISCSI、FC和本地磁盘,具体指出情况如下图所示。CloudStack的API CloudStack的API包含Web Services,REST架构,支持POST / GET请求,返回XML或JSON响应格式,root管理员、域管理员和用户等。CloudStack和OpenStack的比较Cloudstack高级网络架构 使用cloudstack的

6、朋友可能都有体会,它的高级网络模式(Advanced Zone)理解和实施起来比较困难,很多用户的测试工作一般都会卡在这里,经过长时间的摸索也不得要领。并且由于目前cloudstack的中文技术文档还不是很丰富,而官方文档一方面都是英文的,另一方面有些地方写的也不是很清楚,给国内的广大用户的学习和研究带来了很大的不便。 Cloudstack的网络即服务(NaaS)特性包括2种模式:Basic与Advanced,其中最主要的区别在于对用户网络(Guest Network)采用的隔离方式;在Basic模式下,采用Security Group方式进行隔离(L3隔离); 而在Advanced模式下,采

7、用VLAN方式进行隔离(L2隔离)。对于Advanced网络模式来说,存在4种类型的网络流量:Public Network公共网络,一般指Internet公网;Guest Network私有虚拟网络,指属于每个租户自己的私有网络;Management Network管理网络,指管理服务器与物理主机、系统虚拟机管理地址通讯的网络;Storage Network存储网络,一般指二级存储虚拟机SSVM与二级存储之间通讯的网络。 另外,系统虚拟机的虚拟路由器(Virtual Router)在高级网络模式里也是十分重要的部分。它将成为租户私有网络与公共网络之间的接口,并未租户私有网络提供各种网络服务,包

8、括NAT、静态NAT、DHCP、DNS、Load Balancing、Port Forwording、Firewalls、Site-to-Site VPN等。 在创建高级网络Zone的时候,系统会为每一个租户(Account)默认创建一个Virtual Router以及其所属的私有虚拟网络Guest Network,Guest Network的IP地址一般为在创建Zone的时候指定的CIDR地址(/24),并且会为这个Guest Network分配一个VLAN ID(VLAN ID的可用范围也是在创建zone时指定的)。 当然,租户可以根据自己的需要创建更多的属于自己的私有虚拟网络,每个新的私

9、有虚拟网络也将配置自己的Virtual Router。那么高级网络模式以及Virtual Router是怎么工作的呢?我们看下面这个高级网络模式的示意图。 当高级网络创建完成后,Virtual Router会成为租户私有网络的网关,对内的虚拟网络接口配置IP地址,对外的虚拟网络接口配置一个或多个公网IP地址(65.37.141.*)。而不同租户获得属于自己的私有网络Guest Network,之间相互隔离无法相互访问。 租户私有网络内的虚拟机通过Virtual Router的DHCP以及DNS功能在创建时自动获取IP地址(/24)和主机名;当需要访问公网时,虚拟机通过Virtual Route

10、r的NAT功能获得私有地址到公网地址的映射。 我们知道,NAT地址映射只能提供内部对外部的访问,而当外部请求进入时,是无法访问私网内部的虚拟机的。那么,当需要外部请求访问时该如何做呢?很简单,Virtual Router除了提供NAT功能外,还会提供静态NAT、Load Balancing、Port Forwarding以及防火墙功能。静态NAT:可以将1个公网IP地址与一台虚拟机进行绑定,这台虚拟机的所有网络请求和访问都会走绑定的公网IP。Load Balancing:网络负载均衡,指定Virtual Router公网端IP地址及相应端口,以及负载分发的虚拟机及端口,还有轮询模式,进入的网络

11、请求就负载分发到不同的虚拟机上。Port Forwarding:端口转发,指定Virtual Router端公网IP地址及相应端口,以及被转发到的虚拟机及相应端口,进入的网络请求就会被转发到相应的虚拟机端口上。Firewalls:防火墙,出于网络安全的考虑,Virtual Router会默认屏蔽所有对内的访问请求,需要配置防火墙策略开启需要被访问的协议及端口。ZStack架构介绍 ZStack是一个全新的的发布于2015年开源IaaS解决方案,主要开发者为张鑫和尤永康。ZStack的创始人张鑫是早期CloudStack核心开发人员。在ZStack官方公布的技术文档中,用户可以发现有很多不同于现

12、有IaaS产品的架构设计,其主要特色为全异步架构、微服务和一致性哈希,可承载高并发的API请求,具备稳定的架构、非常简化的部署和升级的特点。 当前ZStack最新版本为0.8.0,暂时只支持KVM虚拟化。存储方面和CloudStack类似,逻辑上分为主存储(Primary Storage)和备份存储(Backup Storage)。 主存储支持NFS和iSCSI存储协议的共享存储方案,并支持虚拟化节点使用本地磁盘(根据ZStack Roadmap,0.9版本将支持Ceph RBD块存储)。备份存储则通过SFTP进行数据传输。ZStack实现了基础的iSCSI存储模型,类似OpenStack中的

13、Cinder默认的存储模型。 Cinder默认的存储模型为iSCSI+LVM,通过LVM划分的裸设备映射到iSCSI供计算节点访问(Qemu-kvm直接访问块设备),而ZStack则通过Btrfs文件系统提供裸设备文件,通过iSCSI提供给计算节点访问。采用Btrfs,能利用其COW的写时复制特性,实现秒级的快照、回滚和克隆等操作。根据这样的iSCSI存储模型,ZStack可以较为轻巧地使用iSCSI存储,但前提是存储设备提供API访问特性。 在ZStack实际测试和使用过程中,有不少朋友会问为什么不支持常规的iSCSI和FC存储。事实上要通过部署GFS/CLVM、OCFS2等具备分布式锁管理

14、的共享文件系统才能解决共享读写问题(CloudStack+KVM场景提供Share MountPoint就是为了兼容共享文件系统的访问,而XenServer对iSCSI和FC采用CLVM,VMware ESXi采用VMFS)。目前,ZStack支持的Primary Storage存储类型如表所示。 网络方面,相比CloudStack只能在初始化Zone的候选择基础网络或者高级网络,ZStack支持类似EC2的弹性网络、Flat网络、多级网络和安全组特性,未来将会支持VPC。ZStack通过设定L2和L3实现对网络的自由使用。 简单来说:在目标集群里所有计算节点的eth1网口提供网络接入(也可以把网卡做bond后提供bond网络设备符)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论