第 13 章 网络接口绑定
本章定义了在自定义网络配置中使用的一些绑定选项。
13.1. 网络接口绑定和链路聚合控制协议(LACP)
您可以将多个物理 NIC 捆绑到一起组成一个逻辑频道,称为绑定。您可以配置绑定来为高可用性系统或增加吞吐量提供冗余。
不支持在绑定接口中使用单根 I/O 虚拟化(SR-IOV)。
Red Hat OpenStack Platform 支持 Linux 绑定、Open vSwitch (OVS)内核绑定和 OVS-DPDK 绑定。
绑定可与可选链路聚合控制协议(LACP)一起使用。LACP 是一个协商协议,可为负载平衡和容错创建动态绑定。
红帽建议使用 Linux 内核绑定(bond type: linux_bond) over OvS 内核绑定(bond type: ovs_bond)。用户模式绑定(bond type:ovs_dpdk_bond)必须与用户模式桥接(type: ovs_user_bridge)一同使用,而不是内核模式网桥(type: ovs_bridge)。但是,不要在同一节点上组合 ovs_bridge 和 ovs_user_bridge。
在控制和存储网络上,红帽建议使用带有 VLAN 和 LACP 的 Linux 绑定,因为 OVS 绑定增加了在 OVS 或 neutron 代理重启时出现 control plane 中断的可能性。Linux 绑定/LACP/VLAN 配置在不出现 OVS 中断的情况下提供 NIC 管理。
以下是一个使用 VLAN 的 Linux 绑定配置示例。
params: $network_config: network_config: - type: linux_bond name: bond_api bonding_options: "mode=active-backup" use_dhcp: false dns_servers: get_param: DnsServers members: - type: interface name: nic3 primary: true - type: interface name: nic4 - type: vlan vlan_id: get_param: InternalApiNetworkVlanID device: bond_api addresses: - ip_netmask: get_param: InternalApiIpSubnet
以下示例显示了将 Linux 绑定插入到 OVS 网桥中
params: $network_config: network_config: - type: ovs_bridge name: br-tenant use_dhcp: false mtu: 9000 members: - type: linux_bond name: bond_tenant bonding_options: "mode=802.3ad updelay=1000 miimon=100" use_dhcp: false dns_servers: get_param: DnsServers members: - type: interface name: p1p1 primary: true - type: interface name: p1p2 - type: vlan device: bond_tenant vlan_id: {get_param: TenantNetworkVlanID} addresses: - ip_netmask: {get_param: TenantIpSubnet}
以下示例显示了 OVS 用户空间网桥:
params: $network_config: network_config: - type: ovs_user_bridge name: br-ex use_dhcp: false members: - type: ovs_dpdk_bond name: dpdkbond0 mtu: 2140 ovs_options: {get_param: BondInterfaceOvsOptions} #ovs_extra: #- set interface dpdk0 mtu_request=$MTU #- set interface dpdk1 mtu_request=$MTU rx_queue: get_param: NumDpdkInterfaceRxQueues members: - type: ovs_dpdk_port name: dpdk0 mtu: 2140 members: - type: interface name: p1p1 - type: ovs_dpdk_port name: dpdk1 mtu: 2140 members: - type: interface name: p1p2