Windows Server 2019 網(wǎng)絡(luò)負載均衡服務(wù)配置與管理(理論+網(wǎng)絡(luò)拓撲及說明)
介紹了負載均衡的基本概念(包括負載均衡的定義,有無負載均衡器的拓撲對比,負載均衡的工作原理,負載均衡的三要素),網(wǎng)絡(luò)負載均衡的特性,集群部署要求,網(wǎng)絡(luò)拓撲以及說明。
1. 負載均衡的基本概念1.1 負載均衡的定義Load balancing,將網(wǎng)絡(luò)請求或其他形式的負載“均攤”到不同的計算機上,達到最優(yōu)化資源使用、最大化吞吐率、最小化響應(yīng)時間和避免過載的目的。配置服務(wù)器負載均衡可以避免集群中部分服務(wù)器壓力過大,而另一些服務(wù)器比較空閑的情況。負載均衡可分為軟件負載均衡和硬件負載均衡。
示例:
(1)一個沒有負載均衡的Web服務(wù)架構(gòu)
問題:如果大量用戶同時訪問該Web服務(wù)器,或遭受DOS/DDOS攻擊,該服務(wù)器可能出現(xiàn)宕機情況,這時候普通用戶將無法正常訪問,服務(wù)中斷,可能造成大量損失。
(2)加入負載均衡器的Web服務(wù)架構(gòu)
在服務(wù)器集群中加入負載均衡器后,負載均衡器可根據(jù)負載均衡算法將用戶請求轉(zhuǎn)發(fā)到服務(wù)器集群中空閑的服務(wù)器中。(具體請查閱1.2小節(jié))負載均衡器可以是軟件也可以是硬件。
1.2、負載均衡的工作原理負載均衡器通過更改請求的目的地址對請求進行轉(zhuǎn)發(fā),在服務(wù)器返回數(shù)據(jù)包的時候,更改返回數(shù)據(jù)包的源地址,保證客戶端請求的目的和返回包是同一個地址。
具體示例
某游戲運營商申請到一個公網(wǎng)IP1.1.1.1,玩家的用戶登錄驗證需要連接這個地址,玩家請求數(shù)據(jù)包會先通過防火墻,達到負載均衡器。負載均衡器根據(jù)其內(nèi)置算法決定玩家將連接哪一臺服務(wù)器進行登錄驗證,這里假設(shè)負載均衡器將該玩家分配給Web服務(wù)器1。接著負載均衡器將用戶請求數(shù)據(jù)包中的目的地址換成對應(yīng)的Web服務(wù)器1的IP地址,Web服務(wù)器的IP地址可能是內(nèi)網(wǎng)IP地址(例如192.168.82.223),玩家的請求數(shù)據(jù)包會到達Web服務(wù)器1上進行驗證。
內(nèi)置算法即決定服務(wù)器集群中哪臺服務(wù)器可以處理用戶請求。例如,有A、B、C三臺服務(wù)器,服務(wù)器A使用率已經(jīng)達到60%,服務(wù)器B和服務(wù)器C使用率均為0%,且正常運行時,負載均衡器中的內(nèi)置算法將用戶請求轉(zhuǎn)發(fā)到服務(wù)器B或服務(wù)器C中,具體需要查看B和C哪臺服務(wù)器的優(yōu)先級更高。
當驗證成功后,Web服務(wù)器1會發(fā)送一個響應(yīng)數(shù)據(jù)包返回給負載均衡器,負載均衡器會將收到數(shù)據(jù)包中的源地址由192.168.82.223改為1.1.1.1,再把響應(yīng)數(shù)據(jù)包發(fā)送給玩家。
這樣就保證了用戶的請求目的地址和響應(yīng)數(shù)據(jù)包的源地址是同一個地址。
1.3、負載均衡三要素包括分發(fā)策略、會話保持和服務(wù)器健康檢查。
(1)分發(fā)策略
指負載均衡設(shè)備,根據(jù)什么樣的策略(即算法)把請求分發(fā)到不同的后臺服務(wù)器上,最簡單的算法是輪巡,把用戶請求依次分配到服務(wù)器上。
(2)會話保持
在大部分的應(yīng)用中都會涉及到服務(wù)器 Session控制。而且這些Session通常不會在服務(wù)器之間進行復制的。即用戶A在登錄時負載均衡器將其分配到服務(wù)器1處理,那么以后所有關(guān)于用戶A的所有請求都將會轉(zhuǎn)發(fā)到服務(wù)器1中,而不會轉(zhuǎn)發(fā)到其他服務(wù)器上。如果分配到其他服務(wù)器上,其他服務(wù)器上沒有關(guān)于A的記錄,會導致請求失敗。
最簡單的會話保持策略是源地址會話保持。
(3)服務(wù)器健康檢查
指負載均衡設(shè)備必須檢測后臺服務(wù)器是否在正常工作,如果有某臺服務(wù)器出現(xiàn)故障,無法正常工作,那么負載均衡器會把這臺服務(wù)器從負載均衡組中剔除。當故障服務(wù)器恢復時,再把該服務(wù)器重新加載到負載均衡組中。
2. Windows Server Network Load Balancing(網(wǎng)絡(luò)負載均衡)NLB增強了Internet服務(wù)器應(yīng)用程序的可用性和可伸縮性,例如在Web,F(xiàn)TP,防火墻,代理,虛擬專用網(wǎng)(VPN)和其他關(guān)鍵任務(wù)服務(wù)器上使用網(wǎng)絡(luò)負載平衡服務(wù)。
網(wǎng)絡(luò)負載平衡(NLB)特性是通過使用TCP/IP協(xié)議在多個服務(wù)器之間分配流量。通過將運行應(yīng)用程序的兩臺或多臺服務(wù)器合并到一個虛擬集群中,NLB為web服務(wù)器和其他關(guān)鍵任務(wù)服務(wù)器提供了可靠性和性能。
NLB集群中的服務(wù)器稱為主機,每個主機都運行著相同服務(wù)的單獨副本。NLB會將客戶端的請求轉(zhuǎn)發(fā)到集群中的各個主機上。系統(tǒng)管理員可以配置由每個主機處理客戶端請求。還可以動態(tài)地向集群添加主機來處理增加的負載。NLB還可以將所有流量定向到指定的主機中,該主機稱為默認主機。
NLB允許群集中的所有服務(wù)器使用相同的IP地址集進行尋址,并且為每個主機維護一組唯一的專用IP地址。對于負載平衡的應(yīng)用程序,當主機發(fā)生故障或脫機時,負載會自動在正常工作的服務(wù)器之間重新分配。準備就緒后,脫機的服務(wù)器可以透明地重新加入群集并重新獲得其工作負荷的份額,這使群集中的其他計算機可以處理較少的流量。
2.1 特性Windows Server 的網(wǎng)絡(luò)負載均衡有三個重要特性,包括高可用性、可擴展性和可管理性。
(1)高可用性
高可用性系統(tǒng)可靠地提供了可接受的服務(wù)水平,并且停機時間最少。為了提供高可用性,NLB包括內(nèi)置功能,這些功能可以自動:
檢測發(fā)生故障或脫機的群集主機,然后進行恢復。添加或刪除主機時,平衡網(wǎng)絡(luò)負載。在10秒之內(nèi)恢復并重新分配工作負載。 (2)可擴展性
可伸縮性是衡量計算機,服務(wù)或應(yīng)用程序在滿足不斷增長的性能要求的能力的度量。對于NLB群集,可伸縮性是當群集的整體負載超過其能力時,可以向現(xiàn)有群集中增量添加一個或多個系統(tǒng)的能力。為了支持可伸縮性,系統(tǒng)管理員可以對NLB執(zhí)行以下操作:
平衡NLB群集中各個TCP / IP服務(wù)的負載請求。單個群集中最多支持32臺服務(wù)器。在群集中的多個主機之間平衡多個服務(wù)負載請求(來自同一客戶端或來自多個客戶端)。隨著負載增加,將主機添加到NLB群集中,而不會導致群集發(fā)生故障。當負載降低時,可以從群集中刪除主機。通過完整的流水線實施實現(xiàn)高性能和低開銷。流水線化允許將請求發(fā)送到NLB群集,而無需等待對先前請求的響應(yīng)。 (3)可管理性
為了支持可管理性,系統(tǒng)管理員可以對NLB執(zhí)行以下操作:
通過使用Windows PowerShell中的網(wǎng)絡(luò)負載平衡(NLB)Cmdlet 或NLB管理器,可以在一臺服務(wù)器管理和配置多個NLB群集和群集主機。使用端口管理規(guī)則為單個IP端口或一組端口指定負載平衡行為。為每個網(wǎng)站定義不同的端口規(guī)則。如果將同一組負載平衡服務(wù)器用于多個應(yīng)用程序或網(wǎng)站,則端口規(guī)則基于目標虛擬IP地址(使用虛擬群集)。使用可選的單主機規(guī)則將所有客戶端請求定向到單臺主機時。NLB將客戶端請求路由到運行特定應(yīng)用程序的特定主機。阻止對某些IP端口的網(wǎng)絡(luò)訪問。在多播模式下運行時,請在群集主機上啟用Internet組管理協(xié)議(IGMP)支持,以控制交換機端口泛洪(將傳入網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送到交換機上的所有端口)。使用Windows PowerShell命令或腳本遠程啟動,停止和控制NLB操作。查看Windows事件日志以檢查NLB事件。NLB將所有操作和群集更改記錄在事件日志中。
2.2 部署NLB服務(wù)群集的要求(1)硬件要求 群集中的所有主機必須位于同一子網(wǎng)中。每個主機上的網(wǎng)絡(luò)適配器數(shù)量沒有限制,并且不同的主機可以具有不同數(shù)量的適配器。在每個群集中,所有網(wǎng)絡(luò)適配器必須是多播或單播的。NLB在單個群集中不支持多播和單播的混合環(huán)境。如果使用單播模式,則用于處理客戶端到群集流量的網(wǎng)絡(luò)適配器必須支持更改其媒體訪問控制(MAC)地址。
(2)軟件要求 在每個主機上啟用了NLB的適配器上只能使用TCP/IP。請勿將任何其他協(xié)議(例如IPX)添加到此適配器。群集中服務(wù)器的IP地址必須是靜態(tài)的。
NLB不支持動態(tài)主機配置協(xié)議(DHCP)。NLB會在其配置的每個接口上禁用DHCP。
3. 網(wǎng)絡(luò)拓撲及說明右側(cè)三臺服務(wù)器構(gòu)成服務(wù)器集群,統(tǒng)一為外界提供Web服務(wù),其Web服務(wù)聚合IP地址為10.0.0.1.同時每臺服務(wù)器上均安裝網(wǎng)絡(luò)負載均衡(Network Load Balancing,NLB)形成集群負載均衡。三臺服務(wù)器的內(nèi)網(wǎng)IP地址分別為:
NLB1:192.168.82.208NLB2:192.168.82.209NLB3:192.168.82.210
左側(cè)為客戶端電腦PC2,IP地址為10.0.0.2。PC2通過10.0.0.2訪問服務(wù)器集群NLB1-3提供的Web服務(wù)。
參考資料什么是負載均衡?
Microsoft Docs:
Network Load Balancing
相關(guān)文章:
1. 最新window server 2012搭建FTP服務(wù)的詳細步驟2. Windows server 2019 如何安裝IIS并勾選正確參數(shù)3. intellij idea 使用Tomcat部署的項目位置在哪4. 刪除 Tomcat webapps 目錄自帶項目方式詳解5. Windows Server 2019 IIS10.0+PHP(FastCGI)+MySQL環(huán)境搭建教程6. vsftpd的530 Login incorrect錯誤解決方法 vsftpd登錄錯誤7. Windows下使用virtualenv創(chuàng)建虛擬環(huán)境的方式(兩種)8. nginx rewrite參數(shù)解析9. Nginx配置Tcp負載均衡的方法10. Apache中偽靜態(tài)Rewrite的使用方法和URL重寫規(guī)則表達式講解
