OpenStack架构

  1. 概念架构
  2. 逻辑架构

架构能帮助我们站在高处看清楚事物的整体结构,避免过早地进入细节而迷失方向。

概念架构

如上为OpenStack概念架构图,中间菱形是虚拟机,围绕VM的那些长方形代表OpenStack不同的模块(在OpenStack中叫服务)。

  • Nova:管理VM的生命周期,是OpenStack中最核心的服务。
  • Neutron:为OpenStack提供网络连接服务,负责创建和管理L2、L3网络,为VM提供虚拟网络和物理网络连接。
  • Glance:管理VM的启动镜像,Nova创建VM时将使用Glance提供的镜像。
  • Cinder:为VM提供块存储服务,Cinder提供的每一个Volume在VM看来就是一块虚拟硬盘,一般用作数据盘。
  • Keystone:为OpenStack的各种服务提供认证和权限管理服务,简单地说,OpenStack上的每一个操作都必须通过Keystone的审核。
  • Swift:提供对象存储服务,VM可以通过RESTful API存放对象数据,作为可选的方案,Glance可以将镜像存放在Swift中,Cinder也可以将Volume备份到Swift中。
  • Ceilometer:提供OpenStack监控和计量服务,为报警、统计或计费提供数据。
  • Horizon:为OpenStack用户提供一个Web的自服务Portal。

在上面的这些服务中,哪些是OpenStack的核心服务呢?核心服务就是如果没有它,OpenStack就跑不起来。
很显然:

  • Nova管理计算资源,是核心服务。
  • Neutron管理网络资源,是核心服务。
  • Glance为VM提供OS镜像,属于存储范畴,是核心服务。
  • Cinder提供块存储,VM怎么也得需要数据盘吧,是核心服务。
  • Keystone认证服务,没它OpenStack转不起来,是核心服务。
  • Swift提供对象象储,不是必需的,是可选服务。
  • Ceilometer监控服务,不是必需的,是可选服务。
  • Horizon提供一个基于Web的操作界面,便于用户使用OpenStack,但也不是必须的,是可选服务。

逻辑架构

在OpenStack逻辑架构图中,可以看到每个服务又由若干组件组成。
以Neutron为例,其逻辑架构图如下:

这里想要强调一点:如上逻辑架构图描述的是Neutron服务各个组成部分以及各组件之间的逻辑关系。
而在实际的部署方案上,各个组件可以部署到不同的物理节点上。
OpenStack本身是一个分布式系统,不但各个服务可以分布部署,服务中的组件也可以分布部署。
这种分布式特性让Openstack具备极大的灵活性、伸缩性和高可用性。当然从另一个角度讲,这也使得Openstack比一般系统复杂。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达,在下面评论区告诉我^_^^_^