4.2. 规划网络

规划环境中的网络拓扑结构和子网非常重要,您需要把角色和服务进行正确的映射,从而使它们可以进行正确的通讯。Red Hat Enterprise Linux OpenStack Platform 7 使用 Neutron 网络服务,这个服务会独立运行,并管理基于软件的网络、静态和浮动 IP 地址以及 DHCP。director 在 Overcloud 环境的每个节点上实施这个服务。
Red Hat Enterprise Linux OpenStack Platform 把不同的服务映射到分配给环境中的不同子网的独立网络流量类型中。这些网络类型包括:

表 4.2. 网络类型分配

网络类型
描述
用于
IPMI
节点电源管理的网络。这个网络在安装 Undercloud 前被预先定义。
所有节点
Provisioning
director 使用这个网络类型来通过 PXE 引导实施新的节点,并调配在 Overcloud 裸机服务器上进行的 OpenStack 安装。这个网络在安装 Undercloud 前被预先定义。
所有节点
Internal API
Internal API 网络被用来处理经过 API 、RPC 消息和数据库进行的 OpenStack 服务间的通讯。
Controller、Compute、Cinder Storage、Swift Storage
Tenant
Neutron 为每个租户提供自己的网络。这可以通过使用 VLAN 隔离(VLAN segregation,每个租户网络都是一个网络 VLAN)实现,也可以使用 VXLAN 或 GRE 通道(tunneling)实现。每个租户网络的网络数据会被相互隔离,并都有一个相关联的 IP 子网。多个租户子网可以使用相同的地址。
Controller、Compute
Storage
块存储、NFS、iSCSI 和其它存储。在理想情况下,因为性能的原因,这个网络应该位于一个完全独立的网络交换环境中。
所有节点
Storage Management
OpenStack Object Storage(swift)使用这个网络来在相关的副本节点中同步数据项。代理服务(proxy service)在用户请求和底层的存储层间起到一个主机接口的作用。这个代理会接收用户的请求,并找到所需的副本来获得所需的数据。使用 Ceph 作为后端的服务会通过 Storage Management 网络进行连接,因为它们不会和 Ceph 直接进行交流,而是使用前端的服务。请注意,RBD 驱动是个例外,它会直接连接到 Ceph。
Controller、Ceph Storage、Cinder Storage、Swift Storage
External
允许入站的网络流量到达相关实例,它使用 1 对 1 的 IP 地址映射把浮动 IP 地址和在租户网络中实际分配给实例的 IP 地址相关联。另外,还支持 OpenStack Dashboard(horizon)进行图形化的系统管理、OpenStack 服务的公共 API 以及对入站网络流量进行 SNAT 处理来把它们导向正确的目标。如果 external 网络使用私有 IP 地址(RFC-1918),还需要对来自于互联网的流量进行额外的 NAT 处理。
Controller
在一个典型的 Red Hat Enterprise Linux OpenStack Platform 安装中,网络类型的数量通常会超过物理网络连接的数量。为了可以把所有网络都连接到正确的主机,Overcloud 使用 VLAN 标签(VLAN tagging)来为每个接口提供多个网络。大多数的网络都是相互分离的子网,但以下网络需要一个第 3 层的网关来提供到互联网和其它网络的路由功能。
director 提供了一个为其中的 5 种网络流量类型映射到特定子网或 VLAN 的方法。这些流量类型包括:
  • Internal API
  • Storage
  • Storage Management
  • Tenant
  • External
所有没有被分配的网络都会被自动分配到和 Provisioning 网络相同的网络中。
下图显示了一个通过独立的 VLAN 进行分离的网络拓扑结构。每个 Overcloud 节点都使用两个接口(nic2nic3)的绑定来通过相关的 VLAN 提供网络功能。同时,所有 Overcloud 节点都使用 nic1 通过原生的 VLAN 来通过 Provisioning 网络和 Undercloud 进行通讯。
Example VLAN Topology using Bonded Interfaces

图 4.1. 使用绑定接口的 VLAN 拓扑结构示例

本指南提供了多个根据环境需求实现的使用情景。下表定义了每个使用情景的网络流量映射:

表 4.3. 网络映射

映射
接口总数
VLAN 总数
测试环境
网络 1 - Provisioning、Internal API、Storage、Storage Management、Tenant Networks、 External
1
1
基本环境
网络 1 - Provisioning、Internal API、Storage、Storage Management、Tenant Networks
网络 2 - External
2
2
带有 Ceph Storage 的高级环境
网络 1 - Provisioning
网络 2 - Internal API
网络 3 - Tenant Networks
网络 4 - Storage
网络 5 - Storage Management
网络 6 - External
3(包括 2 个绑定接口)
6