13장. DVR(Distributed Virtual routing) 구성

13.1. DVR(Distributed Virtual routing) 이해

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 라우팅 - 동일한 프로젝트에서 서로 다른 네트워크 간 트래픽 라우팅. 이 트래픽은 OpenStack 배포를 그대로 두지 않습니다. 이 정의는 IPv4 및 IPv6 서브넷 모두에 적용됩니다.
  • 유동 IP를 사용한 북남 라우팅 - 유동 IP 주소 지정은 수정할 수 있고 인스턴스 간에 유동적인 일대일 NAT입니다. 유동 IP는 유동 IP와 Neutron 포트 간의 일대일 연결로 모델링되지만 NAT 변환을 수행하는 neutron 라우터와 연결하여 구현됩니다. 유동 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)는 Neutron L3 에이전트가 관리하는 프로젝트의 가상 라우터가 모두 전용 노드 또는 노드(네트워크 노드 또는 컨트롤러 노드라고 함)에 배포되는 중앙 집중식 라우팅 모델로 설계되었습니다. 즉 라우팅 기능이 필요할 때마다(동부/서부 IP 또는 SNAT) 트래픽이 토폴로지의 전용 노드를 통과합니다. 이로 인해 여러 과제가 발생했고 차선의 트래픽 흐름이 발생했습니다. 예를 들면 다음과 같습니다.

  • 인스턴스 간 트래픽이 컨트롤러 노드를 통과합니다. L3를 사용하여 두 인스턴스가 서로 통신해야 하는 경우 트래픽이 컨트롤러 노드에 도달해야 합니다. 인스턴스가 동일한 컴퓨팅 노드에 예약되어 있더라도 트래픽은 여전히 컴퓨팅 노드를 종료하고 컨트롤러를 통과하며 컴퓨팅 노드로 다시 라우팅해야 합니다. 이는 성능에 부정적인 영향을 미칩니다.
  • 유동 IP가 있는 인스턴스는 컨트롤러 노드를 통해 패킷을 수신하고 전송합니다. 외부 네트워크 게이트웨이 인터페이스는 컨트롤러 노드에서만 사용할 수 있으므로 트래픽이 인스턴스에서 발생하거나 외부 네트워크에서 인스턴스로 향하든 컨트롤러 노드를 통과해야 합니다. 결과적으로 대규모 환경에서 컨트롤러 노드는 트래픽 로드가 많은 영향을 받습니다. 이 경우 성능과 확장성에 영향을 줄 수 있으며 외부 네트워크 게이트웨이 인터페이스에서 대역폭을 충분히 수용하기 위한 신중한 계획이 필요합니다. SNAT 트래픽에 동일한 요구 사항이 적용됩니다.

L3 에이전트를 더 잘 확장하기 위해 네트워킹 서비스는 L3 HA 기능을 사용하여 여러 노드에 가상 라우터를 배포할 수 있습니다. 컨트롤러 노드가 손실된 경우 HA 라우터는 다른 노드의 대기 모드로 장애 조치를 수행하며 HA 라우터 페일오버가 완료될 때까지 패킷 손실이 발생합니다.