Nfs

在 FreeBSD 上通過 Infiniband 進行文件共享

  • January 9, 2019

我有一對伺服器,我想直接相互連接——而不是通過網路其餘部分共享的交換機。我希望從直接連接(包括更大的 MTU)提供的更低延遲和更高頻寬中受益。

兩台機器目前都執行 FreeBSD-11.2,並且每台機器都有自己的帶有多個文件系統的 ZFS 池。快速交叉訪問這些文件系統是主要目標之一。

為此我買了一對二手卡(Mellanox IBM 46M2201 Dual Port ConnectX 4X),有以下問題:

  1. 我有哪些連接選項?主要目的是共享數據—— NFS 是我唯一的選擇,還是 FreeBSD 有 Infiniband 特有的東西?
  2. 如果是 NFS,它是否必須通過 IP,或者是否有一些“更親密”的 Infiniband 特定協議?
  3. 如果是 NFS over IP,我應該選擇 UDP 還是 TCP?任何其他調整參數可以從直接連接中獲得最大收益?
  4. 我需要什麼類型的電纜來直接連接這些?令我驚訝的是,搜尋“infiniband cable”返回了各種具有不同連接器的產品。在此處輸入圖像描述

非常感謝您提前提供任何見解。如果有一個線上文件(其中一些)回答了這些問題,我很樂意獲取連結——我能找到的所有內容似乎都是特定於供應商的……

(為什麼這個關於連接伺服器的問題在**Serverfault上被認為是“離題” ?)

我沒有 1-3 的答案,只有一些關於 Infiniband(IB) 應用程序的附加資訊可以幫助您找到答案。我可以回答4。

  1. 我的連接選項是什麼?主要目的是共享數據—— NFS 是我唯一的選擇,還是 FreeBSD 有 Infiniband 特有的東西?

  2. 如果是 NFS,是否必須通過 IP,或者是否有一些“更親密”的 Infiniband 特定協議?

要尋找的關鍵詞可能是 NFS over RDMA,但快速搜尋表明它對於 FreeBSD 可能還不完整。您也可以查看 SRP 或 iSER,但我沒有發現對使用這些 IB 協議的任何應用程序的引用。

  1. 如果是 NFS over IP,我應該選擇 UDP 還是 TCP?任何其他調整參數可以從直接連接中獲得最大收益?

TCP。根據FreeBSD IB Wiki,作為 IB 配置的一部分,您正在設置連接模式,這類似於使用 TCP。至少在 Linux 世界中,當使用連接模式時,您應該只使用 NFS over TCP 而不是 UDP。NFS over UDP 只應在使用數據報模式時進行,不推薦。

  1. 我需要什麼類型的電纜直接連接這些?令我驚訝的是,搜尋“infiniband cable”返回了各種具有不同連接器的產品。

您需要一根“QDR”電纜,它是“Quad Data Rate”或 40Gbps 的縮寫。ConnectX-3 卡執行 FDR,它是“十四數據速率”或 56Gbps(14Gbps*4 通道)的縮寫。任何一條電纜都應該適用於您的卡。

您可以購買 Mellanox 品牌的電纜,在這種情況下您知道它會起作用,或者您可以獲得非品牌電纜。我喜歡 3M 品牌的電纜。它們是一種扁平電纜,支持非常尖銳的彎曲半徑,允許您在非常小的空間內堆疊一堆電纜而不會產生任何串擾。二手 Mellanox QDR 電纜在 eBay 上應該非常便宜。我從來沒有買過二手的,但如果你這樣做,你必須得到一根經過測試的電纜——如果你沒有一個可以比較的工作系統,那很難排除故障。

有兩種類型的電纜 - 無源(銅)或有源(光纖)電纜。光纖電纜永久連接到 QSFP 連接器,因此您必須將它們設置為特定長度。銅的最大長度為 3 米,或者可能長達 5 米 - 更長,您必須使用光纖電纜。在所有東西都 100% 使用銅線工作之前,不要使用光纜。由於硬體中的奇怪故障模式,我已經看到銅線工作正常但光纖不能正常工作的情況。消除這種可能性,直到您有經驗和零件清單以進行故障排除。

現在,還有一些您沒有要求但可能會有所幫助的其他提示。首先,確保您在其中一個系統上執行 opensm。把它想像成一個 dhcp 伺服器;沒有它,兩個系統將物理連接,但不會傳遞任何數據。

其次,一些Mellanox 卡將在 IB 模式或乙太網模式下執行。這些通常是 VPI 系列卡。我不確定這是否是 ConnectX-2 上的一個選項,或者您的卡是否支持它。但如果他們這樣做了,讓這些卡作為 40GBE 而不是 QDR IB 執行並具有良好的 NFS 性能可能會更容易。根據我在 Linux 上的經驗,我們看到 IPoIB 的性能約為線速的 20-30%。您將通過 RDMA 等 IB 協議或切換到乙太網模式獲得線速。

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