7.9. ML2/OVS 배포에서 공급자 네트워크의 멀티 캐스트 스누핑 활성화
RHOSP(Red Hat OpenStack Platform) 공급자 네트워크의 모든 포트에 플러딩 멀티캐스트 패킷을 방지하려면 멀티캐스트 스누핑을 활성화해야 합니다. Open vSwitch 메커니즘 드라이버(ML2/OVS)와 함께 Modular Layer 2 플러그인을 사용하는 RHOSP 배포에서 사용자 지정 환경 파일에 적절한 Puppet 변수를 추가하고 openstack overcloud deploy
명령을 실행하여 이 작업을 수행합니다.
프로덕션 환경에 적용하기 전에 멀티캐스트 스누핑 구성을 철저하게 테스트하고 이해해야 합니다. 잘못된 구성으로 멀티캐스팅이 중단되거나 잘못된 네트워크 동작이 발생할 수 있습니다.
사전 요구 사항
- 구성에서는 ML2/OVS 공급자 네트워크만 사용해야 합니다.
실제 라우터에 IGMP 스누핑이 활성화되어 있어야 합니다.
즉, 물리적 라우터에서 OVS(및 물리적 네트워킹)에서 스누핑 캐시를 유지 관리하도록 멀티캐스트 그룹 구성원에서 일반 IGMP가 보고하도록 하려면 프로바이더 네트워크의 IGMP 쿼리 패킷을 보내야 합니다.
VM 인스턴스(또는 포트 보안 비활성화)에 대한 인바운드 IGMP를 허용하려면 RHOSP Networking 서비스 보안 그룹 규칙이 있어야 합니다.
이 예에서는
ping_ssh
보안 그룹에 대한 규칙이 생성됩니다.예제
$ openstack security group rule create --protocol igmp --ingress ping_ssh
절차
Undercloud 호스트에서 stack 사용자로 로그인한 사용자 지정 YAML 환경 파일을 만듭니다.
예제
$ vi /home/stack/templates/my-ovs-environment.yaml
작은 정보오케스트레이션 서비스(heat)는 templates라는 플랜 집합을 사용하여 환경을 설치하고 구성합니다. heat 템플릿에 대한 사용자 지정을 제공하는 특수 유형의 템플릿 파일인 사용자 지정 환경 파일을 사용하여 오버클라우드의 특정 부분을 사용자 지정할 수 있습니다.
적절한 역할의
ExtraConfig
섹션에 있는 YAML 환경 파일에서 Puppet 변수igmp_snooping_enable
을true
로 설정합니다.예제
사용된 역할이
ComputeOvsDpdk
인 경우 사용자 지정 envirnoment 파일에 추가하는 행은 다음과 같습니다.parameter_defaults: ComputeOvsDpdkExtraConfig: neutron::agents::ml2::ovs::igmp_snooping_enable: true
중요단일 콜론(:)과 값 사이에 공백 문자를 추가해야 합니다.
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} ...
추가 리소스
- Red Hat OpenStack Platform의 구성 요소, 플러그인 및 드라이버 지원의 Neutron
- Advanced Overcloud Customization 가이드의 환경 파일
- Advanced Overcloud Customization 가이드 의 Overcloud 생성에 환경 파일 포함