4.9. ML2/OVS 배포에서 공급자 네트워크의 멀티 캐스트 스누핑 활성화

RHOSP(Red Hat OpenStack Platform) 공급자 네트워크의 모든 포트에 플러딩 멀티캐스트 패킷을 방지하려면 멀티캐스트 스누핑을 활성화해야 합니다. Open vSwitch 메커니즘 드라이버(ML2/OVS)와 함께 Modular Layer 2 플러그인을 사용하는 RHOSP 배포에서 YAML 형식의 환경 파일에 RHOSP Orchestration(heat) NeutronEnableIgmpSnooping 매개변수를 선언하여 이 작업을 수행합니다.

중요

프로덕션 환경에 적용하기 전에 멀티캐스트 스누핑 구성을 철저하게 테스트하고 이해해야 합니다. 잘못된 구성으로 멀티캐스팅이 중단되거나 잘못된 네트워크 동작이 발생할 수 있습니다.

사전 요구 사항

  • 구성에서는 ML2/OVS 공급자 네트워크만 사용해야 합니다.
  • 실제 라우터에 IGMP 스누핑이 활성화되어 있어야 합니다.

    즉, 물리적 라우터에서 OVS(및 물리적 네트워킹)에서 스누핑 캐시를 유지 관리하도록 멀티캐스트 그룹 구성원에서 일반 IGMP가 보고하도록 하려면 프로바이더 네트워크의 IGMP 쿼리 패킷을 보내야 합니다.

  • VM 인스턴스(또는 포트 보안 비활성화)에 대한 인바운드 IGMP를 허용하려면 RHOSP Networking 서비스 보안 그룹 규칙이 있어야 합니다.

    이 예에서는 ping_ssh 보안 그룹에 대한 규칙이 생성됩니다.

    예제

    $ openstack security group rule create --protocol igmp --ingress ping_ssh

절차

  1. Undercloud 호스트에서 stack 사용자로 로그인한 사용자 지정 YAML 환경 파일을 만듭니다.

    예제

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

    작은 정보

    오케스트레이션 서비스(heat)에서는 템플릿이라는 플랜 세트를 사용하여 환경을 설치하고 구성합니다. 사용자 지정 환경 파일을 사용하여 오버클라우드의 속성을 사용자 지정할 수 있습니다. 이 파일은 heat 템플릿에 대한 사용자 지정을 제공하는 특수한 템플릿입니다.

  2. parameter_defaults 아래의 YAML 환경 파일에서 NeutronEnableIgmpSnooping을 true로 설정합니다.

    parameter_defaults:
        NeutronEnableIgmpSnooping: true
        ...
    중요

    콜론(:)과 true 사이에 공백 문자를 추가해야 합니다.

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

    중요

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

    예제

    $ openstack overcloud deploy --templates \
    -e [your-environment-files] \
    -e /usr/share/openstack-tripleo-heat-templates/environments/services/my-ovs-environment.yaml

검증

  • 멀티 캐스트 스누핑이 활성화되었는지 확인합니다.

    예제

    # sudo ovs-vsctl list bridge br-int

    샘플 출력

    ...
    mcast_snooping_enable: true
    ...
    other_config: {mac-table-size="50000", mcast-snooping-disable-flood-unregistered=True}
    ...

추가 리소스