2.6. ML2(Modular Layer 2) 네트워킹
ML2는 OpenStack Havana 릴리스에 도입된 OpenStack Networking 핵심 플러그인입니다. ML2 모듈식 설계를 통해 이전 모놀리식 플러그인 모델을 대체하여 혼합 네트워크 기술을 동시에 작동할 수 있습니다. 모놀리식 Open vSwitch 및 Linux Bridge 플러그인은 더 이상 사용되지 않고 제거되었습니다. 이제 ML2 메커니즘 드라이버에서 기능을 구현합니다.
ML2는 기본 메커니즘 드라이버로 구성된 OVN을 사용하는 기본 OpenStack Networking 플러그인입니다.
2.6.1. ML2 뒤의 추론
이전에는 OpenStack Networking 배포에서 구현 시 선택한 플러그인만 사용할 수 있었습니다. 예를 들어 OVS(Open vSwitch) 플러그인을 실행하는 배포는 OVS 플러그인을 독점적으로 사용해야 했습니다. 모놀리식 플러그인은 linuxbridge와 같은 다른 플러그인의 동시 사용을 지원하지 않았습니다. 이러한 제한으로 인해 이기종 요구 사항이 있는 환경의 요구 사항을 충족하기 어려웠습니다.
2.6.2. ML2 네트워크 유형
여러 네트워크 세그먼트 유형을 동시에 작동할 수 있습니다. 또한 이러한 네트워크 세그먼트는 다중 세분화 네트워크에 대한 ML2 지원을 사용하여 상호 연결할 수 있습니다. 포트는 연결을 통해 세그먼트에 자동으로 바인딩됩니다. 특정 세그먼트에 포트를 바인딩할 필요가 없습니다. ML2는 메커니즘 드라이버에 따라 다음 네트워크 세그먼트 유형을 지원합니다.
- 플랫
- GRE
- 로컬
- VLAN
- VXLAN
- Geneve
ml2_conf.ini 파일의 ML2 섹션에서 Type 드라이버를 활성화합니다. 예를 들면 다음과 같습니다.
[ml2] type_drivers = local,flat,vlan,gre,vxlan,geneve
2.6.3. ML2 메커니즘 드라이버
플러그인은 공통 코드 베이스를 사용하는 메커니즘으로 구현됩니다. 이러한 접근 방식을 통해 코드를 재사용하고 코드 유지 관리 및 테스트와 관련된 복잡성을 없앨 수 있습니다.
기본 메커니즘 드라이버는 OVN입니다. 오케스트레이션 서비스(heat) 매개변수인 NeutronMechanismDrivers
를 사용하여 메커니즘 드라이버를 활성화합니다. 다음은 heat 사용자 지정 환경 파일의 예입니다.
parameter_defaults: ... NeutronMechanismDrivers: ansible,ovn,baremetal ...
메커니즘 드라이버를 지정하는 순서는 중요합니다. 이전 예제에서 baremetal 메커니즘 드라이버를 사용하여 포트를 바인딩하려면 ansible
보다 baremetal
을 지정해야 합니다. 그렇지 않으면 NeutronMechanismDrivers
의 값 목록에서 baremetal
앞에 있기 때문에 ansible 드라이버는 포트를 바인딩합니다.
추가 리소스
- Red Hat OpenStack Platform의 구성 요소, 플러그인 및 드라이버 지원의 Neutron
- Advanced Overcloud Customization 가이드의 환경 파일
- Advanced Overcloud Customization 가이드에서 오버클라우드 생성에 환경 파일 포함