6.4. OVS 하드웨어 오프로드 구성
OVS 하드웨어 오프로드 구성 절차는 SR-IOV 구성과 동일한 여러 단계를 공유합니다.
절차
컴퓨팅 역할을 기반으로 OVS 하드웨어 오프로드에 대한 오버클라우드 역할을 생성합니다.
openstack overcloud roles generate -o roles_data.yaml Controller Compute:ComputeOvsHwOffload
-
선택 사항:
ComputeOvsHwOffload역할에 대해HostnameFormatDefault: '%stackname%-compute-%index%'이름을 변경합니다. -
OvsHwOffload매개 변수를 역할별 매개 변수에서true로 추가합니다. -
iptables/hybrid 방화벽 드라이버 구현을 사용하도록 neutron을 구성하려면 다음 행을 포함합니다.
NeutronOVSFirewallDriver: iptables_hybrid.NeutronOVSFirewallDriver에 대한 자세한 내용은 Advanced Overcloud Customization Guide의 Open vSwitch Firewall 사용을 참조하십시오. 사용자 환경과 일치하도록
physical_network매개 변수를 구성합니다.-
VLAN의 경우 배포 후 neutron에서 생성한 네트워크 이름으로
physical_network매개 변수를 설정합니다. 이 값은NeutronBridgeMappings에도 있어야 합니다. VXLAN의 경우
physical_network매개 변수를null로 설정합니다.예제:
parameter_defaults: NeutronOVSFirewallDriver: iptables_hybrid ComputeSriovParameters: 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-
<vendor-id>를 물리적 NIC의 벤더 ID로 바꿉니다. -
<product-id>를 NIC VF의 제품 ID로 바꿉니다. <address>를 물리적 NIC의 주소로 바꿉니다.NovaPCIPassthrough 구성 방법에 대한 자세한 내용은
NovaPCIPassthrough구성을 위한 지침을 참조하십시오.
-
VLAN의 경우 배포 후 neutron에서 생성한 네트워크 이름으로
기본 필터 목록에
NUMATopologyFilter가 포함되어 있는지 확인합니다.NovaSchedulerDefaultFilters: [\'AvailabilityZoneFilter',\'ComputeFilter',\'ComputeCapabilitiesFilter',\'ImagePropertiesFilter',\'ServerGroupAntiAffinityFilter',\'ServerGroupAffinityFilter',\'PciPassthroughFilter',\'NUMATopologyFilter']
compute-sriov.yaml 구성 파일에서 하드웨어 오프로드를 위해 하나 이상의 네트워크 인터페이스를 구성합니다.- type: ovs_bridge name: br-tenant mtu: 9000 members: - type: sriov_pf name: p7p1 numvfs: 5 mtu: 9000 primary: true promisc: true use_dhcp: false link_mode: switchdev참고-
Open vSwitch 하드웨어 오프로드를 구성할 때
NeutronSriovNumVFs매개 변수를 사용하지 마십시오. 가상 함수의 수는o매개 변수를 사용하여 지정합니다. Red Hat은 업데이트 또는 재배포 중에s-net-config에서 사용하는 네트워크 구성 파일에서 numvfsnumvfs설정 수정을 지원하지 않습니다. -
드라이버 제한으로 인해 VXLAN과 같은 터널 엔드포인트가 트래픽을 전달하지 못하므로 Mellanox 네트워크 인터페이스를 nic
-config 인터페이스 유형 ovs-vlan으로 구성하지 마십시오.
-
Open vSwitch 하드웨어 오프로드를 구성할 때
오버클라우드 배포명령에ovs-hw-offload.yaml파일을 포함합니다.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/ovs-hw-offload.yaml \ -e ${CUSTOM_TEMPLATES}/network-environment.yaml \ -e ${CUSTOM_TEMPLATES}/neutron-ovs.yaml
6.4.1. OVS 하드웨어 오프로드 확인
PCI 장치가
switchdev모드에 있는지 확인합니다.# devlink dev eswitch show pci/0000:03:00.0 pci/0000:03:00.0: mode switchdev inline-mode none encap enable
OVS에서 오프로드가 활성화되었는지 확인합니다.
# ovs-vsctl get Open_vSwitch . other_config:hw-offload “true”