7.6. NIC 파티셔닝 구성
RHOSP(Red Hat OpenStack Platform) 관리 네트워크 및 공급자 네트워크에 대해 SR-IOV(Single Root I/O Virtualization) 가상 기능(VF)을 구성하여 각 호스트에 필요한 NIC 수를 줄일 수 있습니다. 단일 고속 NIC를 여러 VF로 분할하면 컨트롤 및 데이터 플레인 트래픽에 NIC를 사용할 수 있습니다. 이 기능은 Intel Fortville NIC 및 Mellanox CX-5 NIC에서 검증되었습니다.
사전 요구 사항
-
언더클라우드 호스트 및
stack
사용자의 인증 정보에 액세스합니다. NIC, 애플리케이션, VF 게스트 및 OVS가 동일한 NUMA 컴퓨팅 노드에 있는지 확인합니다.
이렇게 하면 NUMA 간 작업에서 성능이 저하되는 것을 방지할 수 있습니다.
NIC 펌웨어를 계속 업데이트해야 합니다.
yum
또는dnf
업데이트는 펌웨어 업데이트를 완료하지 못할 수 있습니다. 자세한 내용은 공급 업체 설명서를 참조하십시오.
절차
-
stack
사용자로 언더클라우드에 로그인합니다. stackrc
파일을 소싱합니다.$ source ~/stackrc
이전에 7.5절. “SR-IOV용 NIC 구성 템플릿 생성” 에서 생성한 NIC 구성 템플릿(예:
single_nic_vlans.j2
)을 엽니다.작은 정보이 섹션의 단계를 완료하면 7.7절. “NIC 파티션 구성 예” 를 참조하십시오.
인터페이스 유형
sriov_pf
에 대한 항목을 추가하여 호스트에서 사용할 수 있는 물리적 기능을 구성합니다.- type: sriov_pf name: <interface_name> use_dhcp: false numvfs: <number_of_vfs> promisc: <true/false>
-
&
lt;interface_name
>을 인터페이스 이름으로 바꿉니다. -
&
lt;number_of_vfs&
gt;를 VF 수로 바꿉니다. -
선택 사항: 불규칙 모드를 설정하려면 <
true
/falsefalse
를 사용하여 무차별 모드를 비활성화합니다. 기본값은true
입니다.
참고numvfs
매개변수는 네트워크 구성 템플릿의NeutronSriovNumVFs
매개변수를 대체합니다. Red Hat은 배포 후NeutronSriovNumVFs
매개변수 또는numvfs
매개변수를 수정할 수 없습니다. 배포 후 두 매개변수를 수정하면 해당 물리적 기능(PF)에 SR-IOV 포트가 있는 실행 중인 인스턴스가 중단될 수 있습니다. 이 경우 SR-IOV PCI 장치를 다시 사용할 수 있도록 이러한 인스턴스를 재부팅해야 합니다.-
&
인터페이스 유형
sriov_vf
항목을 추가하여 호스트에서 사용할 수 있는 가상 기능을 구성합니다.- type: <bond_type> name: internal_bond bonding_options: mode=<bonding_option> use_dhcp: false members: - type: sriov_vf device: <pf_device_name> vfid: <vf_id> - type: sriov_vf device: <pf_device_name> vfid: <vf_id> - type: vlan vlan_id: get_param: InternalApiNetworkVlanID spoofcheck: false device: internal_bond addresses: - ip_netmask: get_param: InternalApiIpSubnet routes: list_concat_unique: - get_param: InternalApiInterfaceRoutes
-
<
;bond_type
>을 필수 본딩 유형(예:linux_bond
)으로 바꿉니다.ovs_bond
와 같은 다른 본딩의 경우 본딩에 VLAN 태그를 적용할 수 있습니다. &
lt;bonding_option&
gt;을 다음과 같은 본딩 모드 중 하나로 바꿉니다.-
active-backup
balance-slb
참고LACP 본딩은 지원되지 않습니다.
-
members
섹션에서sriov_vf
를 본딩할 인터페이스 유형으로 지정합니다.참고OVS 브릿지를 인터페이스 유형으로 사용하는 경우
sriov_pf
장치의sriov_vf
에서 하나의 OVS 브리지만 구성할 수 있습니다. 단일sriov_pf
장치의 OVS 브리지가 두 개 이상 있으면 VF 간에 패킷 중복이 발생하고 성능이 저하될 수 있습니다.-
&
lt;pf_device_name&
gt;을 PF 장치의 이름으로 바꿉니다. -
linux_bond
를 사용하는 경우 VLAN 태그를 할당해야 합니다. VLAN 태그를 설정하는 경우 단일sriov_pf
장치와 연결된 각 VF에 대해 고유한 태그를 설정해야 합니다. 동일한 VLAN에 동일한 PF의 두 개의 VF가 있을 수 없습니다. -
&
lt;vf_id&
gt;를 VF ID로 바꿉니다. 해당 VF ID 범위는 0에서 시작하여 최대 VF 수에서 1을 뺀 값으로 끝납니다. - 스푸핑 검사를 비활성화합니다.
-
VF를 통해
linux_bond
의sriov_vf
에 VLAN 태그를 적용합니다.
-
<
인스턴스의 VF를 예약하려면 환경 파일에
NovaPCIPassthrough
매개변수를 포함합니다.예제
NovaPCIPassthrough: - address: "0000:19:0e.3" trusted: "true" physical_network: "sriov1" - address: "0000:19:0e.0" trusted: "true" physical_network: "sriov2"
RHOSP director는 호스트 VF를 식별하고 인스턴스에서 사용할 수 있는 VF의 PCI 주소를 파생합니다.
NIC 파티셔닝이 필요한 모든 노드에서
IOMMU
를 활성화합니다.예제
예를 들어 컴퓨팅 노드에 NIC 파티셔닝을 사용하려면 해당 역할에
KernelArgs
매개변수를 사용하여 IOMMU를 활성화합니다.parameter_defaults: ComputeParameters: KernelArgs: "intel_iommu=on iommu=pt"
참고먼저
KernelArgs
매개변수를 역할 구성에 추가하면 오버클라우드 노드가 자동으로 재부팅됩니다. 필요한 경우 노드의 자동 재부팅을 비활성화하고 대신 오버클라우드 배포 후 노드를 수동으로 재부팅할 수 있습니다.-
이 NIC 구성 템플릿(예:
single_nic_vlans.j2
)을 7.4절. “SR-IOV에 대한 베어 메탈 노드 정의 파일 생성” 에서 생성한 베어 메탈 노드 정의 파일에 추가해야 합니다.
다음 단계
- director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리에서 오버클라우드 네트워크 정의 구성 및 프로비저닝
- director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리에서 오버클라우드용 네트워크 VIP 구성 및 프로비저닝
- director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리에서 오버클라우드용 베어 메탈 노드 프로비저닝
- 7.8절. “SR-IOV 오버클라우드 배포”
추가 리소스