6.2. SR-IOV 구성


참고

다음 예제의 CPU 할당, 메모리 할당 및 NIC 구성은 토폴로지 및 사용 사례와 다를 수 있습니다.

  1. 기본 제공 ComputeSriov 를 생성하여 NeutronSriovAgent,NeutronSriovHostConfig 및 기본 컴퓨팅 서비스를 실행할 OpenStack 클러스터에서 노드를 정의합니다.

    # openstack overcloud roles generate \
    -o /home/stack/templates/roles_data.yaml \
    Controller ComputeSriov
  2. SR-IOV 컨테이너가 준비되도록 overcloud_images.yaml 을 생성할 때 neutron-sriov.yamlroles_data.yaml 파일을 포함합니다.

    SERVICES=\
    /usr/share/openstack-tripleo-heat-templates/environments/services
    
    openstack overcloud container image prepare \
    --namespace=registry.redhat.io/rhosp13 \
    --push-destination=192.168.24.1:8787 \
    --prefix=openstack- \
    --tag-from-label {version}-{release} \
    -e ${SERVICES}/neutron-sriov.yaml \
    --roles-file /home/stack/templates/roles_data.yaml \
    --output-env-file=/home/stack/templates/overcloud_images.yaml \
    --output-images-file=/home/stack/local_registry_images.yaml
    참고

    push-destination IP 주소는 이전에 undercloud.conf 구성 파일에서 local_ip 매개변수로 설정한 주소입니다.

    컨테이너 이미지 준비에 대한 자세한 내용은 Director Installation and Usage 를 참조하십시오.

  3. KernelAgsTunedProfile 매개변수를 적용하려면 /usr/share/openstack-tripleo-heat-templates/environmentshost-config-and-reboot.yaml 파일을 배포 스크립트에 포함합니다.

    openstack overcloud deploy --templates \
    … \
    -e /usr/share/openstack-tripleo-heat-templates/environments/host-config-and-reboot.yaml \
    ...
  4. 클러스터의 요구 사항 및 하드웨어 구성에 따라 parameter_defaults 아래에 SR-IOV 노드의 매개변수를 구성합니다. 이러한 설정은 일반적으로 network-environment.yaml 파일에 추가됩니다.

      NeutronNetworkType: 'vlan'
      NeutronNetworkVLANRanges:
        - tenant:22:22
        - tenant:25:25
      NeutronTunnelTypes: ''
  5. 동일한 파일에서 SR-IOV 컴퓨팅 노드에 대한 역할별 매개 변수를 구성합니다.

    참고

    NeutronSriovNumVFs 매개변수는 네트워크 구성 템플릿에서 numvfs 속성 대신 더 이상 사용되지 않습니다. Red Hat은 배포 후 NeutronSriovNumVFs 매개변수 또는 numvfs 매개변수 수정을 지원하지 않습니다. 실행 중인 환경에서 두 매개 변수를 변경할 경우 해당 PF에 SR-IOV 포트가 있는 모든 실행 중인 인스턴스에 대한 영구 중단이 발생하는 것으로 알려져 있습니다. 이러한 인스턴스를 하드 재부팅하지 않으면 SR-IOV PCI 장치가 인스턴스에 표시되지 않습니다.

      ComputeSriovParameters:
        IsolCpusList: "1-19,21-39"
        KernelArgs: "default_hugepagesz=1GB hugepagesz=1G hugepages=32 iommu=pt intel_iommu=on isolcpus=1-19,21-39"
        TunedProfileName: "cpu-partitioning"
        NeutronBridgeMappings:
          - tenant:br-link0
        NeutronPhysicalDevMappings:
          - tenant:p7p1
          - tenant:p7p2
        NeutronSriovNumVFs:
          - p7p1:5
          - p7p2:5
        NovaPCIPassthrough:
          - vendor_id: "8086"
            product_id: "1528"
            address: "0000:06:00.0"
            physical_network: "tenant"
          - vendor_id: "8086"
            product_id: "1528"
            address: "0000:06:00.1"
            physical_network: "tenant"
        NovaVcpuPinSet: '1-19,21-39'
        NovaReservedHostMemory: 4096
    참고

    NIC의 장치 이름이 변경될 수 있으므로 PCI 패스스루를 구성할 때 devname 매개변수를 사용하지 마십시오. 대신 vendor_idproduct_id 를 사용하는 것이 더 안정적이기 때문에 또는 NIC 주소를 사용합니다. NovaPCIPassthrough를 구성하는 방법에 대한 자세한 내용은 NovaPCIPassthrough 구성에 대한 지침을 참조하십시오.

  6. compute.yaml 네트워크 구성 템플릿에서 SR-IOV 지원 인터페이스를 구성합니다. SR-IOV 가상 기능(VF)을 생성하기 위해 인터페이스가 독립 실행형 NIC로 구성되었는지 확인합니다.

                 - type: interface
                    name: p7p3
                    mtu: 9000
                    use_dhcp: false
                    defroute: false
                    nm_controlled: true
                    hotplug: true
    
                  - type: interface
                    name: p7p4
                    mtu: 9000
                    use_dhcp: false
                    defroute: false
                    nm_controlled: true
                    hotplug: true
  7. 기본 필터 목록에 AggregateInstanceExtraSpecsFilter 값이 포함되어 있는지 확인합니다.

    NovaSchedulerDefaultFilters: ['AvailabilityZoneFilter','RamFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiAffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter','AggregateInstanceExtraSpecsFilter']
  8. 오버클라우드를 배포합니다.
TEMPLATES_HOME="/usr/share/openstack-tripleo-heat-templates"
CUSTOM_TEMPLATES="/home/stack/templates"

openstack overcloud deploy --templates \
  -r ${CUSTOM_TEMPLATES}/roles_data.yaml \
  -e ${TEMPLATES_HOME}/environments/host-config-and-reboot.yaml \
  -e ${TEMPLATES_HOME}/environments/services/neutron-sriov.yaml \
  -e ${CUSTOM_TEMPLATES}/network-environment.yaml
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동