13장. 네트워크 인터페이스 연결
이 장에서는 사용자 지정 네트워크 구성에 사용할 수 있는 몇 가지 본딩 옵션을 정의합니다.
13.1. LACP(Network Interface Bonding and Link Aggregation Control Protocol)
여러 물리적 NIC를 함께 번들하여 본딩이라는 단일 논리 채널을 구성할 수 있습니다. 고가용성 시스템의 중복성 또는 처리량이 증가하도록 본딩을 구성할 수 있습니다.
결합된 인터페이스에서 SR-IOV(단일 루트 I/O 가상화) 사용은 지원되지 않습니다.
Red Hat OpenStack Platform은 Linux 본딩, OVS(Open vSwitch) 커널 본딩 및 OVS-DPDK 본딩을 지원합니다.
본딩은 선택적 LACP(링크 집계 제어 프로토콜)와 함께 사용할 수 있습니다. LACP는 부하 분산 및 내결함성을 위한 동적 본딩을 생성하는 협상 프로토콜입니다.
Red Hat은 OvS 커널 본딩(bond type: ovs_bond)을 OvS 커널 본딩에 사용하는 것이 좋습니다. 사용자 모드 본딩(결합 유형: ovs_dpdk_bond)은 커널 모드 브리지(type: ovs_user_bridge)와 달리 사용자 모드 브리지(type: ovs_user_bridge)와 함께 사용해야 합니다. 그러나 동일한 노드에서 ovs_bridge 및 ovs_user_bridge를 결합하지 마십시오.
제어 및 스토리지 네트워크에서는 OVS 또는 neutron 에이전트가 업데이트, 핫픽스 및 기타 이벤트를 위해 OVS 또는 neutron 에이전트를 다시 시작할 때 발생할 수 있는 컨트롤 플레인 중단 가능성이 있으므로 Red Hat은 VLAN 및 LACP와 Linux 본딩을 사용할 것을 권장합니다. 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
다음 예는 OVS 브리지에 연결된 Linux 본딩을 보여줍니다.
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