複数の物理 NIC をバンドルして、単一の論理チャネルを形成することができます。この設定はボンディングとも呼ばれます。ボンディングを設定して、高可用性システム用の冗長性またはスループットの向上を実現することができます。
Red Hat OpenStack Platform では、Linux ボンディング、Open vSwitch (OVS) カーネルボンディング、および OVS-DPDK ボンディングがサポートされます。
ボンディングは、オプションの Link Aggregation Control Protocol (LACP) と共に使用することができます。LACP は動的ボンディングを作成するネゴシエーションプロトコルで、これにより負荷分散機能および耐障害性を持たせることができます。
Red Hat では、OvS カーネルボンディング (ボンディング種別: ovs_bond) ではなく Linux カーネルボンディング (ボンディング種別: linux_bond) の使用を推奨します。ユーザーモードボンディング (ボンディング種別: ovs_dpdk_bond) は、カーネルモードブリッジ (種別: ovs_bridge) ではなくユーザーモードブリッジ (種別: ovs_user_bridge) と共に使用する必要があります。ただし、ovs_bridge と ovs_user_bridge を同じノード上で組み合わせないでください。
コントロールネットワークおよびストレージネットワークの場合は、Red Hat では VLAN を使用する Linux ボンディングと LACP の組み合わせを推奨します。OVS ボンディングを使用すると、更新、ホットフィックス等の理由により OVS または neutron エージェントが再起動すると、コントロールプレーンの中断が生じる可能性があるためです。Linux ボンディング/LACP/VLAN の設定であれば、OVS の中断を懸念することなく NIC を管理できます。
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
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
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
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}
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}
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
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
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
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow