10.2. OVS-DPDK 매개변수 구성
OVS-DPDK에 대해 OpenStack 네트워크를 최적화하려면 network-environment.yaml 파일에 설정한 OVS- DPDK 매개변수에 가장 적합한 값을 결정해야 합니다. 자세한 내용은 워크플로우를 사용하여 DPDK 매개변수 정의를 참조하십시오.
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.yamlparameter_defaults에서 터널 유형을vxlan으로 설정하고 네트워크 유형을vxlan,vlan으로 설정합니다.NeutronTunnelTypes: 'vxlan' NeutronNetworkType: 'vxlan,vlan'
parameters_defaults에서 브리지 매핑을 설정합니다.# The OVS logical->physical bridge mappings to use. NeutronBridgeMappings: - dpdk-mgmt:br-link0
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를 배포해야 합니다.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"