作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化、分散式安全防護技術與SD-WAN方案的介紹與推廣。

前一篇我們討論了在規劃Edge Node時,Edge的數量以及要採用VM或是Bare-Metal型式要怎麼決定。如果採用VM的話比較容易彈性、快速的部署,但如果採用Bare-Metal的話容量與效能較好。假設經過討論後,大家決定要採用VM型態的Edge,在本篇我們要討論兩件事:

 

  • 用來乘載Edge VM的vSphere Host有什麼特殊條件?

 

  • Edge VM的虛擬網路介面 (vNIC) 要怎麼在虛擬層與外部網路介接?

 

首先,每個Edge VM吃的資源有多少呢?在匯入Edge OVA時大家會發現又可以選擇小中大。一句話,請不要遲疑,直接選擇大。Large Size的Edge VM只是多佔用一些CPU / Memory資源,但提供完整的傳輸效能與服務容量(負載平衡器)。別浪費時間做這邊的sizing討論。

此外在底層實體伺服器的軟硬體上有幾個需求:

 

  • Edge VM僅能在vSphere上執行,沒有KVM版本的Edge

 

  • 在NSX-T 2.4版時,Edge VM的VM版本是11,代表底層的vSphere必須至少是0版以上。同樣的,兄弟啊,現在vSphere / vCenter大家都用6.5版以上了,也該換了吧~?

 

  • 下面這一點是重點:NSX的Edge設計上必須支援Intel DPDK功能以強化封包處理效能。因此底層的實體伺服器CPU必須是Intel的,並且支援AES-NI功能。下面這些系列的Intel CPU可以運作Edge

 

上面這邊是硬需求:如果CPU未能符規,各位會發現Edge VM一開始根本匯不進去,或是即使用奇怪的方式硬裝進去了,也開不起來。乘載Edge VM的vSphere Host CPU只能從上面選擇(近幾年的Intel CPU應都可符規)。如果各位有規劃AMD的CPU,可以用在Management Cluster或是Compute Node上都沒問題,但不能在Edge Node所在的vSphere上。

 

接下來討論下一個問題。以前的網誌我們曾經畫過,Edge VM安裝時有4張vNIC介面,如下圖:

 

依照順序,這四個介面分別是

 

  • 第一個介面 (eth0),僅用來做此Edge VM的管理用途,沒有傳輸實際Data Plane Traffic。

 

  • 第二個介面 (fp-eth0) 是用來連接內部的邏輯網路,簡而言之就是Geneve封裝運作的介面。

 

  • 第三個介面 (fp-eth1) 是往外部的實體網路連接,通常以vlan形式連接到企業環境並且跑路由

 

  • 第四個介面 (fp-eth2)雖然會接起來,但是並未使用。

 

(NSX-T 2.4版後,這邊的配置可以由管理者彈性調整沒有寫死。但我們仍以之前的標準配置做法來解釋)

 

簡而言之,由外部Client端往NSX環境內建置應用的網路流,是由Edge VM的三號介面 (fp-eth1) 流入,二號介面 (fp-eth0) 流出。反過來,由伺服器回應給外部Client端的封包,是由Edge VM的二號介面 (fp-eth0) 流入,三號介面 (fp-eth1) 流出

 

下圖是一般來說 Edge VM 的網卡連接底層vSphere Port Group的方式

幾個說明:

 

  • 這邊的Network 2與Network 3是接在vSphere內,由VSS (vSphere Standard Switch) 或是 VDS (vSphere Distributed Switch) 建立的Port Group。

 

  • 因為Edge使用的流量可能很大(想像一下Network 2 / Network 3這兩個介面間滿載時可能有近 10 Gbps的流量),因此我們強烈建議,中大型生產環境內,要放置Edge VM的vSphere Host,應該至少有兩個獨立10 Gbps介面規劃給Edge的進出Traffic使用。

 

  • 這兩個介面對應的虛擬交換器,最簡易的方式是採用VDS Port Group來集中管理與配置。

 

這邊的建議重點,因為很重要所以再說一遍,是即使Edge Node所在的vSphere會和Management Cluster或是Compute Node共用,沒有問題,但考量到效能,規劃上請提供獨立網卡給Edge VM流量使用。

 

最後要討論一個問題。目前確實有一個潮流,是把實體伺服器上的網卡縮減,除了獨立的Management埠之外,用兩個10 Gbps或是25 Gbps / 40 Gbps埠來乘載所有的Traffic,包含管理用的vMotion / Storage (vSAN) 以及所有的業務網路流。這個配置流行於許多2U4Node的高密度伺服器環境,甚至我們VCF (vCloud Foundation) 的設計也是如此。在這個架構內採用NSX-T時,因為只有兩個網路埠,因此這兩個Port都必須由NSX-T配置的N-VDS虛擬網路來控管(而不是VSS or VDS)。此時,

 

  • vSphere管理的vmkernel介面都需要由原本的VSS or VDS轉置到N-VDS上。這沒問題,是標準的配置

 

  • 業務網路流透過N-VDS上面配置的邏輯交換器進行封包交換。這當然沒問題

 

  • 如果上面有Edge VM,那Edge VM Network 2 / Network 3對應的虛擬交換器也必須由N-VDS上的邏輯網路來配置,不能用VSS or VDS Port Group。此時有一個重點:Edge VM Network 2的Geneve vlan配置,與vSphere上NSX-T Kernel建立的Geneve TEP介面使用的vlan,不可以一樣。必須要用兩個不同的vlan與不同的TEP網段,到外部實體環境做路由交換才可以。這是在這種特殊配置上的要求,如果各位真的碰到這邊的設計,請參考 https://blogs.vmware.com/networkvirtualization/2018/10/flexible-deployment-options-for-nsx-t-edge-vm.html/ 這篇官方部落格內的說明。

 

本篇我們討論了放置Edge VM的vSphere Host需求與網卡配置。下一篇我們會討論Bare-Metal Edge,並對這幾篇Edge配置的討論進行小總結。