8장. OVS-DPDK 배포 구성


이 섹션에서는 Red Hat OpenStack Platform 환경 내에서 OVS-DPDK(Open vSwitch)를 사용하여 DPDK를 배포합니다. 오버클라우드는 일반적으로 컨트롤러 노드, 컴퓨팅 노드 및 다른 스토리지 노드 유형과 같은 사전 정의된 역할의 노드로 구성됩니다. 이러한 각 기본 역할에는 director 노드의 코어 Heat 템플릿에 정의된 일련의 서비스가 포함되어 있습니다.

오버클라우드를 배포하려면 먼저 언더클라우드를 설치하고 구성해야 합니다. 자세한 내용은 Director 설치 및 사용 가이드 를 참조하십시오.

중요

OVS-DPDK에 대해 OpenStack 네트워크를 최적화하려면 network-environment.yaml 파일에 설정한 OVS-DPDK 매개변수의 최적 값을 결정해야 합니다.

참고

이 director heat 템플릿에서 수정하는 etc/tuned/cpu-partitioning- variables.conf의 isolated_cores 또는 기타 값을 편집하거나 변경하지 마십시오.

8.1. 워크플로우를 사용하여 DPDK 매개변수 파생

중요

이 기능은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.

DPDK의 Mistral 워크플로우 개요는 7.2절. “워크플로우 및 파생 매개변수 개요” 를 참조하십시오.

사전 요구 사항

이 워크플로에서 검색한 데이터를 제공하려면 하드웨어 검사 추가(inspection_extras)를 포함하여 Bare Metal 인트로스펙션이 활성화되어 있어야 합니다. 하드웨어 검사 추가는 기본적으로 활성화되어 있습니다. 노드 하드웨어 검사를 참조하십시오.

DPDK에 대한 워크플로우 및 입력 매개 변수 정의

다음은 OVS-DPDK 워크플로우에 제공할 수 있는 입력 매개 변수입니다.

num_phy_cores_per_numa_node_for_pmd
이 input 매개변수는 DPDK NIC와 연결된 NUMA 노드에 필요한 최소 코어 수를 지정합니다. DPDK NIC와 연결되지 않은 다른 NUMA 노드에 대해 하나의 물리적 코어가 할당됩니다. 이 매개 변수는 1로 설정해야 합니다.
huge_page_allocation_percentage
이 input 매개변수는 대규모 페이지로 구성할 수 있는 총 메모리( NovaReservedHostMemory제외)의 필요한 백분율을 지정합니다. KernelArgs 매개변수는 지정된 huge_page_allocation_percentage 를 기반으로 계산된 대규모 페이지를 사용하여 파생됩니다. 이 매개 변수는 50으로 설정해야 합니다.

워크플로우는 베어 메탈 인트로스펙션 세부 정보와 함께 이러한 입력 매개변수를 사용하여 적절한 DPDK 매개변수 값을 계산합니다.

DPDK에 대한 워크플로우 및 입력 매개변수를 정의하려면 다음을 수행합니다.

  1. /usr/share/openstack-tripleo-heat-templates/plan-environment-derived-params.yaml 파일을 로컬 디렉터리에 복사하고 사용자 환경에 맞게 입력 매개변수를 설정합니다.

      workflow_parameters:
        tripleo.derive_params.v1.derive_parameters:
          # DPDK Parameters #
          # Specifices the minimum number of CPU physical cores to be allocated for DPDK
          # PMD threads. The actual allocation will be based on network config, if
          # the a DPDK port is associated with a numa node, then this configuration
          # will be used, else 1.
          num_phy_cores_per_numa_node_for_pmd: 1
          # Amount of memory to be configured as huge pages in percentage. Ouf the
          # total available memory (excluding the NovaReservedHostMemory), the
          # specified percentage of the remaining is configured as huge pages.
          huge_page_allocation_percentage: 50
    Copy to Clipboard Toggle word wrap
  2. openstack overcloud deploy 명령을 실행하고 다음을 포함합니다.

    • update-plan-only 옵션
    • 역할 파일 및 해당 환경과 관련된 모든 환경 파일
    • --plan-environment-file 선택적 인수가 있는 plan-environment-derived-parms.yaml 파일

      $ openstack overcloud deploy --templates --update-plan-only \
      -r /home/stack/roles_data.yaml \
      -e /home/stack/<environment-file> \
      ... #repeat as necessary ...
      -p /home/stack/plan-environment-derived-params.yaml
      Copy to Clipboard Toggle word wrap

이 명령의 출력에는 plan-environment.yaml 파일에도 병합된 파생 결과가 표시됩니다.

Started Mistral Workflow tripleo.validations.v1.check_pre_deployment_validations. Execution ID: 55ba73f2-2ef4-4da1-94e9-eae2fdc35535
Waiting for messages on queue 472a4180-e91b-4f9e-bd4c-1fbdfbcf414f with no timeout.
Removing the current plan files
Uploading new plan files
Started Mistral Workflow tripleo.plan_management.v1.update_deployment_plan. Execution ID: 7fa995f3-7e0f-4c9e-9234-dd5292e8c722
Plan updated.
Processing templates in the directory /tmp/tripleoclient-SY6RcY/tripleo-heat-templates
Invoking workflow (tripleo.derive_params.v1.derive_parameters) specified in plan-environment file
Started Mistral Workflow tripleo.derive_params.v1.derive_parameters. Execution ID: 2d4572bf-4c5b-41f8-8981-c84a363dd95b
Workflow execution is completed. result:
ComputeOvsDpdkParameters:
 IsolCpusList: 1-7,17-23,9-15,25-31
 KernelArgs: default_hugepagesz=1GB hugepagesz=1G hugepages=32 iommu=pt intel_iommu=on isolcpus=1-7,17-23,9-15,25-31
 NovaReservedHostMemory: 4096
 NovaVcpuPinSet: 2-7,18-23,10-15,26-31
 OvsDpdkCoreList: 0,16,8,24
 OvsDpdkMemoryChannels: 4
 OvsDpdkSocketMemory: 1024,1024
 OvsPmdCoreList: 1,17,9,25
Copy to Clipboard Toggle word wrap
참고

OvsDpdkMemoryChannels 매개변수는 인트로스펙션 세부 정보에서 파생될 수 없습니다. 대부분의 경우 이 값은 4여야 합니다.

Derived Parameters를 사용하여 오버클라우드 배포

이러한 파생 매개변수를 사용하여 오버클라우드를 배포하려면 다음을 수행합니다.

  1. plan-environment.yaml 에서 network-environment.yaml 파일에 파생된 매개변수를 복사합니다.

      # DPDK compute node.
      ComputeOvsDpdkParameters:
        KernelArgs: default_hugepagesz=1GB hugepagesz=1G hugepages=32 iommu=pt intel_iommu=on isolcpus=1-7,17-23,9-15,25-31
        TunedProfileName: "cpu-partitioning"
        IsolCpusList: "1-7,17-23,9-15,25-31"
        NovaVcpuPinSet: ['2-7,18-23,10-15,26-31']
        NovaReservedHostMemory: 4096
        OvsDpdkSocketMemory: "1024,1024"
        OvsDpdkMemoryChannels: "4"
        OvsDpdkCoreList: "0,16,8,24"
        OvsPmdCoreList: "1,17,9,25"
    Copy to Clipboard Toggle word wrap
    참고

    이러한 매개변수는 ComputeOvsDpdk 역할에만 적용되며 동일한 클러스터에 존재할 수 있는 Compute 또는 ComputeSriov 를 비롯한 다른 역할에는 적용되지 않습니다. 이러한 매개변수를 전역적으로 적용할 수 있지만 전역 매개변수는 역할별 매개변수를 통해 덮어씁니다.

  2. 역할 파일 및 해당 환경과 관련된 모든 환경 파일을 사용하여 오버클라우드를 배포합니다. 자세한 내용은 Overcloud 배포를 참조하십시오.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat