4.10. ML2/OVN 배포에서 멀티 캐스트 활성화

멀티캐스트 트래픽을 지원하려면 배포의 보안 구성을 수정하여 멀티캐스트 트래픽이 멀티캐스트 그룹의 가상 시스템(VM) 인스턴스에 도달할 수 있도록 합니다. 멀티캐스트 트래픽 플러딩을 방지하기 위해 IGMP 스누핑을 활성화합니다.

중요

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

사전 요구 사항

  • ML2/OVN 메커니즘 드라이버를 사용한 OpenStack 배포.

절차

  1. 적절한 VM 인스턴스에 대한 멀티캐스트 트래픽을 허용하도록 보안을 구성합니다. 예를 들어 IGMP 쿼리에서 IGMP 트래픽이 VM 인스턴스를 입력하고 종료하는 데 사용할 수 있는 보안 그룹 규칙과 멀티캐스트 트래픽을 허용하는 세 번째 규칙을 만듭니다.

    예제

    보안 그룹 mySG 를 사용하면 IGMP 트래픽이 VM 인스턴스를 입력하고 종료할 수 있습니다.

     openstack security group rule create --protocol igmp --ingress mySG
    
     openstack security group rule create --protocol igmp --egress mySG

    또 다른 규칙을 사용하면 멀티캐스트 트래픽이 VM 인스턴스에 도달할 수 있습니다.

    openstack security group rule create  --protocol udp mySG

    보안 그룹 규칙을 설정하는 대신 일부 운영자는 네트워크에서 포트 보안을 선택적으로 비활성화하도록 선택합니다. 포트 보안을 비활성화하려면 관련 보안 위험을 고려하고 계획하십시오.

  2. heat 매개변수를 설정합니다. NeutronEnableIgmpSnooping: True 언더클라우드 노드의 환경 파일에 있습니다. 예를 들어 다음 행을 ovn-extras.yaml에 추가합니다.

    예제

    parameter_defaults:
            NeutronEnableIgmpSnooping: True

  3. 해당 환경과 관련된 기타 환경 파일과 함께 openstack overcloud deploy 명령에 환경 파일을 포함하고 오버클라우드를 배포합니다.

    $ openstack overcloud deploy \
    --templates \
    …
    -e <other_overcloud_environment_files> \
    
    -e ovn-extras.yaml \
    …

    <other_overcloud_environment_files> 를 기존 배포에 포함된 환경 파일 목록으로 바꿉니다.

검증

  1. 멀티 캐스트 스누핑이 활성화되었는지 확인합니다. northbound 데이터베이스 Logical_Switch 테이블을 나열합니다.

    $ ovn-nbctl list Logical_Switch

    샘플 출력

    _uuid         : d6a2fbcd-aaa4-4b9e-8274-184238d66a15
    other_config  : {mcast_flood_unregistered="false", mcast_snoop="true"}
    ...

    Networking 서비스(neutron) igmp_snooping_enable 구성은 OVN Northbound 데이터베이스의 Logical_Switch 테이블의 other_config 열에 설정된 mcast_snoop 옵션으로 변환됩니다. mcast_flood_unregistered는 항상 "false"입니다.

  2. IGMP 그룹을 표시합니다.

    $ ovn-sbctl list IGMP_group

    샘플 출력

    _uuid    : 2d6cae4c-bd82-4b31-9c63-2d17cbeadc4e
    address  : "225.0.0.120"
    chassis  : 34e25681-f73f-43ac-a3a4-7da2a710ecd3
    datapath : eaf0f5cc-a2c8-4c30-8def-2bc1ec9dcabc
    ports    : [5eaf9dd5-eae5-4749-ac60-4c1451901c56, 8a69efc5-38c5-48fb-bbab-30f2bf9b8d45]
    ...

추가 리소스