第 1 章 简介

Red Hat OpenStack Platform director 是一个安装和管理完整的 OpenStack 环境的工具组,它主要基于 OpenStack 项目 - TripleO("OpenStack-On-OpenStack" 的缩写)。这个项目利用 OpenStack 组件来安装一个可以完全工作的 OpenStack 环境。它包括了新的 OpenStack 组件来部署并控制裸机系统作为 OpenStack 的节点,这为安装一个完整、稳定、高效的 Red Hat OpenStack Platform 环境提供了一个简洁的方法。

Red Hat OpenStack Platform director 使用两个主要概念:Undercloud 和 Overcloud。Undercloud 可以安装并配置 Overcloud。在以下的几个小节中会对这两个概念进行介绍。

Undercloud 和 Overcloud 的基本结构

1.1. Undercloud

Undercloud 是主要的 director 节点,它是由单一系统组成的一个 OpenStack 安装,并包括了部署和管理 OpenStack 环境(Overcloud)所需的组件。Undercloud 的组件具有以下功能:

  • 环境规划 - Undercloud 提供了为用户分配 Red Hat OpenStack Platform 角色(Compute、Controller 和不同的存储节点)的功能。
  • 逻辑系统控制 - Undercloud 使用每个节点的智能平台管理界面(Platform Management Interface,简称 IPMI)来进行电源管理控制,并使用一个基于 PXE 的服务来发现硬件的属性来在每个节点上安装 OpenStack。通过这个功能,可以把裸机系统部署为 OpenStack 节点。
  • 编配(Orchestration) - Undercloud 提供了一组 YAML 模板来创建一个 OpenStack 环境。

Red Hat OpenStack Platform director 通过基于终端命令行的接口来使用这些 Undercloud 的功能。

Undercloud 包括以下组件:

  • OpenStack Bare Metal(ironic)和 OpenStack Compute(nova) - 管理裸机节点。
  • OpenStack Networking(neutron)和 Open vSwitch - 控制裸机节点的网络。
  • OpenStack Image Server(glance) - 存储写到裸机上的镜像。
  • OpenStack Orchestration(heat)和 Puppet - 提供对节点的编配功能,并在 director 把 Overcloud 镜像写入到磁盘后配置节点。
  • OpenStack Telemetry(ceilometer) - 监控并采集数据。这还包括:

    • OpenStack Telemetry Metrics(gnocchi) - 为 metrics 提供一个时间序列数据库。
    • OpenStack Telemetry Alarming(aodh) - 为监控提供一个警告组件。
  • OpenStack Identity(keystone) - 提供 director 组件的验证和授权功能。
  • MariaDB - director 的后台数据库。
  • RabbitMQ - director 组件的消息队列。

1.2. Overcloud

Overcloud 是一个通过 Undercloud 创建的 Red Hat OpenStack Platform 环境,它包括一个或多个以下类型的节点:

Controller

为 OpenStack 环境提供管理、网络和高可用性服务的节点。在一个理想的 OpenStack 环境中,推荐在一个高可用性集群中使用 3 个 Controller 节点。

一个默认 Controller(控制器)节点包括以下组件:

  • OpenStack Dashboard (horizon)
  • OpenStack Identity (keystone)
  • OpenStack Compute (nova) API
  • OpenStack Networking (neutron)
  • OpenStack Image Service (glance)
  • OpenStack Block Storage (cinder)
  • OpenStack Object Storage (swift)
  • OpenStack Orchestration (heat)
  • OpenStack Telemetry (ceilometer)
  • OpenStack Telemetry Metrics (gnocchi)
  • OpenStack Telemetry Alarming (aodh)
  • OpenStack Clustering (sahara)
  • MariaDB
  • Open vSwitch
  • 高可用性服务的 Pacemaker 和 Galera。
Compute

为 OpenStack 环境提供计算资源的节点。随着时间的推移,可以通过添加更多节点来扩展您的环境。一个默认 Compute (计算)节点包括以下组件:

  • OpenStack Compute (nova)
  • KVM
  • OpenStack Telemetry (ceilometer) 代理
  • Open vSwitch
Storage

为 OpenStack 环境提供存储的节点。这包括:

  • Ceph Storage 节点 - 用来组成存储集群,每个节点包括一个 Ceph Object Storage Daemon(OSD)。另外,director 会在实施 Ceph Storage 节点的 Controller 节点上安装 Ceph Monitor。
  • Block storage(cinder)- 作为 HA Controller 节点的外部块存储。这类节点包括以下组件:

    • OpenStack Block Storage (cinder) 卷
    • OpenStack Telemetry (ceilometer) 代理
    • Open vSwitch.
  • Object storage (swift) - 这些节点为 Openstack Swift 提供了一个外部的存储层。Controller 节点通过 Swift 代理访问这些节点。这个节点包括以下组件:

    • OpenStack Object Storage (swift) 存储
    • OpenStack Telemetry (ceilometer) 代理
    • Open vSwitch.

1.3. 高可用性

Red Hat OpenStack Platform director 使用一个 Controller 节点集群来为 OpenStack Platform 环境提供高可用性功能。director 在每个 Controller 节点上安装一组重复的组件,这种集群配置在单一 Controller 节点出现问题时,提供了一个故障转移的功能,从而在一定程度上为 OpenStack 用户提供了不间断的服务。

OpenStack Platform director 使用以下软件来管理 Controller 节点上的组件:

  • Pacemaker - Pacemaker 是集群资源的管理者,它会管理并监控一个集群中所有节点上的 OpenStack 组件的可用性。
  • HA Proxy(HA 代理) - 为集群提供负载平衡和代理服务。
  • Galera - 提供在集群中复制 OpenStack Platform 数据库的服务。
  • Memcached - 提供数据库缓存服务。
注意

Red Hat OpenStack Platform director 会在 Controller 节点上自动配置大多数的高可用性设置。但是,仍然需要手工配置节点来启用隔离(fencing)和电源管理功能。这个指南中包括了相关的内容。

1.4. Ceph 存储

大型的机构通常需要使用 OpenStack 来为成千上万的客户端系统提供服务,而每个 OpenStack 客户端系统都会有自己对块存储资源的要求。在一个单一的节点上安装 glance (images)、cinder (volumes) 和/或 nova (compute) 来管理一个大型系统中的成千上万的客户系统将变得非常不现实。这个问题可以通过外部扩展 OpenStack 加以解决。

但是,在实际的环境中,仍然需要一个存储层的虚拟化解决方案来扩展 Red Hat OpenStack Platform 的存储层,使它可以支持 terabyte、petabyte 甚至 exabyte 数量级的存储要求。Red Hat Ceph Storage 提供了这样一个存储虚拟化层,它具有高可用性和高效性。虽然虚拟化可能会在牺牲系统性能的情况下实现,但是 Ceph 会把集群中的块设备镜像作为对象来处理,这意味着大型的 Ceph Block 设备镜像有比独立磁盘更好的性能。另外,Cept Block 设备还支持缓存、copy-on-write cloning 和 copy-on-read cloning 功能来提高性能。

如需了解更多与 Red Hat Ceph Storage 相关的信息,请参阅 Red Hat Ceph Storage