21.3. ML2/OVN을 사용하여 네트워크 서비스 가용성 영역 구성

사용자가 라우터를 생성할 때 RHOSP(Red Hat OpenStack Platform) 네트워킹 서비스(neutron)에서 자동으로 할당하는 하나 이상의 기본 가용성 영역(AZ)을 설정할 수 있습니다. 또한 Networking 서비스에서 해당 AZ에 대해 이러한 리소스를 예약하는 데 사용하는 라우터 드라이버를 설정할 수도 있습니다.

이 항목에 포함된 정보는 ML2/OVN(Open Virtual Network) 메커니즘 드라이버와 함께 Modular Layer 2 플러그인을 사용하는 RHOSP Networking 서비스를 실행하는 배포에 사용됩니다.

참고

ML2/OVN 메커니즘 드라이버는 라우터 가용 영역만 지원합니다. ML2/OVN에는 분산 DHCP 서버가 있으므로 네트워크 AZ를 지원하지 않습니다.

사전 요구 사항

  • 배포된 RHOSP 16.2 이상.
  • ML2/OVN 메커니즘 드라이버를 사용하는 RHOSP 네트워킹 서비스 실행.
  • DCN(Distributed Compute Node) 환경에서 네트워킹 서비스 AZ를 사용하는 경우 Networking 서비스 AZ 이름과 Compute 서비스(nova) AZ 이름과 일치해야 합니다.

    자세한 내용은 분산 컴퓨팅 노드 및 스토리지 배포 가이드를 참조하십시오.

절차

  1. stack 사용자로 언더클라우드에 로그인하고 stackrc 파일을 가져와 director 명령줄 툴을 활성화합니다.

    예제

    $ source ~/stackrc

  2. 사용자 지정 YAML 환경 파일을 만듭니다.

    예제

    $ vi /home/stack/templates/my-neutron-environment.yaml

    작은 정보

    Red Hat OpenStack Platform Orchestration 서비스(heat)는 templates 라는 플랜 세트를 사용하여 환경을 설치하고 구성합니다. heat 템플릿에 대한 사용자 지정을 제공하는 특수 유형의 템플릿 파일인 사용자 지정 환경 파일을 사용하여 오버클라우드의 특정 부분을 사용자 지정할 수 있습니다.

  3. YAML 환경 파일의 parameter_defaults 에서 NeutronDefaultAvailabilityZones 매개 변수와 하나 이상의 AZ를 입력합니다.

    중요

    DCN 환경에서는 Networking 서비스 AZ 이름과 Compute 서비스 AZ 이름과 일치해야 합니다.

    네트워크 또는 라우터를 만들 때 --availability-zone-hint 옵션을 사용하여 AZ를 지정하지 못하는 경우 네트워킹 서비스는 이러한 AZ를 할당합니다.

    예제

    parameter_defaults:
      NeutronDefaultAvailabilityZones: 'az-central,az-datacenter2,az-datacenter1'

  4. 매개변수인 OVNAvailabilityZone 에 대한 값을 입력하여 게이트웨이 노드(Controller 및 Network 노드)의 AZ를 확인합니다.

    중요

    OVNAvailability 매개변수는 OVNCMSOptions 매개변수에서 AZ 값의 사용을 대체합니다. OVNAvailability 매개변수를 사용하는 경우 OVNCMSOptions 매개변수에 AZ 값이 없는지 확인합니다.

    예제

    이 예에서는 az-central AZ의 Controller에 대한 역할이 사전 정의되어 있으며 datacenter1datacenter2 AZ의 Networkers가 다음과 같습니다.

    parameter_defaults:
      NeutronDefaultAvailabilityZones: 'az-central,az-datacenter2,az-datacenter1'
      ControllerCentralParameters:
        OVNCMSOptions: 'enable-chassis-as-gw'
        OVNAvailabilityZone: 'az-central,az-datacenter2,az-datacenter1'
      NetworkerDatacenter1Parameters:
        OVNCMSOptions: 'enable-chassis-as-gw'
        OVNAvailabilityZone: 'az-datacenter1'
      NetworkerDatacenter2Parameters:
        OVNCMSOptions: 'enable-chassis-as-gw'
        OVNAvailabilityZone: 'az-datacenter2'
    중요

    DCN 환경에서는 ControllerCentralParameter 에 대한 단일 AZ를 정의하여 포트가 특정 에지 사이트와 관련된 AZ에 예약되도록 합니다.

  5. 기본적으로 라우터 스케줄러는 AZLeastRoutersScheduler 입니다. 이 값을 변경하려면 NeutronRouterSchedulerDriver 매개변수를 사용하여 새 스케줄러를 입력합니다.

    예제

    parameter_defaults:
      NeutronDefaultAvailabilityZones: 'az-central,az-datacenter2,az-datacenter1'
      ControllerCentralParameters:
        OVNCMSOptions: 'enable-chassis-as-gw'
        OVNAvailabilityZone: 'az-central,az-datacenter2,az-datacenter1'
      NetworkerDCN1Parameters:
        OVNCMSOptions: 'enable-chassis-as-gw'
        OVNAvailabilityZone: 'az-datacenter1'
      NetworkerDCN2Parameters:
        OVNCMSOptions: 'enable-chassis-as-gw'
        OVNAvailabilityZone: 'az-datacenter2'
      NeutronRouterSchedulerDriver: 'neutron.scheduler.l3_agent_scheduler.AZLeastRoutersScheduler'

  6. openstack overcloud deploy 명령을 실행하고 코어 heat 템플릿, 환경 파일 및 이 새 사용자 지정 환경 파일을 포함합니다.

    중요

    후속 환경 파일에 정의된 매개 변수와 리소스가 우선하기 때문에 환경 파일의 순서가 중요합니다.

    예제

    $ openstack overcloud deploy --templates \
    -e <your-environment-files> \
    -e /usr/share/openstack-tripleo-heat-templates/environments/services/\
    my-neutron-environment.yaml

검증

  • 가용성 영역 list 명령을 실행하여 가용성 영역이 올바르게 정의되었는지 확인합니다.

    예제

    $ openstack availability zone list

    샘플 출력

    +----------------+-------------+
    | Zone Name      | Zone Status |
    +----------------+-------------+
    | az-central     | available   |
    | az-datacenter1 | available   |
    | az-datacenter2 | available   |
    +----------------+-------------+