OpenStack最新版本Folsom架构解析


两年前OpenStack基于NASA的Nova项目和Rackspace的Swift项目合并得以建立,而今OpenStack已经成为云计算领域的一颗新星,继2012年四月发布Essex版本之后,在今年九月底OpenStack第6版Folsom正式发布,本文简要分析了OpenStack Folsom的架构。

OpenStack最新的组件

OpenStack目前有7个核心组件:Compute(计算), Object Storage(对象存储),Identity(身份认证),Dashboard(仪表盘), Block Storage(块存储), Network(网络) 和 Image Service(镜像服务) 。下面将依次进行解释:

1) Object Storage(代号为“Swift”) 允许进行存储或者检索文件。目前已经有几好家公司开始提供基于Swift商业存储服务,这些公司包括KT,Rackspace公司(Swift项目的发源地)和Internap,而且很多大公司内部也使用Swift来存储数据。

2) Image Service(代号为“Glance”) 是一个虚拟机镜像的存储、查询和检索系统,它提供了一个虚拟磁盘映像的目录和存储库,这些磁盘映像常常广泛应用于OpenStack Compute之中,而且这种服务在技术上是属于可选的,任何规模的云都适用于它。

3) Compute(代号为“Nova”) 根据需求提供虚拟服务。Rackspace公司和HP提供商业计算服务正是建立在Nova之上,Mercado Libre和NASA(Nova项目的起源地)内部也是使用的Nova。

4) Dashboard(代号为“Horizon”) 为所有OpenStack的服务提供了一个模块化的web-based用户界面。使用这个Web GUI,可以在云上完成大多数的操作,如启动实例,分配IP地址,设置访问控制等。

5) Identity(代号为“Keystone”) 为所有的OpenStack服务提供身份验证和授权。它还提供了一个在特定OpenStack云服务上的服务目录。

6) Network(代号为“Quantum”) 在接口设备之间提供“网络连接作为一种服务”,而这些接口设备主要靠其他的OpenStack服务进行管理(最有可能是Nova)。该服务允许用户创建自己的网络,然后连接接口。Quantum提供一个可插拔的体系架构,它能支持很多流行的网络供应商和技术,Quantum是Folsom版本中的新项目。

7) Block Storage(代号为“Cinder”) 提供稳定的数据块存储服务。这个项目的很多代码最初是来自于Nova之中(就是the nova-volume service)。但是请注意,这是块存储(或者volumes),而不是类似于NFS或者CIFS文件系统,Cinder在Folsom中也是一个全新的项目。除了这些核心项目之外,也有一些“孵化”项目,未来可能会考虑列入到OpenStack的核心项目之中。

对比AWS的服务

虽然所有的OpenStack服务都具有自己的特色,但是很多人还是希望能看到它与AWS相似的部分,而且Amazon一直也是OpenStack的重要对手。

*Nova在概念上类似于AWS中的EC2服务,不过事实上,它拥有很多种方法可以实现对EC2 API的兼容性。

*Swift在概念上类似于S3服务,不过swift具有很强的扩展性、冗余和持久性。

*Glance提供了很多与Amazon AMI catalog相似的功能。

*Cinder提供类似于EBS块存储服务。

概念架构

OpenStack项目成立的目的是“提供一个大规模的可扩展的云操作系统”。要做到这一点,每一个组成服务的设计都要精心考虑,这样才能打造一个完整的IaaS平台。从概念上,我们可以描绘出各种服务之间的关系:

*Dashboard("Horizon") 提供了一个Web前端到OpenStack其他的服务的界面

*Compute("Nova") 存储和检索虚拟磁盘(images)和Image上相关的元数据(Glance)

*Network("Quantum") 提供虚拟网络

*Block Storage("Cinder") 提供存储。

*Image("Glance") 在对象存储(Swift)上能够完成虚拟磁盘文件的存储

*所有的服务进行身份验证(Keystone)

这是一个程式化的简化版的体系结构视图,而且假定构建者使用所有的OpenStack服务进行最常见的配置操作,不过它也仅仅是显示“操作员”看到的云——并没有显示出云用户具体的使用过程,比如说用户如何进行直接的对象存储。

逻辑架构

正如你能想象到的那样,逻辑结构要比概念架构复杂得多的多(如图所示)。正如任何面向服务的架构图一样,如果想说明所有可能的服务通信组合,图就会迅速“乱成一团”。下面的图,仅仅显示了一个最常见的基于OpenStack的云架构。当然,随着OpenStack支持技术种类的多样化,它并不能代表唯一的架构图。

该图与上述的概念架构图是一致的:

*最终用户可以通过一个公共的Web界面(Horizon)进行交互或者通过其API直接访问每一项服务

*所有的服务进行身份验证都是通过一个共同的来源(通过Keystone)

*个人服务通过他们公共的API进行交互(除了那些拥有特别权限的地方才需要管理员的命令)
已邀请:

w00_00

赞同来自:


好文章,可以对OPENSTaCK有个简要的认识了!

要回复问题请先登录注册