13장. DVR(분산 가상 라우팅) 구성
13.1. 분산 가상 라우팅(DVR) 이해
Red Hat OpenStack Platform을 배포할 때 중앙 집중식 라우팅 모델 또는 DVR 중에서 선택할 수 있습니다.
각 모델에는 장단점이 있습니다. 이 문서를 사용하여 중앙 집중식 라우팅 또는 DVR이 요구 사항에 더 적합한지 여부를 신중하게 계획하십시오.
새로운 기본 RHOSP 배포는 Open Virtual Network 메커니즘 드라이버(ML2/OVN)를 사용하여 DVR과 Modular Layer 2 플러그인을 사용합니다.
DVR은 ML2/OVS 배포에서 기본적으로 비활성화되어 있습니다.
13.1.1. 계층 3 라우팅 개요
Red Hat OpenStack Platform Networking 서비스(neutron)는 프로젝트 네트워크에 라우팅 서비스를 제공합니다. 라우터가 없으면 프로젝트 네트워크의 VM 인스턴스가 공유 L2 브로드캐스트 도메인을 통해 다른 인스턴스와 통신할 수 있습니다. 라우터를 생성하고 프로젝트 네트워크에 할당하면 해당 네트워크의 인스턴스에서 다른 프로젝트 네트워크 또는 업스트림과 통신할 수 있습니다(라우터에 외부 게이트웨이가 정의된 경우).
13.1.2. 라우팅 흐름
RHOSP(Red Hat OpenStack Platform)의 라우팅 서비스는 다음 세 가지 주요 흐름으로 분류할 수 있습니다.
- east-West 라우팅 - 동일한 프로젝트의 여러 네트워크 간 트래픽 라우팅. 이 트래픽은 RHOSP 배포를 종료하지 않습니다. 이 정의는 IPv4 및 IPv6 서브넷에 모두 적용됩니다.
- 유동 IP를 사용한 North-South 라우팅 - 유동 IP 주소 지정은 수정할 수 있고 VM 인스턴스 간 유동 IP 주소 변환(NAT)입니다. 유동 IP는 유동 IP와 네트워킹 서비스(neutron) 포트 간의 일대일 연결로 모델링되지만 NAT 변환을 수행하는 네트워킹 서비스 라우터와 연결하여 구현됩니다. 유동 IP 자체는 라우터에 외부 연결을 제공하는 uplink 네트워크에서 가져옵니다. 결과적으로 인스턴스는 외부 리소스(예: 인터넷의 끝점) 또는 기타 방법과 통신할 수 있습니다. 유동 IP는 IPv4 개념이며 IPv6에는 적용되지 않습니다. 프로젝트에서 사용하는 IPv6 주소 지정에서는 프로젝트 간에 겹치지 않은 GUA(Global Unicast Addresses)를 사용하므로 NAT 없이 라우팅할 수 있습니다.
- 유동 IP( SNAT라고도 함) 없이 North-South 라우팅 - 네트워킹 서비스는 유동 IP가 할당되지 않은 인스턴스에 대해 기본 포트 주소 변환(PAT) 서비스를 제공합니다. 이 서비스를 사용하면 인스턴스에서 라우터를 통해 외부 엔드포인트와 통신할 수 있지만 다른 방법은 사용할 수 없습니다. 예를 들어 인스턴스에서는 인터넷에서 웹 사이트를 검색할 수 있지만 외부 웹 브라우저는 인스턴스 내에서 호스팅되는 웹 사이트를 탐색할 수 없습니다. SNAT는 IPv4 트래픽에만 적용됩니다. 또한 GUAs 접두사가 할당된 네트워킹 서비스 네트워크에서는 네트워킹 서비스 라우터 외부 게이트웨이 포트에서 외부 게이트웨이 포트에 NAT가 필요하지 않습니다.
13.1.3. 중앙 집중식 라우팅
원래 네트워킹 서비스(neutron)는 중성자 L3 에이전트가 관리하는 프로젝트의 가상 라우터가 모두 전용 노드 또는 노드 클러스터에 배포된 중앙 집중식 라우팅 모델로 설계되었습니다(네트워크 노드 또는 컨트롤러 노드로 참조). 즉, 라우팅 기능이 필요할 때마다(east/west, 유동 IP 또는 SNAT) 트래픽이 토폴로지의 전용 노드를 통과합니다. 이로 인해 여러 문제가 발생하고 하위 트래픽 흐름이 발생했습니다. 예를 들면 다음과 같습니다.
- L3을 사용하여 두 인스턴스가 서로 통신해야 하는 경우, 인스턴스 간 트래픽은 컨트롤러 노드에 도달해야 합니다. 인스턴스가 동일한 컴퓨팅 노드에 예약되지만 트래픽은 여전히 컴퓨팅 노드를 떠나 컨트롤러로 이동하고 컴퓨팅 노드로 다시 라우팅해야 합니다. 이는 성능에 부정적인 영향을 미칩니다.
- 유동 IP가 있는 인스턴스는 컨트롤러 노드를 통해 패킷을 수신 및 전송합니다. 즉, 외부 네트워크 게이트웨이 인터페이스는 컨트롤러 노드에서만 사용할 수 있으므로 트래픽이 인스턴스에서 시작되는지 또는 외부 네트워크에서 인스턴스를 대상으로 하는지, 컨트롤러 노드를 통과해야 합니다. 결과적으로 대규모 환경에서는 컨트롤러 노드의 트래픽이 과도하게 로드됩니다. 이는 성능 및 확장성에 영향을 미치며 외부 네트워크 게이트웨이 인터페이스에서 충분한 대역폭을 수용하도록 신중하게 계획해야 합니다. SNAT 트래픽에도 동일한 요구 사항이 적용됩니다.
L3 에이전트를 보다 효과적으로 확장하기 위해 Networking 서비스에서 L3 HA 기능을 사용하여 가상 라우터를 여러 노드에 배포할 수 있습니다. 컨트롤러 노드가 손실된 경우 HA 라우터는 다른 노드의 대기 시간으로 장애 조치되고 HA 라우터 장애 조치가 완료될 때까지 패킷이 손실됩니다.