NFS over RDMAのサーバ(ターゲット)にする場合で、ConextX3-Proがネットワークインターフェース(正確にはRoCE v1.5 )の場合、RoCE v1/v2 の何れでもクライアントにすることができます。しかし、たとえばConnectX-3 VPIの場合、RoCE で動作させると RoCEはv1になるのですが、この場合、サーバになることができません。
ではどうすればよいかですが、サーバ側を RoCE v2 にするか、クライアント側を RoCE v1 にする必要があります。
そこで調べたのですが、Debian 12 の Inbox Driver だけで ConnectX3-Pro の RoCE version を変更する情報でまとまったものがなかったので、備忘録として挙げてみることにしました。
まず最初に、ドライバーが自動で読み込まれる様にし、またツール類を入れ再起動し、ネットワークの設定をして再起動しておきます。これは前回と同じです。
次にインストールされたパッケージの内、 ibv_devinfo というコマンドを実行します。すると hca_id: が一覧の内に表示されるのでこれをメモしておきます。
なお、ハードウェアで変更する方法を探したのですが、これといった記事がなかったので少しハマりましたが、これで enp2s0は永続的にRoCEv1で動作するようになりますので、Inbox Driverをつかった ConnextX-3 Pro な NFS over RDMA クライアントから、Connectx-3 VPI の NFS over RDMA サーバに接続できるようになります。
今回は以上です。それでは。
ではどうすればよいかですが、サーバ側を RoCE v2 にするか、クライアント側を RoCE v1 にする必要があります。
そこで調べたのですが、Debian 12 の Inbox Driver だけで ConnectX3-Pro の RoCE version を変更する情報でまとまったものがなかったので、備忘録として挙げてみることにしました。
まず最初に、ドライバーが自動で読み込まれる様にし、またツール類を入れ再起動し、ネットワークの設定をして再起動しておきます。これは前回と同じです。
次にインストールされたパッケージの内、 ibv_devinfo というコマンドを実行します。すると hca_id: が一覧の内に表示されるのでこれをメモしておきます。
hca_id: rocep2s0 transport: InfiniBand (0) --snip--今回の場合は rocep2s0 になります。これはネットワークインターフェース名とは異なるので注意してください。つづいて認識されたネットワークインターフェース名は、この場合、enp2s0だったので、ミニマムな Debian 12 Netinstの場合、 /etc/network/interfaces.d/enp2s0を例えば以下のようにします。
auto enp2s0 iface enp2s0 inet static address 10.1.56.106 netmask 255.255.255.0 pre-up mkdir -p /sys/kernel/config/rdma_cm/rocep2s0/ pre-up echo "IB/RoCE v1" > /sys/kernel/config/rdma_cm/rocep2s0/ports/1/default_roce_mode今回の肝は pre-up の二行です。この2行で hca_id: rocep2s0 の 一ポート目の RoCE mode を RoCE v1に変更します。
なお、ハードウェアで変更する方法を探したのですが、これといった記事がなかったので少しハマりましたが、これで enp2s0は永続的にRoCEv1で動作するようになりますので、Inbox Driverをつかった ConnextX-3 Pro な NFS over RDMA クライアントから、Connectx-3 VPI の NFS over RDMA サーバに接続できるようになります。
今回は以上です。それでは。
コメント
コメントを投稿