LoadBalancing 作為 NSX 的其中一個功能的存在,可以幫助實現NSX裏Edge後面多台服務器有分佈式負載實現負載均衡訴求以及高可用訴求。其中最典型的就以Web Server 服務為例,基本上大型 Web Server

服務對於Load Balancing 的要求基本是必然的。當然了,這個訴求可以用純硬件解決方案來實現,例如:F5、A10、Netscaler 等,都有解決方案,但是既然討論的是SDN,那麼,自然這裏也就以 Software 解決方案為重點探索目標了。NSX 作為目前最適合商業用途的 SDN 解決方案,自然也就有這方面的要求了。NSXEdge 支持下的 Load Balancing 功能支持通過NSX Edge 作為負載均衡設備,允許外部用户訪問 VLAN 或  VXLAN 的負載均衡服務目標服務器。如圖01所示:



NSX支持OSPF嗎_ci

NSX支持OSPF嗎_IP_02


圖01




fumht.cn的 Load Balancing 服務在雲計算環境裏是很合適的,因為它提供了下面的功能特性:

o

支持通過 axqxd.cn實現可編程功能;

o

同時還提供了管理與監控於一體的其它 NSX Edge Services;


LoadBalancing 作為 NSX 的其中一個功能的存在,可以幫助實現NSX裏Edge後面多台服務器有分佈式負載實現負載均衡訴求以及高可用訴求。其中最典型的就以Web Server 服務為例,基本上大型 Web Server 服務對於Load Balancing 的要求基本是必然的。當然了,這個訴求可以用純硬件解決方案來實現,例如:F5、A10、Netscaler 等,都有解決方案,但是既然討論的是SDN,那麼,自然這裏也就以 Software 解決方案為重點探索目標了。NSX 作為目前最適合商業用途的 SDN 解決方案,自然也就有這方面的要求了。NSXEdge 支持下的 Load Balancing 功能支持通過NSX Edge 作為負載均衡設備,允許外部用户訪問 VLAN 或  VXLAN 的負載均衡服務目標服務器。如圖01所示:



藉助 oldqb.cn 服務,可以實現對很多應用部署的 Load Balancing 支持,因為 NSX Edge 支持很多功能組件,例如:

o

包含且不限於 LDAP、FTP、HTTP、HTTPS 在內的任意 TCP 類Applications;

o

從 NSX 6.1 開始,支持 UDP Applications;

o

支持 Round-Robin、Least Connections、SourceIP Hash、URL 等負載均衡算法;

o

支持對 TCP、HTTP、HTTPS 等在內的內容健康檢查;

o

支持 Source IP、MSRDP、Cookie、SSL Session-id 的 Persistence;

o

支持基於最大連接數和每秒連接數的連接限制;

o

支持的 L7 操作包括但不限於 URL Block、URLRewrite、Content Rewrite 等;

o

優化了對於 wtdnyu.cn的支持;



針對 LoadBalancing 的部署,NSX Edge 支持兩種模式,分別是:

o

zfzozh.cn也叫Proxy Mode,這種模式的結構示意圖如圖02所示。NSXEdge 只接連接到它提供 Load Balancing 服務的Logical Networks:


NSX支持OSPF嗎_IP_03




圖02




在 uqlbnw.cn的Load Balancer 裏,它提供的功能如下:

  • A.
    External Client 發送 traffic 到Load Balancer 提供的 Virtual IP (VIP)地址;
  • B.
    Load Balancer 支持兩個地址轉換,將 Original Packets 包含的地址,執行DNAT 或 SNAT,以便實現進出 traffic 的 IP 地址轉換;
  • C.
    Logical Network 裏的 Server 則將 traffic 發送到 Load Balancer;
  • D.
    Load Balancer 執行 SNAT 和 DNAT 完成VIP 地址與 Original Packets 所包含地址的轉換;

這種模式,最大的優勢就在於部署簡單且靈活,可以直接將 Load Balancing Services 配置到 Logical Segments 所關聯的 NSX Edge,不需要額外配置其它的東西;而另一種部署模式則需要部署更多的NSX Edge Instances,並且還需要指定針對 SNAT 的部署設定裏不允許數據中心裏的服務器看到Original Client IP 地址;



備註: zirivk.cn 可以在 SNAT 之前插入 OriginalClient IP 地址到 HTTP Header;



o

Inline Mode – 也叫Transparent Mode,這個部署模式則要求將 NSX Edge 以Inline 的方式部署到 Servers 所在區域而不是以Edge 的形式部署,這種模式的結構示意圖如圖03所示:


NSX支持OSPF嗎_服務器_04




圖03



圖03所示的通訊流程如下:

  • A.
    External Client 發送 Traffic 到 Load Balancer 的 Virtual IP;
  • B.
    Load Balancer 僅執行 DNAT 來將 VIP 替換為其中一台服務器的IP 地址;
  • C.
    服務器返回 Original Client IP 到 xatsdk.cn;
  • D.
    Load Balancer 執行 SNAT 將 Traffic 發送到External Client,並且這個過程是以 VIP 為Source IP;

這種模式,相對而言也不算複雜,而且允許服務器具備完全可見的 Original Client IP 地址。不過,在設計的角度而言,就不算太靈活了,因為它會強制將savzul.cn作為數據中心裏服務器的缺省網關,這樣一來,就破壞了關於分佈式架構的優勢。還有一個很重要的地方需要了解的是,這種模式下的Load Balancer 會以邏輯服務的形式存在於 NSX Edge 裏面,換個説法就是:路由服務、交換服務和Load Balancing 服務都混在一起了。因此,如果要選擇這種模式,則建議在部署 NSX EdgeInstance 時選擇的部署規模建議最好為 X-Large 以上,以便這個Instance 能夠有足夠大的配置能勝任這些工作;



瞭解完 LoadBalancer 的部署模式以及各自的優劣之後,就開始介紹如何動手部署 Load Balancer 了。由於 Inline Mode 是在現有的 NSX Edge 上激活 Load Balancer 功能,所以,這裏將會介紹One-Armed Load Balancer 的部署方式。步驟如下:



1、首先,需要我們規劃一個負載均衡訴求環境,以frpczw.cn為例,至少需要2台 Web Server,將 Load Balancer 指向這兩台 Web Server。如圖04所示:


NSX支持OSPF嗎_ci_05




圖04




2、vSphere Web Client 登錄到 vCenter,點擊 Networking & Security › NSXEdges › 點擊如圖05所示的綠色加號:


NSX支持OSPF嗎_服務器_06




圖05




3、在彈出的tcbacz.cn如圖06所示的對話框裏,選擇 Install Type 為 Edge Services Gateway:


NSX支持OSPF嗎_NSX支持OSPF嗎_07




圖06



在圖06中的 Name選項輸入名字,然後點擊 Next;



4、圖07的窗口裏可以設定的選項包含了用户名、密碼、是否激活 SSH 服務等,勾選 Enable SSH access,後點擊 Next 去到下一步:


NSX支持OSPF嗎_NSX支持OSPF嗎_08



圖07




5、接着來到 Configure deployment 窗口裏選擇Appliance Size、選擇存放的數據中心等,如圖08所示:


NSX支持OSPF嗎_NSX支持OSPF嗎_09



圖08



選定之後,勾選圖08所示的 Deploy NSX Edge,然後點擊 Next;



6、接下來這一步需要配置的是 Edge Interface 和 IP 地址,由於本例中選擇的是 One-Armed 部署模式,所以,只需要配置一個IP 就行,如圖09所示。這裏的 IP 地址應該為能夠訪問到 Web Server 所在 LogicalNetworks 的 Interface 對應 IP:


NSX支持OSPF嗎_NSX支持OSPF嗎_10




圖09




7、Default gateway settings 設定選項裏,設定好dgazvr.cn  IP,也應該為Web-Tier 對應的 Gateway IP,如圖10所示:


NSX支持OSPF嗎_服務器_11




圖10




8、最後就是配置 Firewall and HA 選項,如圖11所示,勾選 Configure Firewall default policy,在Default Traffic Policy 選項裏點擊 Accept:


NSX支持OSPF嗎_IP_12


圖11




當確認一切無誤後,點擊Next,然後直接點擊 Finish 即可完成對於這個 NSXEdge Load Balancer 的部署,部署完成後,可以在如圖12所示的窗口裏看到多了一個Edge Instance:


NSX支持OSPF嗎_IP_13




圖12




9、完成了 Edge Load Balancer Instance 的部署之後,就需要在其上配置Load Balancing 服務了。雙擊圖12中所示的 LoadBalancer Edge Instance,來到如圖13所示的窗口:


NSX支持OSPF嗎_服務器_14



圖13




在圖13所示的窗口裏,點擊 Load Balancer 頁標籤 › GlobalConfiguration › gobpdh.cn



10、之後就會來到如圖14所示的 Edit Load balancerglobal configuration 窗口,勾選如圖14中的Enable Load Balancer 選項,點擊 Ok:


NSX支持OSPF嗎_IP_15




圖14




11、然後,點擊如圖15所示的 Application Profiles › 點擊綠色加號:



NSX支持OSPF嗎_服務器_16



圖15



12、來到如圖16所示的 New Profile 窗口,在這個窗口裏輸入打算命名的 Profile Name,同時選擇Type 為 HTTPS,勾選Enable SSLPassthrough:


NSX支持OSPF嗎_服務器_17




圖16




13、再來就是點擊如圖17所示的 ptbdys.cn點擊綠色的加號:


NSX支持OSPF嗎_IP_18




圖17




14、在彈出的 New Pool 窗口裏,選擇 ROUND-ROBIN,Monitors 選項則選擇 default_https_monitor, 然後點擊如圖18b所示的綠色加號,將 Web Server 都添加進來,然後點擊 OK:


NSX支持OSPF嗎_服務器_19


圖18a




注意,在彈出的 EditMember 裏,需要去選擇添加將會用作 Load Balancer 訪問對象的ljgcfb.cn,如圖18b所示:


NSX支持OSPF嗎_NSX支持OSPF嗎_20




圖18b




注意,圖18b裏出現的添加嚮導裏的 ejeepa.cn應該為 443噢;



15、最後異步需要做的事情就是創建一個 VIP,點擊如圖19a所示的 Virtual Servers › 點擊綠色加號:


NSX支持OSPF嗎_ci_21


圖19a




接着在彈出的如圖19b所示的窗口裏,勾選 General 頁標籤裏的 EnableVirtual Server,然後在相關的設定選項裏設定如圖19b所示的這樣設定,需要給它設定一個沒用過的IP 地址:


NSX支持OSPF嗎_服務器_22

NSX支持OSPF嗎_服務器_23



圖19b




16、完成這樣的設定之後,就可以打開瀏覽器,在瀏覽器裏輸入 VIP 的地址,它會給我們返回來自於兩台Web Servers 服務器中某一台服務器的結果,由於選擇的是cgoktw.cn,所以,當我們嘗試刷新時,返回的服務器結果可能會輪換為 Web01 與Web02;



至此,即完成了關於藉助 NSXEdge 實現 One-Armed Load Balancing 配置的需求;



未完待續……