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

接下來我們要和大家討論NSX Cross-VC架構內的通用邏輯交換器 (Universal Logical Switch) 及通用分散式邏輯路由器 (Universal Logical Distributed Router, ULDR) 的應用。基本上,請大家想像,這些”通用”的網路功能物件,與在單一vCenter內的本地邏輯交換器或是本地DLR沒有什麼差異,區別就在現在跨中心不同vCenter、不同資源池上的虛機,都可以接取到同一個邏輯交換器上二層連通,也都可以透過直接於vSphere Host上運作的邏輯路由器進行三層的路由接取,如同我們在本系列網誌內,已經出現了好幾次的下面這張圖。利用通用邏輯交換器及路由器,企業可以取得:

  • 各資料中心間實體網路採用穩定、易於管理的三層路由架構
  • 跨機房、跨資料中心、不同資源池內的虛機,可以隨時因應業務與應用需求,以邏輯網路達成二層互通
  • 路由運作可以直接分散到不同資源池內的各台vSphere Host,無需集中到單台實體的三層交換器進行。因此如同於NSX的本地邏輯路由器功能一般,ULDR能夠達成虛機間的網路傳輸路徑最佳化

當Cross-VC NSX安裝完畢(Again, 請參考Cross-vCenter NSX Installation Guide)後,NSX網路管理者需要建立一個Universal Transport Zone。流程是:

1. 於Primary NSX Manager內的Transport Zone建立頁面,新增一個Transport Zone,並且要勾選上面的”Mark this object for Universal Synchronization”項目

2. 包含在Primary NSX Manager以及每一個Secondary NSX Manager,選擇要加入這個Transport Zone的vSphere叢集

接著,只要是任何一個在新增時選擇要使用這個Universal Transport Zone的邏輯交換器,就自動會成為Universal Logical Switch,在每一個NSX Manager的邏輯交換器頁面內,都會看到,也都可以將各自的虛機掛載到此Universal Logical Switch上。舉例來說,下圖是10.9.24.34這台Primary NSX Manager內的邏輯交換器,大家可以看到我們有建立了四個名稱開頭是Cross-VC的通用式邏輯交換器:

而到了10.9.22.194這個Secondary NSX Manager內,同樣的四個通用式邏輯交換器也會出現。

而相同地,要建立一個通用分散式邏輯路由器時,管理者只要到Primary NSX Manager內的NSX Edge按新增,並選擇是要建立一個Universal Logical Distributed Router即可,如下圖。其他的設定步驟就都與一般的LDR一樣,唯一的差異就是各介面接取的交換器必須是Universal Logical SW才行。

而這邊特別要和大家提醒的是部署這些通用邏輯網路元件時,要注意其功能的限制。通用邏輯網路構件雖然很好用,但並不是每一種本地邏輯交換器、邏輯路由器有支援的功能都具備。在寫作的此時NSX是6.3版,下列的功能是不能使用在通用網路構件上的:

  • L2 Bridge:Universal Logical Switch無法採用橋接的方式去接取一個實體VLAN。所以實際的問題來了:我們能夠用Universal Logical Switch來當作兩個資料中心間,實體機器溝通的橋樑嗎?不能喔不能喔不能喔。如系列文第二篇所述,如果企業考慮的是要把兩邊的實體機器業務網路二層打通,請考慮用實體線路實體設備或是VPN的做法
  • L2 Hardware VTEP:NSX自己的軟體方式橋接都不支援了,要在第三方協力廠商的硬體交換器上作Universal Logical SW到實體VLAN的橋接當然也沒辦法
  • Spoofguard:NSX的Spoofguard功能可以監控各虛機MAC與IP間的關係,據以進行安全管控(任意偽造IP的虛機可以阻擋),並在虛機不安裝VMtools的情境下自動偵測虛機IP地址。但這個功能現在也還無法在通用邏輯交換器內做到

最後,我們要和大家討論一個問題。通常在和客戶討論有業務網路二層連通的跨中心架構時,大家都希望要做到一件事,就是有沒有辦法,讓同一個業務內的機器都能夠用最短最優化Latency最小的路徑互相溝通,而不要出現髮夾彎的狀況,造成業務機器間延遲時間過長出現問題。比如說在下面的圖,大家想必不會希望在右邊Data Center裡面的業務機器,Web與AP溝通或是AP與DB溝通時,結果網路流反而要跑到左邊的路由器或是L3 Switch才能交換吧:

下面這張圖肯定就符合大家的需求了,左邊走左邊,右邊走右邊。但在實體網路的世界裡,可以兩台設備設同一個IP作為Default Gateway嗎?

但NSX的分散式邏輯路由器就沒有這個問題了。邏輯路由器原本就是在NSX管理層設定後,直接在每一台vSphere Host上提供路由功能。網路封包轉路由後,再經VXLAN封裝於vSphere底層VTEP間進行IP傳輸。因此,虛機與虛機間跨網段的溝通完全不需要受到底層實體路由設計的限制,可以走最短(同機箱、同機櫃、或同一個Data Center)的vSphere間實體路徑送到目的地。此時,如果大家在意同一個Application內的業務構件,比如說Web/AP/DB的虛機,要走最短路徑的話,要確認的就是務必把同一個Application的所有構件都放在同一個Data Center內。如果是Stretch Cluster,用Affinity Rule等等方法把業務機器綁在同一邊。如果是多個資料中心的多個叢集,注意別不小心將同一個Application的任一虛機飄到另一個資料中心去。這樣,就可以取得上面的路徑最優化效果了。

我們討論了Cross-VC NSX內的通用邏輯網路方案。但是在跨中心通用邏輯網路內的虛機要怎麼和外面的實體網路,比如說企業的用戶環境,或是Internet的用戶,進行溝通呢?在下一篇網誌我們會與大家繼續進行討論。