OpenStack入门篇(二)之OpenStack架构

1.OpenStack 架构

中间菱形是虚拟机,围绕 VM 的那些长方形表明 OpenStack 不一样的模块(OpenStack 叫服务,后面都用服务这个术语),下面来分别介绍。数据库

Nova:管理 VM 的生命周期,是 OpenStack 中最核心的服务。网络

Neutron:为 OpenStack 提供网络链接服务,负责建立和管理L二、L3 网络,为 VM 提供虚拟网络和物理网络链接。架构

Glance:管理 VM 的启动镜像,Nova 建立 VM 时将使用 Glance 提供的镜像。分布式

Cinder:为 VM 提供块存储服务。Cinder 提供的每个 Volume 在 VM 看来就是一块虚拟硬盘,通常用做数据盘。ide

Swift:提供对象存储服务。VM 能够经过 RESTful API 存放对象数据。做为可选的方案,Glance 能够将镜像存放在 Swift 中;Cinder 也能够将 Volume 备份到 Swift 中。对象

Keystone:为 OpenStack 的各类服务提供认证和权限管理服务。简单的说,OpenStack 上的每个操做都必须经过 Keystone 的审核。blog

Ceilometer:提供 OpenStac k监控和计量服务,为报警、统计或计费提供数据。生命周期

Horizon:为 OpenStack 用户提供一个 Web 的自服务 Portal。队列

2.OpenStack的核心服务

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

在 Logical Architecture 中,能够看到每一个服务又由若干组件组成。 
以 Neutron 为例,包含

Neutron Server、Neutron plugins 和 Neutron agents
Network provider
消息队列 Queue
数据库 Neutron Database

上面是 Logical Architecture,描述的是 Neutron 服务各个组成部分以及各组件之间的逻辑关系。 
而在实际的部署方案上,各个组件能够部署到不一样的物理节点上。

OpenStack 自己是一个分布式系统,不但各个服务能够分布部署,服务中的组件也能够分布部署。 这种分布式特性让 OpenStack 具有极大的灵活性、伸缩性和高可用性。