4.5. Ceph 노드에 여러 개의 본딩 인터페이스 구성
본딩된 인터페이스를 사용하여 여러 NIC를 결합하고 네트워크 연결에 중복을 추가합니다. Ceph 노드에 NIC가 충분한 경우 각 노드에 여러 개의 결합된 인터페이스를 생성하여 중복 기능을 확장할 수 있습니다.
그런 다음 노드에 필요한 각 네트워크 연결에 결합된 인터페이스를 사용할 수 있습니다. 이를 통해 각 네트워크에 대한 중복 및 전용 연결을 모두 제공합니다.
결합 인터페이스의 가장 간단한 구현에는 Ceph 노드에서 사용하는 각 스토리지 네트워크에 하나씩 두 개의 본딩을 사용하는 것이 포함됩니다. 이러한 네트워크는 다음과 같습니다.
- 프런트 엔드 스토리지 네트워크 (
StorageNet) - Ceph 클라이언트는 이 네트워크를 사용하여 해당 Ceph 클러스터와 상호 작용합니다.
- 백엔드 스토리지 네트워크(
StorageMgmtNet) - 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이라는 본딩 인터페이스 자체입니다. 이 행은 또한 OVS인bond1의 본딩유형을 정의합니다.- 3
- 기본 본딩의 이름은
bond1입니다. - 4
ovs_options항목은 director에 특정 본딩 모듈 지시문을 사용하도록 지시합니다. 이러한 지시문은BondInterfaceOvsOptions를 통해 전달됩니다. 이 지시문은 이 파일에서 구성할 수도 있습니다. 본딩 모듈 지시문 구성에 대한 자세한 내용은 4.5.1절. “본딩 모듈 지시문 구성” 을 참조하십시오.- 5
- 본딩의
members섹션에서는bond1에서 본딩하는 네트워크 인터페이스를 정의합니다. 이 예에서 본딩된 인터페이스는nic2(기본 인터페이스로 설정) 및nic3을 사용합니다. - 6
br-bond브리지에는 두 개의 다른 구성원, 즉 프런트 엔드(StorageNetwork) 및 백엔드(StorageMgmtNetwork) 스토리지 네트워크 모두의 VLAN이 있습니다.- 7
device매개 변수는 VLAN에서 사용해야 하는 장치를 정의합니다. 이 예에서 두 VLAN 모두 본딩된 인터페이스bond1을사용합니다.
NIC가 2개 이상 더 있으면 추가 브리지 및 본딩 인터페이스를 정의할 수 있습니다. 그런 다음 VLAN 중 하나를 새 본딩 인터페이스로 이동하여 두 스토리지 네트워크 연결의 처리량과 안정성을 높일 수 있습니다.
이러한 목적을 위해 /usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans/ceph-storage.yaml 파일을 사용자 지정하면 기본 OVS 대신 Linux 본딩(type: linux_bond )을 사용할 것을 권장합니다(유형: ovs_bond). 이 본딩 유형은 엔터프라이즈 프로덕션 배포에 더 적합합니다.
다음 편집된 코드 조각은 bond2라는 새 Linux 본딩이 포함된 추가 OVS 브리지(br-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를 사용하여 본딩 지시문을 설정합니다. 자세한 내용은 4.5.1절. “본딩 모듈 지시문 구성”의 내용을 참조하십시오._options 대신 bonding_options
이 사용자 지정 템플릿의 전체 내용은 부록 B. 샘플 사용자 정의 인터페이스 템플릿: 여러 개의 결합된 인터페이스 을 참조하십시오.
4.5.1. 본딩 모듈 지시문 구성 링크 복사링크가 클립보드에 복사되었습니다!
본딩된 인터페이스를 추가하고 구성한 후 BondInterfaceOvsOptions 매개변수를 사용하여 각 결합된 인터페이스를 사용할 지시문을 설정합니다. 이 정보는 /usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans/ceph-storage.yaml 파일의 parameters: 섹션에서 확인할 수 있습니다. 다음 코드 조각은 이 매개변수의 기본 정의를 보여줍니다(즉, 비어 있음).
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(모드 4) 및 LACP 속도 1(빠른)을 사용하려면 '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. 샘플 사용자 정의 인터페이스 템플릿: 여러 개의 결합된 인터페이스 을 참조하십시오.