10.2. OVS-DPDK 매개변수 구성

중요

OVS-DPDK에 대해 OpenStack 네트워크를 최적화하려면 network-environment.yaml 파일에 설정한 OVS- DPDK 매개변수에 가장 적합한 값을 결정해야 합니다. 자세한 내용은 워크플로우를 사용하여 DPDK 매개변수 정의를 참조하십시오.

  1. resource _registry 아래에 OVS-DPDK의 사용자 정의 리소스를 추가합니다.

      resource_registry:
        # Specify the relative/absolute path to the config files you want to use for override the default.
        OS::TripleO::ComputeOvsDpdkSriov::Net::SoftwareConfig: nic-configs/computeovsdpdksriov.yaml
        OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yaml
  2. parameter_defaults 에서 터널 유형을 vxlan 으로 설정하고 네트워크 유형을 vxlan,vlan 으로 설정합니다.

    NeutronTunnelTypes: 'vxlan'
    NeutronNetworkType: 'vxlan,vlan'
  3. parameters_defaults 에서 브리지 매핑을 설정합니다.

    # The OVS logical->physical bridge mappings to use.
    NeutronBridgeMappings:
      - dpdk-mgmt:br-link0
  4. parameter_defaults 에서 ComputeOvsDpdkSriov 역할에 대한 역할별 매개변수를 설정합니다.

      ##########################
      # OVS DPDK configuration #
      ##########################
      ComputeOvsDpdkSriovParameters:
        KernelArgs: "default_hugepagesz=1GB hugepagesz=1G hugepages=32 iommu=pt intel_iommu=on isolcpus=2-19,22-39"
        TunedProfileName: "cpu-partitioning"
        IsolCpusList: "2-19,22-39"
        NovaComputeCpuDedicatedSet: ['4-19,24-39']
        NovaReservedHostMemory: 4096
        OvsDpdkSocketMemory: "3072,1024"
        OvsDpdkMemoryChannels: "4"
        OvsPmdCoreList: "2,22,3,23"
        NovaComputeCpuSharedSet: [0,20,1,21]
        NovaLibvirtRxQueueSize: 1024
        NovaLibvirtTxQueueSize: 1024
    참고

    게스트 생성 중에 오류가 발생하지 않도록 하려면 각 NUMA 노드에서 sibling 스레드를 사용하여 하나 이상의 CPU를 할당합니다. 이 예제에서 OvsPmdCoreList 매개변수의 값은 NUMA 0의 코어 2 및 22를 나타내고, NUMA 1의 코어 3과 23을 나타냅니다.

    참고

    이러한 대규모 페이지는 가상 시스템에서 사용되며 이 절차에 표시된 대로 OvsDpdkSocketMemory 매개 변수를 사용하는 OVS-DPDK에서도 사용됩니다. 가상 머신에 사용할 수 있는 대규모 페이지 수는 boot 매개 변수에서 OvsDpdkSocketMemory 를 뺀 값입니다.

    또한 DPDK 인스턴스와 연결된 플레이버에 hw:mem_page_size=1GB 를 추가해야 합니다.

    참고

    OvsDpdkMemoryChannels 는 이 프로세스에 필요한 설정입니다. 최적의 작업을 위해 적절한 매개변수와 값을 사용하여 DPDK를 배포해야 합니다.

  5. SR-IOV에 대한 역할별 매개변수를 구성합니다.

      NovaPCIPassthrough:
        - vendor_id: "8086"
          product_id: "1528"
          address: "0000:06:00.0"
          trusted: "true"
          physical_network: "sriov-1"
        - vendor_id: "8086"
          product_id: "1528"
          address: "0000:06:00.1"
          trusted: "true"
          physical_network: "sriov-2"