ページ ツリー

比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

...

MellanoxがもともとRHELベースのシステムで使うことをメインにしているため、Debianで使おうとすると詳細なドキュメントがあるMellanox_OFEDが使えず割と地獄を見たので備忘録です。

コンテンツ

目次
minLevel3


Linuxで使うためのIBハードウェア選定

使うハードウェアは新しければ新しいほど良いとは思いますが、NFSoRDMA/SRPなどのストレージとして使うのであればConnectX-3あたりで十分です。

また、速度もFDRやEDRが使えるに越したことはありませんが、現実問題としてはQDRあれば十分です。


QDRの40Gbpsで10b8b税を払うと実効で32Gbpsとなり、IBのポート1つあたりPCIE3.0x4のNVMeの速度を得られることになります。

PCIE3.0x8の理論値が64Gbpsなので、QDR2ポートになると80Gbpsとなり帯域に対して80%と若干足りなくなりますが、RDMAとマルチパスが正しく使えればQDRでも実測51Gbpsくらい出ます。

PCIE x16スロットを使うことを前提とするならConnect-IBのOEMであるIBMのEC33というHCAがお得です。(2025/09現在)

Image Added

ConnectX3でもFDRなものを揃えられれば、FDRからエンコードが10b8bから64b66bになりオーバーヘッドが20%から約3%となるので、1ポートあたり理論値32Gbpsから52Gbpsとなり向上幅は多いです。

ただし、FDRでリンクするにはケーブル自体にFDR対応というEEPROMが入ったケーブルが必要になるので、このケーブルの本数を揃えるのが地味にコストになります。


QDRで我慢するなら、たまに投げ売られているSASケーブルとしてのQSFPケーブルが使えるので、大幅にコストを抑えることができる可能性があります。

こちらの環境では、かなり昔にebayで捨て値で買った44本入りのX6559-R6をいまだに使っています。

5mという長さとケーブルの太さに若干後悔しているものの、利用上は特に問題は起きていません。(ケーブリングの問題は起きている)


流石にConnectX-2はPCIE2.0(QDR1ポート分でPCIE2.0x8と同等)と規格が古すぎるのでおすすめしませんが、Linuxでは未だに動くので、めちゃくちゃ安ければ1対1で繋いで検証するためのスターターキットとして使うことは可能だと思います。

ホントにおすすめしませんが、Infinihostという古代のHCAでもなんとLinuxでは未だに動くので、廃棄物の中にあるのを見つけたら試してみてもいいかもしれません。CX4ケーブルの入手性が問題になりますが…。


CPUなどについては、ストレージホストとして使う場合、RDMAの効果でCPUはそこまで使わないので、Xeon E3-v2やコア数が少なくてもクロックの高いXeon E5-v2あたりでも十分な速度が出ます。

どちらかというとPCIE3.0以上のレーン数をどれだけ持っているかと、aryncの場合バッファとして吸収できるメモリをどれだけ使えるか、という方が効いてくるので、メモリマシマシなXeon E5 v4-初代XeonSPあたりが安くていいでしょうか。

使い方にもよりますが、NFSの処理が1コアに偏るので少コア高クロックなCPUのほうがおすすめです。こちらの環境では256GBメモリを積んだXeon  W-2225がメインのストレージマシンとして動いています。

どれだけ予算を組むかによりますが、自宅ラボでPVEでInfiniband+NFSoRDMAを使う というような用途をメインとする場合、中古市場で総合的に安くて不自由ないものとしてはだいたい以下のものになると思います。(2025/09時点)

Xeon E5 v4世代のおすすめ

Intel® Xeon® Processor E5-1630 v4 ( 4c 4.00 GHz)

Intel® Xeon® Processor E5-2643 v4 (6c 3.70 GHz )

Xeon SP 第一世代のおすすめ

Intel® Xeon® Gold 6144 Processor (8c 4.20 GHz )

Intel® Xeon® Gold 6128 Processor (6c 3.70 GHz )

Xeon SP 第二世代のおすすめ

第2世代自体あまり見ない/謎に高い傾向にあるためそこまでおすすめしない

Epyc

第一世代以外の高クロックなやつ

DebianでIBを使う上で必要な/あると便利なツール

...

コード ブロック
root@dev:~# iblinkinfo
CA: MT4113 ConnectIB Mellanox Technologies:
      0x5849560e6a1a0201      6    1[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>      10   36[  ] "Mellanox 4036 # 4036-62B4" ( )
      0x5849560e6a1a0209      5    2[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>      10   18[  ] "Mellanox 4036 # 4036-62B4" ( )
CA: MT4113 ConnectIB Mellanox Technologies:
      0x70106fffff9e2490     15    1[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>      10    6[  ] "Mellanox 4036 # 4036-62B4" ( )
      0x70106fffff9e2498     16    2[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>      10    4[  ] "Mellanox 4036 # 4036-62B4" ( )
CA: MT25408 ConnectX Mellanox Technologies:
      0x0010e00001488379      7    1[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>      10   24[  ] "Mellanox 4036 # 4036-62B4" ( )
      0x0010e0000148837a      8    2[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>      10    2[  ] "Mellanox 4036 # 4036-62B4" ( )
Switch: 0x0008f105002062b4 Mellanox 4036 # 4036-62B4:
          10    1[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>       2    2[  ] "MT25408 ConnectX Mellanox Technologies" ( )
          10    2[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>       8    2[  ] "MT25408 ConnectX Mellanox Technologies" ( )
          10    3[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10    4[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>      16    2[  ] "MT4113 ConnectIB Mellanox Technologies" ( )
          10    5[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10    6[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>      15    1[  ] "MT4113 ConnectIB Mellanox Technologies" ( )
          10    7[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10    8[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10    9[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   10[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   11[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   12[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   13[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   14[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   15[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   16[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   17[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   18[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>       5    2[  ] "MT4113 ConnectIB Mellanox Technologies" ( )
          10   19[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   20[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>       1    1[  ] "MT25408 ConnectX Mellanox Technologies" ( )
          10   21[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   22[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   23[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   24[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>       7    1[  ] "MT25408 ConnectX Mellanox Technologies" ( )
          10   25[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   26[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   27[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   28[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   29[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   30[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   31[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   32[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   33[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   34[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   35[  ] ==(                Down/ Polling)==>             [  ] "" ( )
          10   36[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>       6    1[  ] "MT4113 ConnectIB Mellanox Technologies" ( )
CA: MT25408 ConnectX Mellanox Technologies:
      0x0010e00001746591      1    1[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>      10   20[  ] "Mellanox 4036 # 4036-62B4" ( )
      0x0010e00001746592      2    2[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>      10    1[  ] "Mellanox 4036 # 4036-62B4" ( )


root@dev:~# ibnetdiscover
#
# Topology file: generated on Fri Sep  5 21:11:13 2025
#
# Initiated from node 0010e00001746590 port 0010e00001746591

vendid=0x8f1
devid=0x5a5a
sysimgguid=0x8f105002062b5
switchguid=0x8f105002062b4(8f105002062b4)
Switch  36 "S-0008f105002062b4"         # "Mellanox 4036 # 4036-62B4" enhanced port 0 lid 10 lmc 0
[1]     "H-0010e00001746590"[2](10e00001746592)                 # "MT25408 ConnectX Mellanox Technologies" lid 2 4xQDR
[2]     "H-0010e00001488378"[2](10e0000148837a)                 # "MT25408 ConnectX Mellanox Technologies" lid 8 4xQDR
[4]     "H-70106fffff9e2490"[2](70106fffff9e2498)               # "MT4113 ConnectIB Mellanox Technologies" lid 16 4xQDR
[6]     "H-70106fffff9e2490"[1](70106fffff9e2490)               # "MT4113 ConnectIB Mellanox Technologies" lid 15 4xQDR
[18]    "H-5849560e6a1a0201"[2](5849560e6a1a0209)               # "MT4113 ConnectIB Mellanox Technologies" lid 5 4xQDR
[20]    "H-0010e00001746590"[1](10e00001746591)                 # "MT25408 ConnectX Mellanox Technologies" lid 1 4xQDR
[24]    "H-0010e00001488378"[1](10e00001488379)                 # "MT25408 ConnectX Mellanox Technologies" lid 7 4xQDR
[36]    "H-5849560e6a1a0201"[1](5849560e6a1a0201)               # "MT4113 ConnectIB Mellanox Technologies" lid 6 4xQDR

vendid=0x2c9
devid=0x1011
sysimgguid=0x5849560e6a1a0201
caguid=0x5849560e6a1a0201
Ca      2 "H-5849560e6a1a0201"          # "MT4113 ConnectIB Mellanox Technologies"
[1](5849560e6a1a0201)   "S-0008f105002062b4"[36]                # lid 6 lmc 0 "Mellanox 4036 # 4036-62B4" lid 10 4xQDR
[2](5849560e6a1a0209)   "S-0008f105002062b4"[18]                # lid 5 lmc 0 "Mellanox 4036 # 4036-62B4" lid 10 4xQDR

vendid=0x2c9
devid=0x1011
sysimgguid=0x70106fffff9e2490
caguid=0x70106fffff9e2490
Ca      2 "H-70106fffff9e2490"          # "MT4113 ConnectIB Mellanox Technologies"
[1](70106fffff9e2490)   "S-0008f105002062b4"[6]         # lid 15 lmc 0 "Mellanox 4036 # 4036-62B4" lid 10 4xQDR
[2](70106fffff9e2498)   "S-0008f105002062b4"[4]         # lid 16 lmc 0 "Mellanox 4036 # 4036-62B4" lid 10 4xQDR

vendid=0x2c9
devid=0x1003
sysimgguid=0x10e0000148837b
caguid=0x10e00001488378
Ca      2 "H-0010e00001488378"          # "MT25408 ConnectX Mellanox Technologies"
[1](10e00001488379)     "S-0008f105002062b4"[24]                # lid 7 lmc 0 "Mellanox 4036 # 4036-62B4" lid 10 4xQDR
[2](10e0000148837a)     "S-0008f105002062b4"[2]         # lid 8 lmc 0 "Mellanox 4036 # 4036-62B4" lid 10 4xQDR

vendid=0x2c9
devid=0x1003
sysimgguid=0x10e00001746593
caguid=0x10e00001746590
Ca      2 "H-0010e00001746590"          # "MT25408 ConnectX Mellanox Technologies"
[1](10e00001746591)     "S-0008f105002062b4"[20]                # lid 1 lmc 0 "Mellanox 4036 # 4036-62B4" lid 10 4xQDR
[2](10e00001746592)     "S-0008f105002062b4"[1]         # lid 2 lmc 0 "Mellanox 4036 # 4036-62B4" lid 10 4xQDR


IPoIBについて

ipib_iboipipoibモジュールを読み込むと ip lなどでibインターフェースが生えてくるので、IP通信をしたい場合はこのIFに対してIPアドレスを振ることができます。

...

PortXmitData と PortRcvDataが通信したデータになるのですが、IBの送受信データは4バイトになるので、1 PortXmitData=4byteとなります。

上記の perfquery -x 6 1のPortXmitDataは2846531504504ですが、これをTBに直すと のPortXmitDataは 2846531504504ですが、これをTBに直すと 2846531504504 * 4 /(1024^4)となり、起動から約10.3TB通信したことになります。

...