1. Opensetack OVN Network란?
* OVN ?
Open Virutal Network(OVN) 약어로 OVS(Open vSwitch) 팀에서 개바한 오픈소스이다.
기존 OVS의 기능을 보완하고 가상 L2, L3 오버레이, 보안그룹, DHCP 서비스와 같은 가상 네트워크 추상화를 제공한다.
가상화 플랫폼(VM, Container)에서 모든 유형의 워크로드에 대한 가상 네트워킹 기능에 대한 접근 방식 제공한다.
* Openstack OVN Network Architecture
OVN은 OVS기능과 함께 수천개의 하이퍼바이저로 확장할 수 있는 높은 확장성과 향상된 성능, 안정성을 보여준다.
1) OVN database
(1) ovn-northbound db(ovn_nb_db)
- OVN ML2 플러그인의 논리적 네트워크 구성이 저장되는곳으로 컨트롤러 노드에서 실행됨
(2) ovn-northd(ovn_northd)
- 논리적 네트워크 요소를 논리적 데이터 경로 흐름으로 변환하고 OVN SB DB에 전달하며 컨트롤러 노드에서 실행됨
(3) ovn-southbound db(ovn_sb_db)
- 변호나된 논리적 데이터 경로 흐름을 저장하고 컨트롤러 노드에서 실행됨
(4) ovn-controller(ovn_controller)
- ovn_sb_db와 연결하고 OVS 역할을 하여 네트워크 트래픽을 제어하고 모니터링하며 컴퓨트노드에서 실행됨
(5) ovn-meta-agent(neutron_ovn_metadata_agent
- API 요청을 프록시하는데 사용되는 OVS 인터페이스, 네트워크 네임스페이스 및 HAProxy 프로세스 관리하기 위한 Haproxy 인스턴스 생성.
(6) ovs database(openvswitch_db)
- ovn_nb_db, ovn_sb_db를 호스팅하고 ovs-vswitchd와 상호작용하여 ovs db를 호스팅하는 역할
Openstack Kolla-ansible OVN Network
Openstack OVN 굿어시 네트워크 구성은 위와 같다고 보며 각각 호스트에 다음 서비스들이 설치가 된다.
Controller : ovn_northd, ovn_controller, openvswitch_vswitchd, openvswitch_db. ovn_sb_db, ovn_nb_db
Compute : neutron_ovn_metadata_agent, ovn_controller, openvswitch_vswitchd, openvswitch_db
설치 이후 각각 br-ex, br-int 브릿지가 생성되며 br-ex는 외부 네트워크, br-int는 내부 통신을 위해 설정된다.
(참조 : kolla-ansible xena 설치 가이드)
Openstack Network 생성시 tap~(숫자) 테넌트 네트워크가 생성되며 이것은 br-int 브릿지의 tab 디바이스가 생성된다.
외부 통신을 위해 라우터 생성하고 네트워크 연결시 br-int와 br-ex 연결 되며 컴퓨트 노드에 ovnmeta-fdea8b75-ba46-4e51-a85c-9f599c92cffb 이라는 네임스페이스가 생성되어 테넌트 관리를 할 수있다.
https://docs.openstack.org/networking-ovn/pike/admin/refarch/refarch.html