Nfs

LACP NFS 性能混亂

  • September 28, 2016

背景資料:

所以我有一個 Ubuntu 14.04 伺服器(1 個千兆網卡)和一個 NAS(Synology DS1815+,4 個千兆網卡)。我會定期使用 Ubuntu 14.04 伺服器和我的網路之間的千兆位線路。大多數(但不是全部)流量都流向 NAS。NAS 作為 NFS 共享安裝在 Ubuntu 14.04 伺服器上。

我剛剛購買了一個 USB 3.0 雙千兆網卡適配器(尚未到貨)。我的計劃是將適配器連接到伺服器並將兩個網卡連接到 NAS。這將作為 NAS 和伺服器之間的直接連接。NAS 正式支持 LACP,USB 網卡適配器也是如此。

問題:

我正在嘗試了解 LACP 以及它與 NFS 的關係。我了解 LACP 不會簡單地將頻寬加倍,但我不確定我是否掌握平衡如何與 NFS 一起工作。關於通過專用連接在 NAS 和伺服器之間進行傳輸,這是我的問題:

LACP 是否會為從單個 NFS 共享的單個文件傳輸提供任何性能優勢?(從我閱讀的內容來看,它似乎不會,但只是確保)

LACP 是否會為來自單個 NFS 共享的多個同時文件傳輸提供任何性能優勢?

LACP 是否會對來自多個 NFS 共享的多個同時文件傳輸提供任何性能優勢?(好像會)

NAS 沒有正式支持 balance-rr,但如果它有效,那會是比 LACP 更好的選擇嗎?

另一種債券模式會更合適嗎?(從我閱讀的內容來看似乎不是這樣,但只是確保)

感謝您的幫助!

要回答您的問題:

LACP 是否會為從單個 NFS 共享的單個文件傳輸提供任何性能優勢?(從我閱讀的內容來看,它似乎不會,但只是確保)

不,它不會。LACP 將跨 NIC 傳播 TCP 會話,而您所描述的是單個會話。LACP 不像 bond-rr 那樣對流量進行條帶化(這有很多原因)。

LACP 是否會為來自單個 NFS 共享的多個同時文件傳輸提供任何性能優勢?

不,因為這仍然是通過單個會話發送的。

LACP 是否會對來自多個 NFS 共享的多個同時文件傳輸提供任何性能優勢?(好像會)

如果您的 NFS 客戶端配置為在掛載時生成多個會話,它可以。大多數是(通常預設為 8 個左右)。但是,根據您的 LACP 算法,情況可能並非如此。一些算法基於 MAC 地址(意味著來自客戶端的單個 NIC 永遠不會連接到伺服器上的多個 NIC)或通過會話傳播連接,這將允許這種流量在伺服器端的 NIC 之間傳播,因為多個創建的會話。

NAS 沒有正式支持 balance-rr,但如果它有效,那會是比 LACP 更好的選擇嗎?

在幾乎所有情況下,這絕對不會更好。balance-rr 適用於伺服器之間的點對點連接。當涉及到交換機或任何其他中間設備時,它會引入大量的抖動,因為接收端的流量是無序的。但是,它可以很好地用於節點間點對點同步網路。但是,它的擴展性非常大,所以我從來沒有在三個節點集群(頂部)之外看到它。

另一種債券模式會更合適嗎?(從我閱讀的內容來看似乎不是這樣,但只是確保)

LACP 是您現在可以使用的最智能的綁定模式。如果管理得當,它工作得非常好,並且可以非常優雅地處理故障轉移。

如果您希望通過單個“會話”跨網路連結進行數據條帶化,那麼 iSCSI 的多路徑可以很好地做到這一點。GlusterFS 也更有能力以 LACP 需要良好執行的方式傳播流量,並且它的行為類似於 NFS。不過,您真的無法擊敗 NFS 的簡單性。

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