4.2. 网络接口配置选项
使用下表了解在 OpenShift (RHOSO)环境中为 Red Hat OpenStack Services 配置网络接口的可用选项。
RHOSO 不支持 Linux 网桥。反之,为 RHOSO 流量使用 Linux 绑定和专用 NIC 等方法。
4.2.1. interface 复制链接链接已复制到粘贴板!
定义一个网络接口。网络接口名称使用实际接口名称(eth0
、eth1、
enp0s25
)或一组编号的接口(nic1
、nic
2、nic3)。
当使用编号的接口(如
nic1
和 nic2),而不是命名的接口(如 eth0
和 eno
2)时,角色中的主机的网络接口不必完全相同。例如,一个主机可能具有接口
em1
和 em2
,而另一个主机具有 eno1
和 eno2
,但您可以将两个主机的 NIC 指代为 nic1
和 nic2
。
编号接口的顺序与指定网络接口类型的顺序对应:
ethX
接口,如eth0
、eth1
等等。当在
udev
中关闭一致的设备命名时,名称会出现在这个格式中。enoX
和emX
接口,如eno
0、eno1、
em0、em1
等等。这些通常是板载的接口。
enX
和任何其他接口,按字母顺序排序,如enp3s0
、enp3s1、
ens3
等等。这些通常是附加接口。
编号的 NIC 方案仅包含实时接口,例如当接口有电缆连接到交换机时。如果您有一些主机具有四个接口,且一些有六个接口,请使用 nic1
到 nic4
,并且每个主机上仅连接四个电缆。
选项 | 默认 | 描述 |
---|---|---|
|
接口的名称。网络接口名称使用实际接口名称( | |
| False | 使用 DHCP 获取 IP 地址。 |
| False | 使用 DHCP 获取 v6 IP 地址。 |
| 分配给接口的 IP 地址列表。 | |
| 分配给接口的路由列表。如需更多信息,请参阅 第 4.2.7 节 “Routes”。 | |
| 1500 | 连接的最大传输单元(MTU)。 |
| False |
将接口定义为主接口。仅在接口是绑定的成员时才需要。 |
| False | 编写设备别名配置而不是系统名称。 |
| None | 要传递给 DHCP 客户端的参数。 |
| None | 要用于接口的 DNS 服务器列表。 |
|
将这个选项设置为 |
Example
4.2.2. vlan 复制链接链接已复制到粘贴板!
定义 VLAN。使用从 parameters
部分中传递的 VLAN ID 和子网。
选项 | 默认 | 描述 |
---|---|---|
vlan_id | VLAN ID。 | |
device | 附加 VLAN 的父设备。当 VLAN 不是 OVS 网桥的成员时,请使用此参数。例如,使用此参数将 VLAN 附加到绑定接口设备。 | |
use_dhcp | False | 使用 DHCP 获取 IP 地址。 |
use_dhcpv6 | False | 使用 DHCP 获取 v6 IP 地址。 |
addresses | 分配给 VLAN 的 IP 地址列表。 | |
Routes | 分配给 VLAN 的路由列表。如需更多信息,请参阅 第 4.2.7 节 “Routes”。 | |
mtu | 1500 | 连接的最大传输单元(MTU)。 |
primary | False | 将 VLAN 定义为主接口。 |
persist_mapping | False | 编写设备别名配置而不是系统名称。 |
dhclient_args | 无 | 要传递给 DHCP 客户端的参数。 |
dns_servers | 无 | 要用于 VLAN 的 DNS 服务器列表。 |
Example
4.2.3. ovs_bridge 复制链接链接已复制到粘贴板!
在 Open vSwitch (OVS)中定义一个网桥,它将多个接口、ovs_bond
和 vlan
对象连接在一起。
网络接口类型 ovs_bridge
采用 参数名称
。
将控制组网络放置到 ovs_bridge
接口可能会导致停机。OVS 网桥连接到 Networking 服务(neutron)服务器,以获取配置数据。如果 OpenStack 控制流量(通常是 Control Plane 和内部 API 网络)位于 OVS 网桥上,那么每当您升级 OVS 时,任何时候都会丢失与 neutron 服务器的连接,或者由 admin 用户或进程重启 OVS 网桥。如果在这些情况下无法接受停机时间,您必须将 Control 组网络放在单独的接口或绑定中,而不是 OVS 网桥上:
- 当您将内部 API 网络放在置备接口上的 VLAN 上时,您可以在第二个接口上获取最小设置。
- 要实现绑定,至少需要两个绑定(我们的网络接口)。将控制组放在 Linux 绑定中。如果交换机不支持 LACP 回退到单一接口进行 PXE 引导,那么这个解决方案至少需要 5 个 NIC。
如果您有多个网桥,则必须使用不同于接受 bridge_name
的默认网桥名称。如果您没有使用不同名称,那么在聚合阶段,两个网络绑定将放在同一个网桥中。
选项 | 默认 | 描述 |
---|---|---|
name | 网桥的名称。 | |
use_dhcp | False | 使用 DHCP 获取 IP 地址。 |
use_dhcpv6 | False | 使用 DHCP 获取 v6 IP 地址。 |
addresses | 分配给网桥的 IP 地址列表。 | |
Routes | 分配给网桥的路由列表。如需更多信息,请参阅 第 4.2.7 节 “Routes”。 | |
mtu | 1500 | 连接的最大传输单元(MTU)。 |
成员 | 您要在桥接中使用的接口、VLAN 和绑定对象序列。 | |
ovs_options | 创建网桥时要传递给 OVS 的一组选项。 | |
ovs_extra | 将一组选项设置为网桥的网络配置文件中的 OVS_EXTRA 参数。 | |
defroute | True |
使用 DHCP 服务提供的默认路由。仅在启用 |
persist_mapping | False | 编写设备别名配置而不是系统名称。 |
dhclient_args | 无 | 要传递给 DHCP 客户端的参数。 |
dns_servers | 无 | 要用于网桥的 DNS 服务器列表。 |
Example
4.2.4. 网络接口绑定 复制链接链接已复制到粘贴板!
您可以将多个物理 NIC 捆绑在一起,形成一个名为绑定的单个逻辑通道。您可以配置绑定来为高可用性系统或增加吞吐量提供冗余。
Red Hat OpenStack Platform 支持 Open vSwitch (OVS)内核绑定、OVS-DPDK 绑定和 Linux 内核绑定。
绑定类型 | 类型值 | 允许网桥类型 | 允许的成员 |
---|---|---|---|
OVS 内核绑定 |
|
|
|
OVS-DPDK 绑定 |
|
|
|
Linux 内核绑定 |
|
|
|
不要在同一节点上组合 ovs_bridge
和 ovs_user_bridge
。
4.2.4.1. ovs_bond 复制链接链接已复制到粘贴板!
在 Open vSwitch (OVS)中定义一个绑定,将两个或多个 接口
连接在一起。这有助于冗余,并增加带宽。
选项 | 默认 | 描述 |
---|---|---|
name | 绑定的名称。 | |
use_dhcp | False | 使用 DHCP 获取 IP 地址。 |
use_dhcpv6 | False | 使用 DHCP 获取 v6 IP 地址。 |
addresses | 分配给绑定的 IP 地址列表。 | |
Routes | 分配给绑定的路由列表。如需更多信息,请参阅 第 4.2.7 节 “Routes”。 | |
mtu | 1500 | 连接的最大传输单元(MTU)。 |
primary | False | 将接口定义为主接口。 |
成员 | 要在绑定中使用的接口对象序列。 | |
ovs_options |
创建绑定时传递给 OVS 的一组选项。如需更多信息,请参阅 表 4.6 “OVS 绑定的 | |
ovs_extra | 在绑定的网络配置文件中设置为 OVS_EXTRA 参数的一组选项。 | |
defroute | True |
使用 DHCP 服务提供的默认路由。仅在启用 |
persist_mapping | False | 编写设备别名配置而不是系统名称。 |
dhclient_args | 无 | 要传递给 DHCP 客户端的参数。 |
dns_servers | 无 | 要用于绑定的 DNS 服务器列表。 |
ovs_option | 描述 |
---|---|
|
源负载均衡(slb)根据源 MAC 地址和输出 VLAN 平衡流,并在流量模式发生变化时定期重新平衡。当您使用 |
|
当您使用 |
|
控制链路聚合控制协议(LACP)行为。只有某些交换机支持 LACP。如果您的交换机不支持 LACP,请使用 |
| 如果 LACP 失败,则将 active-backup 设置为绑定模式。 |
| 将 LACP heartbeat 设置为 1 秒 (fast) 或 30 秒 (slow)。默认设置会较慢。 |
| 将链路检测设置为使用 miimon heartbeats (miimon)或监控载体(carrier)。默认值为载体。 |
| 如果使用 miimon,请设置心跳间隔(毫秒)。 |
| 设置链接必须激活的时间间隔(毫秒),以防止流量过长。 |
| 设置流在绑定成员间重新平衡的时间间隔(毫秒)。将此值设置为 0,以禁用绑定成员之间的流重新平衡。 |
示例 - OVS 绑定
示例 - OVS DPDK 绑定
在本例中,绑定是作为 OVS 用户空间网桥的一部分创建的:
4.2.5. 带有 OVS 绑定模式的 LACP 复制链接链接已复制到粘贴板!
您可以将 Open vSwitch (OVS)绑定与可选的链路聚合控制协议(LACP)一起使用。LACP 是一个协商协议,它为负载平衡和容错创建动态绑定。
使用下表了解 OVS 内核和 OVS-DPDK 绑定接口与 LACP 选项的兼容性。
通过使用带有 VLAN 和 LACP 的 Linux 绑定来避免 control plane 中断。如果您使用 OVS 绑定,并重启 OVS 或 neutron 代理进行更新、热修复和其他事件,则 control plane 会受到影响。
目标 | OVS 绑定模式 | 兼容 LACP 选项 | 备注 |
高可用性(主动-被动) |
|
| |
增加了吞吐量(主动-主动) |
|
|
|
|
|
|
4.2.6. linux_bond 复制链接链接已复制到粘贴板!
定义将两个或多个 接口
接合在一起的 Linux 绑定。这有助于冗余,并增加带宽。确保在 bonding_options
参数中包含基于内核的绑定选项。
选项 | 默认 | 描述 |
---|---|---|
name | 绑定的名称。 | |
use_dhcp | False | 使用 DHCP 获取 IP 地址。 |
use_dhcpv6 | False | 使用 DHCP 获取 v6 IP 地址。 |
addresses | 分配给绑定的 IP 地址列表。 | |
Routes | 分配给绑定的路由列表。请参阅 第 4.2.7 节 “Routes”。 | |
mtu | 1500 | 连接的最大传输单元(MTU)。 |
成员 | 要在绑定中使用的接口对象序列。 | |
bonding_options |
创建绑定时的一组选项。请参阅 Linux bonds 的 | |
defroute | True |
使用 DHCP 服务提供的默认路由。仅在启用 |
persist_mapping | False | 编写设备别名配置而不是系统名称。 |
dhclient_args | 无 | 要传递给 DHCP 客户端的参数。 |
dns_servers | 无 | 要用于绑定的 DNS 服务器列表。 |
Linux bonds 的 bonding_options
参数
bonding_options
参数为 Linux 绑定设置特定的绑定选项。请参阅以下表的 Linux 绑定示例:
bonding_options | 描述 |
---|---|
|
设置绑定模式,在示例中为 |
| 定义 LACP 数据包是每 1 秒发送一次,或每 30 秒发送一次。 |
| 定义接口在用于流量前必须处于活跃状态的最短时间。这个最小配置有助于缓解端口中断。 |
| 使用驱动程序的 MIIMON 功能监控端口状态的时间间隔(毫秒)。 |
示例 - Linux 绑定
示例 - Linux bond:绑定两个接口
示例 - Linux 绑定设置为带有一个 VLAN 的 active-backup
模式
示例 - OVS 网桥上的 Linux 绑定
在本例中,绑定被设置为带有 LACP 模式的 802.3ad
,以及一个 VLAN:
4.2.7. Routes 复制链接链接已复制到粘贴板!
定义要应用到网络接口、VLAN、网桥或绑定的路由列表。
选项 | 默认 | 描述 |
---|---|---|
ip_netmask | 无 | 目标网络的 IP 和子网掩码。 |
default | False |
将此路由设置为默认路由。等同于设置 |
next_hop | 无 | 用于访问目标网络的路由器的 IP 地址。 |
示例 - routes