Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

附录 G. 绑定选项

Overcloud 通过 Open vSwitch(OVS)提供网络功能,对于绑定的接口,它提供了多个选项。在 第 6.2.2 节 “创建一个网络环境文件” 中,您可以在网络环境文件中使用以下选项配置一个绑定的接口:
  BondInterfaceOvsOptions:
    "bond_mode=balance-tcp"
以下表格提供了对这些选项的解释信息,以及根据您的具体硬件而提供的不同设置。

重要

不要在 LACP 中使用基于 OVS 的绑定,因为这个配置有问题,而且不被支持。可以使用 bond_mode=balance-slb 作为替代来实现相关的功能。另外,您仍然可以在网络接口模板中使用带有 Linux 绑定的 LACP:
      - type: linux_bond
        name: bond1
        members:
        - type: interface
          name: nic2
        - type: interface
          name: nic3
        bonding_options: "bond_mode=balance-tcp lacp=active other-config:lacp-fallback-ab=true"

表 G.1. 绑定选项

bond_mode=balance-tcp
这个模式会在执行负载均衡时考虑第 2 层到第 4 层的数据。例如,目的地的 MAC 地址、IP 地址和 TCP 端口。另外,balance-tcp 需要 LACP 在交换机上配置。这个模式和 Linux 绑定驱动所使用的 mode 4 绑定相似。因为 LACP 提供了最高级别的链接失败检测功能,并且会提供额外的关于绑定的诊断信息,所以在可能的情况下,推荐使用 balance-tcp
推荐的选项是为 LACP 配置 balance-tcp。这个设置会尝试配置 LACP,当 LACP 无法和物理交换机进行通讯时,会切换到 active-backup
bond_mode=balance-slb
负载平衡操作是基于源 MAC 地址和输出的 VLAN 进行的,并在网络数据特性出现变化时进行定期的再平衡。带有 balance-slb 的绑定允许在不需要远程交换机支持的情况下进行一定形式的负载平衡操作。SLB 会把每个源 MAC 和 VLAN 对分配到一个链接,并通过这个链接从 MAC 和 VLAN 发送所有数据包。这个模式使用一个简单的基于 MAC 地址和 VLAN 号的哈希算法,并在网络数据特性出现变化时进行定期的再平衡。它与 Linux 绑定驱动所使用的 mode 2 绑定类似。这个模式会在交换机配置了绑定,但却没有配置使用 LACP (静态绑定而不是动态绑定)的情况下使用。
bond_mode=active-backup
这个模式提供了一个 active/standby 方式的故障转移功能 - 当 active 连接出现问题时,standy NIC 会恢复网络操作。这只需要在物理交换机上存在一个 MAC 地址。这种模式不需要任何特殊的交换机支持或配置,当连接到不同交换机时同样可以正常工作。这个模式不支持负载平衡。
lacp=[active|passive|off]
控制 LACP(Link Aggregation Control Protocol)操作。只有特定交换机才支持 LACP。如果您的交换机不支持 LACP,请使用 bond_mode=balance-slbbond_mode=active-backup
不要在 LACP 中使用基于 OVS 的绑定,因为这个配置有问题,而且不被支持。可以使用 bond_mode=balance-slb 作为替代来实现相关的功能。另外,您仍然可以使用带有 Linux 绑定的 LACP:
other-config:lacp-fallback-ab=true
在交换机上把 LACP 设置为 bond_mode=active-backup 作为一个故障恢复。
other_config:lacp-time=[fast|slow]
把 LACP 的"心跳"设置设为 1 秒(fast)或 30 秒(slow)。默认值是 slow。
other_config:bond-detect-mode=[miimon|carrier]
把连接监测的间隔设置为 miimon heartbeat(miimon)或 monitor carrier(carrier)。默认值是 carrier。
other_config:bond-miimon-interval=100
如果使用 miimon,以毫秒为单位设置心跳间隔。
other_config:bond_updelay=1000
为了防止发生网络转移,一个连接必须处于活跃状态的时间(以毫秒为单位)
other_config:bond-rebalance-interval=10000
在绑定设备间再平衡网络数据的时间(以毫米为单位)。设为 0 禁用这个功能。

重要

如果在 Provider 网络中使用 Linux 绑定出现丢数据包问题,或出现性能问题,可以考虑在 standby 接口中禁用 LRO(Large Receive Offload)。
避免在 OVS 绑定中添加 Linux 绑定。这可能会导致出现端口故障或出现连接错误。