8.6. OVS TC-flower 하드웨어 오프로드 오버클라우드 배포
OVS TC-flower 하드웨어 오프로드 환경에서 RHOSP(Red Hat OpenStack Platform) 오버클라우드를 배포하는 마지막 단계는 openstack overcloud deploy
명령을 실행하는 것입니다. 명령에 대한 입력에는 사용자가 구성한 모든 다양한 오버클라우드 템플릿 및 환경 파일이 포함됩니다.
사전 요구 사항
-
언더클라우드 호스트 및
stack
사용자의 인증 정보에 액세스합니다. - NIC가 포함된 호스트에서 sudo에 액세스합니다.
-
이 섹션의 이전 절차에 나열된 모든 단계를 수행하고
overcloud deploy
명령에 입력으로 사용할 다양한 heat 템플릿 및 환경 파일을 모두 어셈블했습니다.
절차
-
언더클라우드 호스트에
stack
사용자로 로그인합니다. stackrc
언더클라우드 인증 정보 파일을 소싱합니다.$ source ~/stackrc
openstack overcloud deploy
명령을 입력합니다.openstack overcloud deploy
명령에 대한 입력을 특정 순서로 나열하는 것이 중요합니다. 일반 규칙은 먼저 기본 heat 템플릿 파일 뒤에 사용자 지정 환경 파일 및 사용자 지정 구성이 포함된 사용자 지정 템플릿을 지정합니다(예: 기본 속성 재정의).다음 순서로
openstack overcloud deploy
명령에 입력을 추가합니다.오버클라우드의 SR-IOV 네트워크의 사양이 포함된 사용자 지정 네트워크 정의 파일(예:
network-data.yaml
)자세한 내용은 director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리의 네트워크 정의 파일 구성 옵션을 참조하십시오.
RHOSP director에서 OVS 하드웨어 오프로드 환경을 배포하는 데 사용하는
Controller
및ComputeOvsHwOffload
역할이 포함된 역할 파일입니다.예:
roles_data_compute_ovshwol.yaml
자세한 내용은 8.1절. “OVS TC-flower 하드웨어 오프로드의 역할 및 이미지 파일 생성”의 내용을 참조하십시오.
오버클라우드 네트워크를 프로비저닝한 출력 파일입니다.
예:
overcloud-networks-deployed.yaml
자세한 내용은 director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리에서 오버클라우드 네트워크 정의 구성 및 프로비저닝 을 참조하십시오.
오버클라우드 VIP 프로비저닝의 출력 파일입니다.
예:
overcloud-vip-deployed.yaml
자세한 내용은 director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리에서 오버클라우드의 네트워크 VIP 구성 및 프로비저닝 을 참조하십시오.
베어 메탈 노드 프로비저닝의 출력 파일입니다.
예:
overcloud-baremetal-deployed.yaml
자세한 내용은 director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리에서 오버클라우드의 베어 메탈 노드 프로비저닝 을 참조하십시오.
director에서 컨테이너 이미지를 가져올 위치와 저장 방법을 결정하는 데 사용하는 이미지 파일입니다.
예:
overcloud_images.yaml
자세한 내용은 8.1절. “OVS TC-flower 하드웨어 오프로드의 역할 및 이미지 파일 생성”의 내용을 참조하십시오.
환경에서 사용하는 Networking 서비스(neutron) 메커니즘 드라이버 및 라우터 체계용 환경 파일입니다.
ML2/OVN
-
DCVR(Distributed virtual routing):
neutron-ovn-dvr-ha.yaml
-
중앙 집중식 가상 라우팅:
neutron-ovn-ha.yaml
-
DCVR(Distributed virtual routing):
ML2/OVS
-
DCVR(Distributed virtual routing):
neutron-ovs-dvr.yaml
-
중앙 집중식 가상 라우팅:
neutron-ovs.yaml
-
DCVR(Distributed virtual routing):
메커니즘 드라이버에 따라 SR-IOV의 환경 파일입니다.
ML2/OVN
-
neutron-ovn-sriov.yaml
-
ML2/OVS
neutron-sriov.yaml
참고OVS-DPDK 환경도 있고 동일한 노드에서 OVS-DPDK 및 SR-IOV 인스턴스를 찾으려면 배포 스크립트에 다음 환경 파일을 포함합니다.
ML2/OVN
neutron-ovn-dpdk.yaml
ML2/OVS
neutron-ovs-dpdk.yaml
다음과 같은 구성이 포함된 하나 이상의 사용자 지정 환경 파일입니다.
- ComputeOvsHwOffload 노드의 PCI 패스스루 장치입니다.
- ComputeOvsHwOffload 노드의 역할별 매개변수
OVS 하드웨어 오프로드 환경의 기본 구성 값을 덮어씁니다.
예:
ovshwol-overrides.yaml
자세한 내용은 다음을 참조하십시오.
- 8.2절. “OVS TC-flower 하드웨어 오프로드를 위한 PCI 패스스루 장치 구성”.
8.3절. “OVS TC-flower 하드웨어 오프로드에 대한 역할별 매개변수 및 구성 덮어쓰기 추가”.
예제
샘플
openstack overcloud deploy
명령에서 발췌한 내용은 DVR을 사용하는 SR-IOV, ML2/OVN 환경에 대한 명령 입력 순서를 올바르게 정렬하는 방법을 보여줍니다.$ openstack overcloud deploy \ --log-file overcloud_deployment.log \ --templates /usr/share/openstack-tripleo-heat-templates/ \ --stack overcloud \ -n /home/stack/templates/network_data.yaml \ -r /home/stack/templates/roles_data_compute_ovshwol.yaml \ -e /home/stack/templates/overcloud-networks-deployed.yaml \ -e /home/stack/templates/overcloud-vip-deployed.yaml \ -e /home/stack/templates/overcloud-baremetal-deployed.yaml \ -e /home/stack/templates/overcloud-images.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/\ neutron-ovn-dvr-ha.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/services/\ neutron-ovn-sriov.yaml \ -e /home/stack/templates/ovshwol-overrides.yaml
openstack overcloud deploy
명령을 실행합니다.오버클라우드 생성이 완료되면 RHOSP director에서 오버클라우드 액세스에 도움이 되는 세부 정보를 제공합니다.
검증
- director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리에서 오버클라우드 배포 검증 단계를 수행합니다.
다음 단계
NIC의 e-switch 모드가
switchdev
로 설정되어 있는지 확인합니다.switchdev
모드는 VF에 매핑되는 NIC에 대표 포트를 설정합니다.중요OpenFlow 흐름을 하드웨어로 오프로드하려면 연결 추적(conntrack) 모듈에 대해
switchdev
포트에서 보안 그룹 및 포트 보안을 활성화해야 합니다.다음 명령을 실행하여 NIC를 확인합니다.
예제
이 예에서는 NIC
pci/0000:03:00.0
을 쿼리합니다.$ sudo devlink dev eswitch show pci/0000:03:00.0
샘플 출력
출력은 다음과 유사합니다.
pci/0000:03:00.0: mode switchdev inline-mode none encap enable
NIC를
switchdev
모드로 설정하려면 다음 명령을 실행합니다.예제
이 예에서 NIC
pci/0000:03:00.0
의 e-switch 모드는switchdev
로 설정됩니다.$ sudo devlink dev eswitch set pci/0000:03:00.0 mode switchdev
switchdev
-enabled NIC에서 포트를 할당하려면 다음을 수행하십시오.admin
역할을 사용하여 RHOSP 사용자로 로그인하고,binding-profile
값이 있는 neutron 포트를 만들고,포트
보안을 비활성화합니다.중요OpenFlow 흐름을 하드웨어로 오프로드하려면 연결 추적(conntrack) 모듈에 대해
switchdev
포트에서 보안 그룹 및 포트 보안을 활성화해야 합니다.$ openstack port create --network private --vnic-type=direct --binding-profile '{"capabilities": ["switchdev"]}' direct_port1 --disable-port-security
인스턴스를 생성할 때 이 포트 정보를 전달합니다.
대표 포트를 인스턴스 VF 인터페이스와 연결하고 일회성 OVS 데이터 경로 처리를 위해 대표 포트를 OVS 브리지
br-int
에 연결합니다. VF 포트는 물리적 "패치 패널" 프런트 엔드의 소프트웨어 버전과 같이 작동합니다.새 인스턴스 생성에 대한 자세한 내용은 8.8절. “SR-IOV 또는 OVS TC-flower 하드웨어 오프로드 환경에서 인스턴스 생성” 을 참조하십시오.
인터페이스 및 대표자에 다음 구성을 적용하여 TC Flower가 포트 수준에서 흐름 프로그래밍을 푸시하는지 확인합니다.
$ sudo ethtool -K <device-name> hw-tc-offload on
성능 향상을 위해 각 네트워크 인터페이스의 채널 수를 조정합니다.
채널에는 인터럽트 요청(IRQ) 및 IRQ를 트리거하는 대기열 세트가 포함됩니다.
mlx5_core
드라이버를dev
모드로 설정하면mlx5_core
드라이버가 기본적으로 하나의 결합된 채널로 설정되어 최적의 성능을 제공하지 않을 수 있습니다.물리적 기능(PF) 대표자에서 다음 명령을 입력하여 호스트에 사용 가능한 CPU 수를 조정합니다.
예제
이 예에서 다중 목적 채널의 수는 네트워크 인터페이스
eno
:에서 3으로 설정됩니다.3
s0f0$ sudo ethtool -L enp3s0f0 combined 3
추가 리소스
- director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리에서 오버클라우드 생성
- 명령줄 인터페이스 참조에 overcloud deploy
- 8.8절. “SR-IOV 또는 OVS TC-flower 하드웨어 오프로드 환경에서 인스턴스 생성”
-
ethtool
의 도움말 페이지 -
devlink
의 도움말 페이지 - 인스턴스 생성 을 위해 컴퓨팅 서비스 구성의 컴퓨팅 노드에 CPU 고정구성