Windows

微軟 NLB 的配置

  • February 3, 2021

我有一個託管在 VM server2012r2 上的應用程序。此應用程序有一個執行 .NET 5 (Kestrel) 的 Web 元件。可通過http://<serverip>:808或訪問 Webpart https://<serverip>:4434

我已經設置了第二個 VM,即 2019 年伺服器。該應用程序也安裝在那裡(.NET 5,Kestrel),也可以通過埠 http:808 或 https:4434 在伺服器上訪問 webpart。

該應用程序的配置方式使其指向同一個數據庫等……

所以基本上它是兩個應用程序一起工作,但都可以通過自己的門戶訪問。

我唯一的問題是有兩個指向相同的門戶:

http://<server2012>:808和 http://:808`

(或者對於埠 4434 的 https 相同)。

我的想法是啟用 Microsoft 網路負載平衡器,以便

**(A)**最終使用者只需訪問http://<something>:808https://<something>:4434代替記住兩個門戶 IP 之一;

**(B)**流量在兩者之間進行負載平衡(如果一個不可訪問,它會轉到可用的一個(我不確定 nlb 是否能夠做到這一點?))。

我遵循了一個教程,因為這是我第一次使用 microsoft nlb。https://www.serverlab.ca/tutorials/windows/web-servers/load-balancing-web-servers-with-windows-server-2012-r2/

我面臨的問題是,當我使用參數、IP 地址(192.168.0.88)和完整的網際網路名稱(nlbtest.com)創建一個新集群並為集群 IP 192.168.0.88 添加一個從 808 到 808 的 TCP 埠時我無法再通過遠端桌面訪問我的伺服器。

伺服器 2012r2(VM 1 NIC):192.168.0.90在http://192.168.0.90:808https://192.168.0.90:4434

上執行 kestrel Web 應用程序

伺服器 2019(VM 1 NIC):192.168.0.91在http://192.168.0.91:808>或<https://192.168.0.91:4434

上執行 kestrel Web 應用程序

群集 IP:192.168.0.88 用於 TCP 埠 808

當我通過 microsoft nlb 在 server2012r2 上配置它時,我不再有任何連接。我只能在主機上使用 hyper-v 管理器來訪問虛擬機,而在虛擬機中我無法再 ping 或上網。

我在做什麼明顯錯了?

這可能是因為您在單播模式下執行 NLB,而伺服器中只有一個 NIC。每次打開 NLB 管理界面時,其實都有一個警告:

在所有網路都綁定到 NLB 的系統上執行 NLB 管理器可能無法按預期工作。如果所有介面都設置為以“單播”模式執行 NLB,則 NLB 管理器將無法連接到主機。

因此,要麼使用 NLB 介面,正如您的文章還建議的那樣,要麼使用多播模式。兩種模式都有其優點和缺點,這取決於您的網路基礎設施您應該喜歡哪種模式。

閱讀:https ://docs.microsoft.com/en-us/troubleshoot/windows-client/networking/configure-network-to-support-nlb-operation-mode

引用自:https://serverfault.com/questions/1052270