20.3. ML2/OVN으로 네트워크 서비스 가용성 영역 구성

사용자가 라우터를 생성할 때 RHOSP(Red Hat OpenStack Platform) 네트워킹 서비스(neutron)에서 자동으로 할당하는 하나 이상의 기본 가용성 영역(AZ)을 설정할 수 있습니다. 또한 네트워킹 서비스에서 해당 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)는 템플릿 이라는 일련의 계획을 사용하여 환경을 설치하고 구성합니다. 사용자 지정 환경 파일을 사용하여 오버클라우드의 특정 부분을 사용자 지정할 수 있습니다. 이 파일은 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

검증

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

    예제

    $ openstack availability zone list

    샘플 출력

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