第二篇 Openstack核心
作为IaaS层的云操作系统,OpenStack为虚拟机提供并管理三大类资源:计算 网络和存储
这三个
架构让我们站在高处就看清楚事物的整体结构,避免过早地进入细节而迷失方向。
3.1 Conceptual Architecture
下图是opensatck的概念架构
中间菱形是虚拟机 (VM) VM周围的长方形代表OpenStack不同的模块(OpenStack 叫服务,后面都用服务这个术语)下面分别介绍
Nova:管理VM的生命周期,是OpenStack中最核心的服务。
Neutron:为OpenStack提供网络连接服务,负责创建和管理L2,L3网络,为VM提供虚拟网络和物理网络。
Glance:管理VM的启动镜像,Nova创建VM时将使用Glance提供的镜像。
Cinder:为VM提供存储服务。Cinder提供的每一个Volume在VM看来就是一块虚拟硬盘,一般用作数据盘。
Swift:提供对象存储服务.VM可以通过RESTful API存放对象数据。作为可选的方案,Glance可以将镜像放在Swift中:Cinder也可以将Volume备份到Swift中。
Keystone:为OpenStack的各种服务提供认证和权限管理服务。简单地说,OpenStack上的每一个操作都必须通过Keyston的审核。
Ceilometer:提供OpenStack监控和计量服务,为报警,统计或计费提供数据
Horizon:为OpenStack用户提供一个Web的自服务Portal
在上面的这些服务Openstack的核心服务有(核心服务指的是没有他opensatck就跑不起来)
显然:
- Nova管理计算,是核心服务
- Neutron管理网络资源,是核心服务
- Glance为VM提供OS镜像,属于存储范畴,是核心服务
- Cinder提供块存储,VM怎么也需要数据盘,是核心服务
- Swift提供对象存储,不是必须的,是可选服务
- Keyston认证服务,没它OpenStack转不起来,是核心服务
- Ceilometer监控服务,不是必须的,是可选服务
- Horizon,大家都需要一个操作界面
3.2 Logic Architecture
在Logic Architecture中,可以看到每个服务又由若干组件组成。
以Neutron为例。、
- Neutron Server, Neutron plugins 和 Neutron agents
- Network provider
- 消息队列 Queue
- 数据库 Neutron Database
注意:
上面的Logical Architect描述的是Neutron服务各个组成部分以及各组件之间的逻辑关系。
而在实际部署方案上,各个组件可以部署到不同的物理节点上。
OpenStack本身是一个分布式系统,不但各个服务可以分布部署,服务中的组件也可以分布部署。
这种分布式特性让OpenStack具备极大的灵活性,伸缩性和高可用性。