4.5. Ceph 노드당 여러 본딩 인터페이스 구성
결합된 인터페이스 를 사용하여 여러 NIC를 결합하여 네트워크 연결에 중복성을 추가할 수 있습니다. Ceph 노드에 NIC가 충분한 경우 노드당 결합된 인터페이스를 여러 개 생성하여 이 단계를 추가로 수행할 수 있습니다.
이를 통해 노드에 필요한 각 네트워크 연결에 본딩된 인터페이스를 사용할 수 있습니다. 중복과 각 네트워크에 대한 전용 연결을 제공합니다.
가장 간단한 구현에는 두 개의 본딩을 사용해야 합니다. 하나는 Ceph 노드에서 사용하는 스토리지 네트워크 각각에 하나씩 사용됩니다. 이러한 네트워크는 다음과 같습니다.
- 프론트 엔드 스토리지 네트워크(
StorageNet
) - Ceph 클라이언트는 이 네트워크를 사용하여 Ceph 클러스터와 상호 작용합니다.
- 백엔드 스토리지 네트워크(스토리지
MgmtNet
) - Ceph 클러스터는 이 네트워크를 사용하여 클러스터의 배치 그룹 정책에 따라 데이터의 균형을 조정합니다. 자세한 내용은 Red Hat Ceph 아키텍처 가이드의 PG(배치 그룹) 를 참조하십시오.
이를 구성하려면 director에서 여러 결합된 NIC를 배포하는 샘플 템플릿을 제공하지 않으므로 네트워크 인터페이스 템플릿을 사용자 지정해야 합니다. 그러나 director는 단일 본딩 인터페이스를 배포하는 템플릿을 제공합니다. /usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans/ceph-storage.yaml
. 추가 NIC에 대한 결합된 인터페이스를 여기에 정의하여 추가할 수 있습니다.
사용자 지정 인터페이스 템플릿 생성에 대한 자세한 내용은 Advanced Overcloud Customization 가이드에서 사용자 지정 인터페이스 템플릿 생성
다음 스니펫에는 /usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans/ceph-storage.yaml
에서 정의한 단일 본딩 인터페이스에 대한 기본 정의가 포함되어 있습니다.
type: ovs_bridge // 1 name: br-bond members: - type: ovs_bond // 2 name: bond1 // 3 ovs_options: {get_param: BondInterfaceOvsOptions} 4 members: // 5 - type: interface name: nic2 primary: true - type: interface name: nic3 - type: vlan // 6 device: bond1 // 7 vlan_id: {get_param: StorageNetworkVlanID} addresses: - ip_netmask: {get_param: StorageIpSubnet} - type: vlan device: bond1 vlan_id: {get_param: StorageMgmtNetworkVlanID} addresses: - ip_netmask: {get_param: StorageMgmtIpSubnet}
- 1
br-bond
라는 단일 브릿지에는 이 템플릿에서 정의한 본딩이 있습니다. 이 행은 브리지 유형을 정의합니다(예: OVS).- 2
br-bond
브리지의 첫 번째 멤버는bond1
이라는 본딩 인터페이스 자체입니다. 이 행은bond1
의 본딩 유형을 정의합니다. 이는 OVS이기도 합니다.- 3
- 기본 본딩의 이름은 이 행에 정의된
bond1
입니다. - 4
ovs_options
항목은 director에 특정 본딩 모듈 지시문 세트를 사용하도록 지시합니다. 이러한 지시문은BondInterfaceOvsOptions
를 통해 전달되며 동일한 파일에서도 구성할 수 있습니다. 이를 구성하는 방법에 대한 자세한 내용은 4.5.1절. “bonding 모듈 지시문 구성” 을 참조하십시오.- 5
- bond의
members
섹션에서는bond1
에 의해 결합된 네트워크 인터페이스를 정의합니다. 이 경우 본딩된 인터페이스는nic2(
기본 인터페이스로 설정) 및nic3
를 사용합니다. - 6
br-bond
브릿지에는 두 개의 다른 멤버가 있습니다. 즉, 프런트 엔드(StorageNetwork
) 및 백엔드(StorageMgmtNetwork
) 스토리지 네트워크의 VLAN입니다.- 7
device
매개 변수는 VLAN에서 사용해야 하는 장치를 정의합니다. 이 경우 두 VLAN 모두 결합된 인터페이스bond1
을 사용합니다.
NIC를 두 개 이상 사용하면 추가 브리지 및 본딩 인터페이스를 정의할 수 있습니다. 그런 다음 VLAN 중 하나를 새 본딩 인터페이스로 이동할 수 있습니다. 따라서 두 스토리지 네트워크 연결에 모두 처리량과 안정성이 향상됩니다.
이러한 목적으로 /usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans/ceph-storage.yaml
을 사용자 정의할 때 기본 OVS 대신 Linux 본딩(type: linux_bond
)을 사용하는 것이 좋습니다. 이 본딩 유형은 엔터프라이즈 프로덕션 배포에 더 적합합니다.
다음 편집된 스니펫에서는 추가 OVS 브리지(br-
)를 정의합니다. 이 브릿지에는 bond2라는 새 Linux 본딩이 있습니다. bond2
bond2
인터페이스는 두 개의 추가 NIC(즉, nic4
및 nic5
)를 사용하며 백엔드 스토리지 네트워크 트래픽에만 사용됩니다.
type: ovs_bridge
name: br-bond
members:
-
type: linux_bond
name: bond1
**bonding_options**: {get_param: BondInterfaceOvsOptions} // 1
members:
-
type: interface
name: nic2
primary: true
-
type: interface
name: nic3
-
type: vlan
device: bond1
vlan_id: {get_param: StorageNetworkVlanID}
addresses:
-
ip_netmask: {get_param: StorageIpSubnet}
-
type: ovs_bridge
name: br-bond2
members:
-
type: linux_bond
name: bond2
**bonding_options**: {get_param: BondInterfaceOvsOptions}
members:
-
type: interface
name: nic4
primary: true
-
type: interface
name: nic5
-
type: vlan
device: bond1
vlan_id: {get_param: StorageMgmtNetworkVlanID}
addresses:
-
ip_netmask: {get_param: StorageMgmtIpSubnet}
- 1
bond1
및bond2
는 OVS 대신 Linux 본딩( OVS 대신)이며,ovs_options
대신bonding_options
를 사용하여 본딩 지시문을 설정합니다. 관련 정보는 4.5.1절. “bonding 모듈 지시문 구성” 에서 참조하십시오.
이 사용자 지정 템플릿의 전체 내용은 부록 B. 샘플 사용자 정의 인터페이스 템플릿: 여러 결합된 인터페이스 을 참조하십시오.
4.5.1. bonding 모듈 지시문 구성
결합된 인터페이스를 추가하고 구성한 후 BondInterfaceOvsOptions
매개변수를 사용하여 각각 사용하는 지시문을 설정합니다. /usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans/ceph-storage.yaml
매개변수
섹션에서 확인할 수 있습니다. 다음 스니펫에서는 이 매개변수의 기본 정의(예: 빈)를 보여줍니다.
BondInterfaceOvsOptions: default: '' description: The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option. type: string
default:
행에 필요한 옵션을 정의합니다. 예를 들어 802.3ad(mode 4)와 LACP 속도 1(fast)을 사용하려면 다음과 같이 'mode=4 lacp_rate=1'
을 사용합니다.
BondInterfaceOvsOptions: default: 'mode=4 lacp_rate=1' description: The bonding_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option. type: string
기타 지원되는 본딩 옵션에 대한 자세한 내용은 Advanced Overcloud Optimization 가이드의 Open vSwitch Bonding Options 을 참조하십시오. 사용자 지정된 /usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans/ceph-storage.yaml
템플릿의 전체 내용은 부록 B. 샘플 사용자 정의 인터페이스 템플릿: 여러 결합된 인터페이스 을 참조하십시오.