Ethernet

獲得乙太網“透明”冗餘的最佳方法?

  • January 17, 2012

如果這是一個明顯的問題,我深表歉意,就冗餘網路而言,我是新手,我不確定Google的關鍵字是什麼。我的應用場景是這樣的:

  • 該系統由少量基於 Linux 的伺服器組成(從 1 到 20 不等)

  • 每台伺服器上都有兩個物理乙太網插孔

  • 系統在一個隔離的區域網路上執行——它沒有以任何方式連接到網際網路

  • 在每台伺服器上執行的(定制/內部)應用軟體通過持久的 TCP 連接和/或 UDP 多播與其他伺服器上的對等方進行通信。

  • 所有通信都通過 IPv6 進行

為了獲得網路冗餘,顯而易見的事情是擁有兩個高速乙太網交換機,並將每個 Linux 伺服器連接到兩個交換機。這樣,如果其中一個交換機發生故障,或者有人意外切斷了乙太網電纜,則可以通過另一條電纜/交換機繼續通信,並且系統將保持完整功能。

我的問題是,有沒有辦法讓冗餘對應用軟體 100% 透明?(通過透明,我的意思是應用程序軟體不必知道或關心有多個乙太網埠;理想情況下,它只會看到 eth0 而不是 eth1 ……並且如果數據停止流過其中一個兩個物理乙太網埠,無論出於何種原因,應用軟體都不必檢測故障或執行任何特殊操作即可繼續工作)。

額外的頻寬對我的目的並不重要(千兆乙太網的一個“通道”就足夠快了),但簡單性和可靠性才是。

你想要的Google果汁是“乙太網綁定”。這是一件藝術品。

如果您想要簡單性和可靠性,只需購買兩台支持多機箱鏈路聚合的交換機(供應商有自己的名稱,有時只是“堆疊”),並且每個交換機支持足夠的鏈路聚合來滿足您的需求。在交換機埠伺服器上設置LACP ,因此您的所有應用程序看到的是每個伺服器上的單個“bond0”介面。

Linux 還支持一種稱為“自適應負載平衡”的東西,它看起來仍然像應用層的一個“bond0”介面,但不使用 LACP,也不需要支持多機箱鏈路聚合的交換機(但交換機必須是跨連接良好的頻寬)。此模式使用 ARP 技巧將傳入流量引導到每個物理介面,而不是使用鏈路層綁定標準。它只需要沒有特殊功能的啞交換機,並且在我們使用 IPv4 的生產環境中執行良好,不確定 IPv6。

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