OpenStack Havana版本构架简析


2010年7月,Rackspace和NASA正式启动开源的云管理软件OpenStack。OpenStack通过一系列相关的服务提供基础设施服务(IaaS)解决方案。每个服务提供一个应用编程的API,这样有利于集成。管理员可以根据自己的需求安装部分或者全部服务。本文将对OpenStack Havana版本的构架做总体的介绍,为后面多节点部署OpenStack打下基础。

1 OpenStack的服务

OpenStack Havana版本的构架由9个服务组成,分别是Dashboard、Compute、Networking、Object Storage、Block Storage、Identity、Image Registry and Delivery Service、Telemetry和Orchestration。

各服务的描述及对应的项目名称如下表所示:

各服务的描述及对应的项目名称

2 OpenStack概念构架

下图显示了OpenStack服务与服务、服务与虚拟机之间的关系:

OpenStack概念构架
  • 真正服务于VM的服务只有Nova、Glance、Neutron、Cinder:

Nova调派资源实例化虚拟机
Glance提供虚拟机实例化时需要的镜像
Neutron提供网络连接
Cinder提供外接的块存储服务

  • Ceilometer从上面与虚拟机相关的几个服务中收集数据,用于统计、监控、计费、报警等
  • Swift可以为Glance提供镜像的存储服务,可以为Cinder提供卷的备份服务
  • Keystone为所有服务提供认证、授权等服务
  • Horizon为所有服务提供基于Web的操作接口
  • 通过Heat可以方便地将各组件组织起来

3 OpenStack逻辑构架

云管理员必须了解OpenStack的逻辑构架才能设计、安装和配置云平台。下图给出了OpenStack最常见的一种逻辑构架,但不是唯一的。Ceilometer和Heat与服务逻辑无关,所以未在图中显示。

OpenStack逻辑构架

终端用户可以通过Dashboard、CLIs和APIs进行交互,所有的服务通过一个共同的认证服务进行身份验证,除了特殊的管理员命令外,每个单独的服务通过公共API进行交互。

Nova

计算服务是OpenStack的核心服务,它由nova-compute模块通过libvirt、XenAPI等管理hypervisor,从而管理虚拟机,此外它还通过nova-api服务向外提供如EC2兼容、管控功能等的接口,通过nova-scheduler模块提供虚拟机调研逻辑等,这些模块间的通信全部通过消息队列完成。

Swift

对象存储服务是OpenStack最早期的两个服务之一(另一个是计算服务),在OpenStack平台中,任何的数据都是一个对象,swift-proxy模块对外提供如HTTP(S)、OpenStack Object API及与S3兼容的存取接口。对象的存取经swift-proxy接入后,还需要经三个模块进行定位,即account、container、object,这是因为在OpenStack中一个对象被描述为:某个帐户下某个容器中的某个对象。

Glance

Glance的出现是解决虚拟机镜像的管理问题,在生成一个镜像后,需要将镜像注册到系统的数据库中。当要实例化一个虚拟机时,需要将镜像分派到一台具体的实机上用来以启动虚拟机。因而Glance最重要的接口是镜像的注册和分派。

Cinder

Essex将nova的卷管理api独立化后,Folsom终于将卷管理服务抽离成了Cinder,Cinder管理所有的块存储设备,块设备可以挂接在虚拟机的实例中,然后虚拟机里的guest系统可以像操作本地卷一样操作块存储设备。 Cinder需要处理的主要问题应该是接入各种块设备,如本地磁盘、LVM或各大广商提供的设备如EMC、NetApp、HP、华为,还有如Vmware提供的虚拟块设备等。

Neutron

经过一定时间的演变,网络管理也抽离成一个独立的服务。在OpenStack的网络管理流程中,通常需要经过以下几个步骤:创建一个网络; 创建一个子网; 启动一个虚拟机,将一块网卡对接到指定的网络上;删除虚拟机;删除网络端口;删除网络。

Keystone

身份服务需要进行认证凭证的验证及关于用户、角色等的信息,及所有相关的元数据,这些数据全都由Keystone服务管理,并提供CRUD的操作方法,另外这些信息可以从另一个认证服务中获取,例如使用LDAP做Keystone的后端。

4 OpenStack构架示例

OpenStack是高度可配置的,可以根据需要设置不同的计算、网络和存储选项,在本节只介绍其中一种构架示例,后期将按照该构架部署OpenStack。

OpenStack Networking (Neutron)基础构架图:

OpenStack构架示例
  • Controller节点安装服务:Identity、Image、Dashbord以及Compute和Networking的管理部分。该节点还包含相关的API服务、MySQL数据库和消息传递系统。
  • Network节点安装服务:Networking插件代理和3层代理。该节点给租户提供网络以及路由、NAT和DHCP服务,同时还为租户虚拟机提供外部连接(互联网)服务。
  • Compute节点安装服务:Compute的hypervisor部分。该节点运营租户的虚拟机,默认情况下使用KVM作为hypervisor。Compute节点还负责Networking插件代理部分,为租户提供网络并实现安全组。您可以运行多个Compute节点。

注:您还可以为该构架添加Block Storage或者Object Storage服务。

以上是对OpenStack Havana版本整体构架的简单介绍,如有不合理之处,欢迎纠正!


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/3817.html
分享到:
相关文章
条评论

登录后才可以评论

薄餜禹薏 发表于14-11-20
7