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

前面我們先讓大家看到在NSX Federation架構內,管理者可以從Global Manager直接進行跨站點全域網路配置,包含Global T0 / T1 / Segment等,Global Manager會將這些配置下放到每個站點內的Local Manager進行本地配置。在多站點架構內大家通常一定會花很多時間討論的就是『與外部網路怎麼連接』?路由如何交換?站點失效時如何切換?接下來我想和大家討論這些議題。

回到展示的場景,把前篇的示意圖拉回來如下:

這邊我們來討論Global T0與外部兩個站點的實體網路是如何連接。首先談一下Federation在多站點時可以支援的南北向架構。總共有三種:

所有南北向網路流僅能從單一站點進出 (Location P/S),站點內T0Active/Standby備援

  • 請參考下圖,在此架構內,每個站點的Traffic都只能從選定的站點進出。圖內大家可以看到Location 1內的T0是Primary,Location 2是Secondary,此架構內,兩個站點的Traffic均是由Location 1的T0與外部進行傳輸
  • 在每個本地站點內,T0是以Active-Standby方式備援。下圖內,在Location 1的EN1是本地T0的Standby,EN2是Active,這代表T0正常時是由EN2這台Edge提供對外服務
  • 這種架構的好處是網路流單純、路由都從單一站點單一設備進出,設計與除錯簡單。問題在於所有Traffic都由單一站點出去,但只用一台Edge提供南北向負擔過大,可能會有頻寬效能不足的問題。

所有南北向網路流僅能從單一站點進出 (Location P/S),站點內T0Active/Active運作

  • 同樣地所有的Location僅是從單一站點與外部進行連通(下圖的Location 1),但是在同一個本地站點內,以Active / Active的方式用多台Edge來支持本地的T0,提供高頻寬。
  • 因為網路流進出還是在單一站點,所以路由的設計仍然單純。而且可以用多台Edge來提供南北向流量就可以解決頻寬效能不足的問題了。

所有南北向網路流從當地站點進出 (Location P/P),站點內T0Active/Active運作

  • 看起來很像讓大家興奮的Local egress了,每個站點的T0都可以對外。嗯看起來很美好,但沒有喔。
  • 圖裡面沒有畫得很清楚,但NSX架構內,單一虛機的網路流要連外時,並不是用這個虛機『在哪個Location』來決定它的出口在哪,而是這個虛機位於的網段,連接的T1 Gateway的Primary位置在哪,來決定此網段的出口在哪邊。T1往T0也可能會以ECMP的方式選擇不同站點出去。
  • 簡而言之,此架構沒有保證虛機一定會由自己的Location往外送出,當然NSX也無法控制回應的Traffic要由哪個Location送入。所以,如果大家真的想要採用此架構,要想清楚喔,單一個網路封包進出會在不同站點間飄來飄去,你可能根本找不到封包是怎麼送出流入的。

基本上若是以同時考慮到維運簡化以及效能,比較建議的方式還是上面的架構二;架構三只是能夠把所有站點都提供南北向流量,但沒有保證Local egress,維運檢測極為麻煩。但如果老闆就是想要看到雙中心,就是想要看到每個站點都有Traffic進出呢?其實也沒有問題。上面的配置單位都是在Global T0 Gateway。如果企業的NSX Federation環境內有兩組以上的Global T0,此時就可以選擇有些應用對應的T0出入口走Location 1,其他應用對應的T0 Traffic走Location 2,像下面這樣的架構了。

接下來回到最前面的展示環境,我們選擇架構二的T0 A/A in Location P/S方式來建置。在下圖內是我在此展示環境內對應T0與外部環境的IP與路由配置方式:

在Global Manager內,我們分別在Global T0 Gateway內進行了下列的配置:

  • 於台北端對應兩個vlan uplink網段,設定共四個uplink IP address
  • 與台北端實體路由器間建立4個BGP Neighbor,即上圖的紅色線
  • 新竹端進行相同的配置

Global Manager內,我們在台北端這裡的配置抓圖如下,包含了T0對外的IP定址以及BGP Neighbor:

同樣的,下圖是在新竹端的配置:

上面的圖內大家可以看到,這個Lab內的設計,台北端的南北向是透過172.31.52.0以及172.31.53.0這兩條路徑往上傳,而新竹端的南北向是透過172.31.54.0與172.31.55.0兩條路往上傳。在NSX Federation的設計內,雖然各站點都會與上面建立BGP連線,但路由只會從Primary的T0往外送,Secondary的站點不會送出路由。在上面的場景內,外部的路由器只會透過BGP收到來自台北neighbor關於底層Segment的路由資訊,而不會由新竹那邊的neighbor收到。因為是Lab,上述台北 / 新竹的外部實體路由器我是用同一台來做,但也因此可以很簡單地看出,此架構下所有的南北向進出目前都是從台北走:

關於Federation內的路由架構簡述先到這邊,這裡我們沒有進行『站點切換』的動作,這會在後面網誌內進行交代。

在本篇我們主要都是在討論Federation架構內Global T0的配置,下一篇我們要說明Global T1以及Segment的部分。