검색

8.2. OVS TC-flower 하드웨어 오프로드를 위한 PCI 패스스루 장치 구성

download PDF

OVS TC-flower 하드웨어 오프로드 환경을 위한 Red Hat OpenStack Platform을 배포할 때 사용자 지정 환경 파일에서 컴퓨팅 노드에 대해 PCI 패스스루 장치를 구성해야 합니다.

사전 요구 사항

  • PCI 카드가 포함된 하나 이상의 물리적 서버에 액세스합니다.
  • 언더클라우드 호스트 및 stack 사용자의 인증 정보에 액세스합니다.

절차

  1. PCI 카드가 포함된 물리적 서버에서 다음 명령 중 하나를 사용합니다.

    • 오버클라우드가 배포된 경우:

      $ lspci -nn -s  <pci_device_address>

      샘플 출력

      3b:00.0 Ethernet controller [0200]: Intel Corporation Ethernet
      Controller X710 for 10GbE SFP+ [<vendor_id>: <product_id>] (rev 02)

    • 오버클라우드가 배포되지 않은 경우:

      $ openstack baremetal introspection data save <baremetal_node_name> | jq '.inventory.interfaces[] | .name, .vendor, .product'
  2. ComputeOvsHwOffload 노드에서 PCI 패스스루 장치의 벤더 및 제품 ID를 확인합니다. 이후 단계에서 이러한 ID가 필요합니다.
  3. stack 사용자로 언더클라우드에 로그인합니다.
  4. stackrc 파일을 소싱합니다.

    $ source ~/stackrc
  5. 사용자 지정 환경 YAML 파일(예: ovshwol-overrides.yaml )을 만듭니다. 파일에 다음 콘텐츠를 추가하여 컴퓨팅 노드의 PCI 패스스루 장치를 구성합니다.

    parameter_defaults:
      NeutronOVSFirewallDriver: iptables_hybrid
      ComputeOvsHwOffloadParameters:
        IsolCpusList: 2-9,21-29,11-19,31-39
        KernelArgs: "default_hugepagesz=1GB hugepagesz=1G hugepages=128 intel_iommu=on iommu=pt"
        OvsHwOffload: true
        TunedProfileName: "cpu-partitioning"
        NeutronBridgeMappings:
          - tenant:br-tenant
        NovaPCIPassthrough:
          - vendor_id: <vendor-id>
            product_id: <product-id>
            address: <address>
            physical_network: "tenant"
          - vendor_id: <vendor-id>
            product_id: <product-id>
            address: <address>
            physical_network: "null"
        NovaReservedHostMemory: 4096
        NovaComputeCpuDedicatedSet: 1-9,21-29,11-19,31-39
        ...
    참고

    Mellanox 스마트 NIC를 사용하는 경우 ComputeOvsHwOffloadloadParameters 매개변수 아래에 DerivePciWhitelistEnabled: true 를 추가합니다. OVS 하드웨어 오프로드를 사용하는 경우 Compute 서비스(nova) 스케줄러는 인스턴스 생성을 위해 SR-IOV 패스와 유사하게 작동합니다.

    • &lt ;vendor_id&gt;를 PCI 장치의 공급 업체 ID로 바꿉니다.
    • & lt;product_id& gt;를 PCI 장치의 제품 ID로 바꿉니다.
    • & lt;NIC_address& gt;를 PCI 장치의 주소로 바꿉니다.
    • <physical_network> 를 PCI 장치가 있는 물리적 네트워크의 이름으로 교체합니다.
    • VLAN의 경우 배포 후 physical_network 매개변수를 neutron에서 생성한 네트워크의 이름으로 설정합니다. 이 값은 NeutronBridgeMappings 에도 있어야 합니다.
    • VXLAN의 경우 physical_network 매개 변수를 null 로 설정합니다.

      참고

      NIC의 장치 이름이 변경될 수 있으므로 PCI 패스스루를 구성할 때 devname 매개변수를 사용하지 마십시오. PF에서 Networking 서비스(neutron) 포트를 생성하려면 vendor_id, product_id 및 PCI 장치 주소를 NovaPCIPassthrough 에서 지정하고 --vnic-type direct-physical 옵션을 사용하여 포트를 만듭니다. 가상 기능(VF)에 네트워킹 서비스 포트를 생성하려면 NovaPCIPassthrough 에서 vendor_idproduct_id 를 지정하고 --vnic-type direct 옵션을 사용하여 포트를 생성합니다. vendor_idproduct_id 매개변수의 값은 물리적 기능(PF)과 VF 컨텍스트마다 다를 수 있습니다.

  6. 사용자 지정 환경 파일에서 PciPassthroughFilterNUMATopologyFilterNovaSchedulerEnabledFilters 매개변수의 필터 목록에 있는지 확인합니다. Compute 서비스(nova)는 이 매개변수를 사용하여 노드를 필터링합니다.

    parameter_defaults:
      ...
      NovaSchedulerEnabledFilters:
        - AvailabilityZoneFilter
        - ComputeFilter
        - ComputeCapabilitiesFilter
        - ImagePropertiesFilter
        - ServerGroupAntiAffinityFilter
        - ServerGroupAffinityFilter
        - PciPassthroughFilter
        - NUMATopologyFilter
        - AggregateInstanceExtraSpecsFilter
    참고

    선택 사항: Mellanox ConnectX5 NIC를 사용하여 RHOSP 17.1에서 OVS 하드웨어 오프로드 문제를 해결하고 구성하는 방법에 대한 자세한 내용은 Hardware Offload 문제 해결을 참조하십시오.

  7. 생성한 사용자 지정 환경 파일의 경로와 파일 이름을 기록해 둡니다. 오버클라우드를 배포할 때 나중에 이 파일을 사용합니다.

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.