跳至主要内容

Neutron 網路(OVN)

Neutron 使用 OVN(Open Virtual Network)作為其 ML2 mechanism driver,提供分散式虛擬路由、安全群組、DHCP 及 metadata 服務,無需傳統的 Neutron agent。

OVN 架構

  • ML2 mechanism driver:OVN
  • 隧道類型:Geneve(UDP port 6081)
  • OVN Northbound DB:分散於 openstack01、openstack02、openstack04
  • OVN Southbound DB:分散於 openstack01、openstack02、openstack04
  • ovn_northd:運行於 openstack01(將邏輯流從 NB DB 轉換至 SB DB)
  • SB Relayovn_sb_db_relay_1):運行於 openstack01,分擔運算節點對 SB 的直接連線

網路代理

Agent主機類型狀態
OVN Controller Gatewayopenstack01GatewayActive
OVN Controller Gatewayopenstack02GatewayActive
OVN Controller Gatewayopenstack04GatewayActive
OVN Controlleropenstack05ComputeActive
OVN Metadataopenstack01MetadataActive
OVN Metadataopenstack02MetadataActive
OVN Metadataopenstack04MetadataActive
OVN Metadataopenstack05MetadataActive
OVN Neutronopenstack01NeutronActive
OVN Neutronopenstack05NeutronActive
  • Gateway agent 運行於控制節點,處理南北向流量(外部連線、SNAT)。
  • Compute agent 運行於運算節點,處理東西向流量(VM 之間的通訊)。
  • Metadata agent 運行於所有主機,提供實例 metadata(cloud-init)。

Provider 網路

VLAN 2116 -- tw-pub

  • 子網路:103.122.116.0/23
  • 類型:flat/VLAN provider network
  • 用途:需要公開位址的實例直接連接(使用者直接連線至 provider network)
  • OVS bridge:br-ex
  • 承載於:gateway 節點上 bond0 的子介面

租戶網路

  • Overlay 類型:Geneve 隧道
  • 傳輸網路:VLAN 100(vm-int),子網路 10.0.0.0/24
  • MTU:租戶流量為 1442(9000 實體 MTU 減去 Geneve 開銷)
  • 封裝 port:UDP 6081

Geneve 隧道建立於所有主機(控制節點與運算節點)之間,經由 vm-int 網路。每個租戶網路會獲得唯一的 VNI(Virtual Network Identifier)以實現隔離。

OVN 資料流

  • 東西向流量(同一租戶內 VM 對 VM):透過 Geneve 隧道在運算節點之間直接路由,使用 OVN 的分散式虛擬路由。
  • 南北向流量(VM 對外部):經由控制節點上的 OVN gateway agent 路由,套用 SNAT 後送至 provider network。使用者直接連線至 provider network 以取得入站連線。

Octavia(負載平衡器)

Octavia 提供 Load-Balancer-as-a-Service(LBaaS)。在服務目錄中註冊於 port 9876,可使用 amphora driver(專用 haproxy VM)或 OVN provider driver(輕量化,整合於 OVN 中)進行負載平衡。