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 //
name: br-bond
members:
-
type: ovs_bond //
name: bond1 //
ovs_options: {get_param: BondInterfaceOvsOptions}
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: 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} //
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. 샘플 사용자 정의 인터페이스 템플릿: 여러 결합된 인터페이스 을 참조하십시오.