Load-Balancing

在呈現虛擬 IP 的單台機器上對多個 NIC 進行負載平衡

  • February 12, 2019

我繼承了一個網路設置,其中 NFS/Samba linux RAID 伺服器(“Ubuntu 14.04.5 LTS”)通過一個 NIC 為所有內容提供服務。結果,1Gb 網路頻寬飽和。

不幸的是,整個子網都通過它的直接 IP 連接到該伺服器。

我正在嘗試找到一種負載平衡解決方案,在該解決方案中,我可以將目前伺服器 IP 地址重新分配給虛擬伺服器 IP,並將流向該虛擬 IP 的流量通過駐留在同一(實際 NFS)中的兩個或多個 NIC 進行負載平衡伺服器。

目前,有一個傳統的交換機連接所有傳入的乙太網電纜,只有一根電纜連接到伺服器的 NIC。

到目前為止,我發現的唯一解決方案是Kemp LoadMaster LM-X3硬體解決方案。

我也研究了 LACP,但我不清楚這是否支持虛擬 IP。它似乎只聚合傳出的數據包(或仍然需要多個 NIC 才能擁有單獨的 IP)。雖然,也許對於這種用途 - 如果只對傳出數據包進行負載平衡就可以了。

有沒有更好的解決方案?

伺服器執行的是什麼風格的 Linux?你認為網路團隊可以工作嗎?這是介面綁定的更新版本。通過分組,您可以將多個介面加入到一個活動/活動、活動/備份或循環架構中的團隊中。團隊都將被視為相同的 L2 介面,並且 vIP 屬於團隊(父)虛擬介面。組合允許多個不同的“跑步者”(又名方法):

廣播——簡單的執行器,它指導團隊設備通過所有埠傳輸數據包。

roundrobin – 簡單的執行器,它指示團隊設備以循環方式傳輸數據包。

activebackup——監視鏈路變化並選擇一個活動埠用於數據傳輸。

(*) loadbalance – 為了進行被動負載平衡,執行器只設置 BPF 雜湊函式,該函式將確定數據包傳輸的埠。為了進行主動負載平衡,執行程序在可用埠之間移動雜湊以達到完美平衡。

lacp – 實現 802.3ad LACP 協議。可以使用與負載平衡執行器相同的 Tx 埠選擇可能性。

根據您的要求,我認為負載平衡執行器可以工作。這是一個很好的組合指南:https ://www.rootusers.com/how-to-configure-network-teaming-in-linux/

希望能幫助到你

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