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所示:
圖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:
圖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所示:
圖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所示:
圖04
2、vSphere Web Client 登錄到 vCenter,點擊 Networking & Security › NSXEdges › 點擊如圖05所示的綠色加號:
圖05
3、在彈出的tcbacz.cn如圖06所示的對話框裏,選擇 Install Type 為 Edge Services Gateway:
圖06
在圖06中的 Name選項輸入名字,然後點擊 Next;
4、圖07的窗口裏可以設定的選項包含了用户名、密碼、是否激活 SSH 服務等,勾選 Enable SSH access,後點擊 Next 去到下一步:
圖07
5、接着來到 Configure deployment 窗口裏選擇Appliance Size、選擇存放的數據中心等,如圖08所示:
圖08
選定之後,勾選圖08所示的 Deploy NSX Edge,然後點擊 Next;
6、接下來這一步需要配置的是 Edge Interface 和 IP 地址,由於本例中選擇的是 One-Armed 部署模式,所以,只需要配置一個IP 就行,如圖09所示。這裏的 IP 地址應該為能夠訪問到 Web Server 所在 LogicalNetworks 的 Interface 對應 IP:
圖09
7、Default gateway settings 設定選項裏,設定好dgazvr.cn IP,也應該為Web-Tier 對應的 Gateway IP,如圖10所示:
圖10
8、最後就是配置 Firewall and HA 選項,如圖11所示,勾選 Configure Firewall default policy,在Default Traffic Policy 選項裏點擊 Accept:
圖11
當確認一切無誤後,點擊Next,然後直接點擊 Finish 即可完成對於這個 NSXEdge Load Balancer 的部署,部署完成後,可以在如圖12所示的窗口裏看到多了一個Edge Instance:
圖12
9、完成了 Edge Load Balancer Instance 的部署之後,就需要在其上配置Load Balancing 服務了。雙擊圖12中所示的 LoadBalancer Edge Instance,來到如圖13所示的窗口:
圖13
在圖13所示的窗口裏,點擊 Load Balancer 頁標籤 › GlobalConfiguration › gobpdh.cn
10、之後就會來到如圖14所示的 Edit Load balancerglobal configuration 窗口,勾選如圖14中的Enable Load Balancer 選項,點擊 Ok:
圖14
11、然後,點擊如圖15所示的 Application Profiles › 點擊綠色加號:
圖15
12、來到如圖16所示的 New Profile 窗口,在這個窗口裏輸入打算命名的 Profile Name,同時選擇Type 為 HTTPS,勾選Enable SSLPassthrough:
圖16
13、再來就是點擊如圖17所示的 ptbdys.cn點擊綠色的加號:
圖17
14、在彈出的 New Pool 窗口裏,選擇 ROUND-ROBIN,Monitors 選項則選擇 default_https_monitor, 然後點擊如圖18b所示的綠色加號,將 Web Server 都添加進來,然後點擊 OK:
圖18a
注意,在彈出的 EditMember 裏,需要去選擇添加將會用作 Load Balancer 訪問對象的ljgcfb.cn,如圖18b所示:
圖18b
注意,圖18b裏出現的添加嚮導裏的 ejeepa.cn應該為 443噢;
15、最後異步需要做的事情就是創建一個 VIP,點擊如圖19a所示的 Virtual Servers › 點擊綠色加號:
圖19a
接着在彈出的如圖19b所示的窗口裏,勾選 General 頁標籤裏的 EnableVirtual Server,然後在相關的設定選項裏設定如圖19b所示的這樣設定,需要給它設定一個沒用過的IP 地址:

圖19b
16、完成這樣的設定之後,就可以打開瀏覽器,在瀏覽器裏輸入 VIP 的地址,它會給我們返回來自於兩台Web Servers 服務器中某一台服務器的結果,由於選擇的是cgoktw.cn,所以,當我們嘗試刷新時,返回的服務器結果可能會輪換為 Web01 與Web02;
至此,即完成了關於藉助 NSXEdge 實現 One-Armed Load Balancing 配置的需求;
未完待續……