8장. OVS TC-flower 하드웨어 오프로드 구성
RHOSP(Red Hat OpenStack Platform) 네트워크 기능 가상화(NFV) 배포에서 OVS(Open vSwitch) TC-flower 하드웨어 오프로드를 사용하여 더 높은 성능을 얻을 수 있습니다. 하드웨어 오프로드는 네트워크 인터페이스 컨트롤러(NIC)의 전용 프로세서로 네트워킹 작업을 CPU에서 분리합니다. 이러한 특수 하드웨어 리소스는 CPU가 더 중요한 컴퓨팅 작업을 수행할 수 있는 추가 컴퓨팅 기능을 제공합니다.
OVS 하드웨어 오프로드를 위한 RHOSP 구성은 SR-IOV용 RHOSP 구성과 유사합니다.
이 섹션에는 토폴로지 및 기능 요구 사항에 맞게 수정해야 하는 예제가 포함되어 있습니다. 자세한 내용은 NFV 하드웨어 요구 사항을 참조하십시오.
사전 요구 사항
RHOSP 언더클라우드.
오버클라우드를 배포하려면 언더클라우드를 설치하고 구성해야 합니다. 자세한 내용은 director를 사용하여 Red Hat OpenStack Platform 설치 및 관리를 참조하십시오.
참고RHOSP director는 director 템플릿 및 사용자 지정 환경 파일에서 지정하는 키-값 쌍을 통해 OVS 하드웨어 오프로드 구성 파일을 수정합니다. OVS 하드웨어 오프로드 구성 파일을 직접 수정하지 않아야 합니다.
-
언더클라우드 호스트 및
stack사용자의 인증 정보에 액세스합니다. NIC, 해당 애플리케이션, VF 게스트 및 OVS가 동일한 NUMA 컴퓨팅 노드에 있는지 확인합니다.
이렇게 하면 NUMA 간 작업에서 성능이 저하되는 것을 방지할 수 있습니다.
- NIC가 포함된 호스트에서 sudo에 액세스합니다.
NIC 펌웨어를 계속 업데이트해야 합니다.
yum또는dnf업데이트는 펌웨어 업데이트를 완료하지 못할 수 있습니다. 자세한 내용은 공급 업체 설명서를 참조하십시오.-
연결 추적(conntrack) 모듈에
switchdev포트에서 보안 그룹 및 포트 보안을 활성화하여 OpenFlow 흐름을 하드웨어로 오프로드합니다.
절차
RHOSP director를 사용하여 OVS 하드웨어 오프로드 환경에서 RHOSP를 설치하고 설정합니다. 높은 수준의 단계는 다음과 같습니다.
-
director를 사용하여 Red Hat OpenStack Platform 설치 및 관리의 지침에 따라 오버클라우드의 물리적 네트워크를 설정하기 위해 네트워크 설정 파일
network_data.yaml을 생성합니다. https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/17.1/html/installing_and_managing_red_hat_openstack_platform_with_director/assembly_configuring-overcloud-networking_installing-director-on-the-undercloud - 역할 및 이미지 파일을 생성합니다.
- OVS 하드웨어 오프로드에 대해 PCI 패스스루 장치를 구성합니다.
- 역할별 매개변수 및 기타 구성 덮어쓰기를 추가합니다.
- 베어 메탈 노드 정의 파일을 생성합니다.
- OVS 하드웨어 오프로드에 대한 NIC 구성 템플릿을 생성합니다.
오버클라우드 네트워크 및 VIP를 프로비저닝합니다.
자세한 내용은 다음을 참조하십시오.
- director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리에서 오버클라우드 네트워크 정의 구성 및 프로비저닝.
- director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리에서 오버클라우드용 네트워크 VIP 구성 및 프로비저닝.
오버클라우드 베어 메탈 노드를 프로비저닝합니다.
자세한 내용은 director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리에서 오버클라우드의 베어 메탈 노드 프로비저닝 을 참조하십시오.
- OVS 하드웨어 오프로드 오버클라우드를 배포합니다.
8.1. OVS TC-flower 하드웨어 오프로드의 역할 및 이미지 파일 생성 링크 복사링크가 클립보드에 복사되었습니다!
RHOSP(Red Hat OpenStack Platform) director는 역할을 사용하여 노드에 서비스를 할당합니다. OVS TC-flower 하드웨어 오프로드 환경에서 RHOSP를 구성할 때 RHOSP 설치와 함께 제공되는 기본 역할 Compute 를 기반으로 하는 새 역할을 생성합니다.
언더클라우드 설치에는 컨테이너 이미지를 가져올 위치와 저장 방법을 결정하는 환경 파일이 필요합니다.
사전 요구 사항
-
언더클라우드 호스트 및
stack사용자의 인증 정보에 액세스합니다.
절차
-
stack사용자로 언더클라우드에 로그인합니다. stackrc파일을 소싱합니다.source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow Compute역할을 기반으로 OVS 하드웨어 오프로드에 대한 오버클라우드 역할을 생성합니다.예제
이 예에서는 Compute 역할을 기반으로 하는 ComputeOvsHwOffload 역할이 생성됩니다. 명령이 생성하는 역할 파일의 이름은
roles_data_compute_ovshwol.yaml입니다.openstack overcloud roles generate -o \ roles_data_compute_ovshwol.yaml Controller Compute:ComputeOvsHwOffload
$ openstack overcloud roles generate -o \ roles_data_compute_ovshwol.yaml Controller Compute:ComputeOvsHwOffloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고RHOSP 환경에 OVS-DPDK, SR-IOV 및 OVS TC-flower 하드웨어 오프로드 기술이 혼합된 경우
roles_data.yaml과 같은 하나의 역할 데이터 파일만 생성하여 모든 역할을 포함합니다.openstack overcloud roles generate -o /home/stack/templates/\ roles_data.yaml Controller ComputeOvsDpdk ComputeOvsDpdkSriov \ Compute:ComputeOvsHwOffload
$ openstack overcloud roles generate -o /home/stack/templates/\ roles_data.yaml Controller ComputeOvsDpdk ComputeOvsDpdkSriov \ Compute:ComputeOvsHwOffloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
(선택 사항)
ComputeOvsHwOffload역할의HostnameFormatDefault: '%stackname%-compute-%index%'이름을 변경합니다. 이미지 파일을 생성하려면
openstack tripleo container image prepare명령을 실행합니다. 다음 입력이 필요합니다.-
이전 단계에서 생성한 역할 데이터 파일(예:
roles_data_compute_ovshwol.yaml) 네트워킹 서비스 메커니즘 드라이버에 적합한 SR-IOV 환경 파일입니다.
ML2/OVN 환경
/usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-sriov.yamlML2/OVS 환경
/usr/share/openstack-tripleo-heat-templates/environments/services/neutron-sriov.yaml예제
이 예에서는 ML2/OVN 환경에 대해
overcloud_images.yaml파일이 생성됩니다.sudo openstack tripleo container image prepare \ --roles-file ~/templates/roles_data_compute_ovshwol.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-sriov.yaml \ -e ~/containers-prepare-parameter.yaml \ --output-env-file=/home/stack/templates/overcloud_images.yaml
$ sudo openstack tripleo container image prepare \ --roles-file ~/templates/roles_data_compute_ovshwol.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-sriov.yaml \ -e ~/containers-prepare-parameter.yaml \ --output-env-file=/home/stack/templates/overcloud_images.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
이전 단계에서 생성한 역할 데이터 파일(예:
- 역할 데이터 파일의 경로 및 파일 이름과 사용자가 생성한 이미지 파일을 기록해 둡니다. 오버클라우드를 배포할 때 나중에 이러한 파일을 사용합니다.
다음 단계