#author("2025-06-01T02:32:07+00:00","default:sysosa","sysosa")
#author("2025-06-14T03:05:22+00:00","default:sysosa","sysosa")
各種nicで速度を確かめている

***ConnectX-3 Pro EN MCX313A-BCCT [#yaa16840]
infinibandはしゃべれない Ethernet カード
infinibandはしゃべれない Ethernet カードが2枚ある.
それを共に CPU: Gold G5400[3.7GHz,2c/4t], MEM: 32GB, MB: Gigabyte H310N 2.0 なマシンに刺した.
一応下記のように認識してくれた. 
#code(nonumber){{
01:00.0 Ethernet controller: Mellanox Technologies MT27520 Family [ConnectX-3 Pro]
}}
一応刺しただけで認識してくれた
同一のカードを刺した別のマシンと通信テスト. ケーブルが40Gbpsなので上限は40Gbpsになる.
っで双方のマシンで iperf3 を使った通信テストを実施してみた. ケーブルは上限40Gbpsのケーブル. 片方はfirewallを停止して「iperf3 -s」で待機させ
#code(nonumber){{
[root@rockylinux9 ~]# iperf3  -c 10.10.10.2
[root@c1 ~]# iperf3  -c 10.10.10.2
Connecting to host 10.10.10.2, port 5201
[  5] local 10.10.10.1 port 34698 connected to 10.10.10.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  3.85 GBytes  33.0 Gbits/sec    0   1.56 MBytes
[  5]   1.00-2.00   sec  3.90 GBytes  33.5 Gbits/sec    0   1.66 MBytes
[  5]   2.00-3.00   sec  3.89 GBytes  33.4 Gbits/sec    0   1.78 MBytes
[  5]   3.00-4.00   sec  3.86 GBytes  33.1 Gbits/sec    0   1.91 MBytes
[  5]   4.00-5.00   sec  3.92 GBytes  33.7 Gbits/sec    0   1.91 MBytes
[  5]   5.00-6.00   sec  3.93 GBytes  33.8 Gbits/sec    0   2.15 MBytes
[  5]   6.00-7.00   sec  3.91 GBytes  33.6 Gbits/sec    0   2.15 MBytes
[  5]   7.00-8.00   sec  3.91 GBytes  33.6 Gbits/sec    0   2.15 MBytes
[  5]   8.00-9.00   sec  3.89 GBytes  33.4 Gbits/sec    0   2.15 MBytes
[  5]   9.00-10.00  sec  3.81 GBytes  32.7 Gbits/sec    0   2.26 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  38.9 GBytes  33.4 Gbits/sec    0            sender
[  5]   0.00-10.00  sec  38.9 GBytes  33.4 Gbits/sec                  receiver

iperf Done.
[root@rockylinux9 ~]#
[root@c1 ~]#
}}
「iperf3  -c 10.10.10.2 -P 2」と多重で流したら最大 37.5 Gbits/sec まで届いた.

片方のマシンをnfsサーバ(PentiumGold G5400[3.7GHz,2c/4t],32GB mem,MB:H310N 2.0) として SSD disk(/data,CT250MX500SSD1) を使ってテスト 
まずローカルにて.
次に片方にSSD disk(/data,CT250MX500SSD1)を載せて nfs で共有をかけて dd による書き込み、読み込み速度を調べてみた
一応まずネットワークを介さないローカルにて測定してみた
#code(nonumber){{
dd if=/dev/zero of=/data/testfile bs=1G count=10 oflag=direct  <-- (書き込み) 11GBの空ファイルを作って 506 MB/s の値がでた

dd if=/data/testfile of=/dev/null bs=1G count=10 iflag=direct  <-- (読み込み) 11GBの空ファイルを読み込み 534 MB/s の値がでた
}}
次にnfsクライアント側。
次にnfsクライアント側にて操作.
#code(nonumber){{
mount -t nfs -o vers=4,hard,sync,noac,actimeo=0 10.10.10.1:/data /data    <-- sync,noac,actimeoをオプションに入れてnfsクライアント側のキャッシュを無効化

dd if=/dev/zero of=/data/testfile bs=1G count=10 oflag=direct  <-- (nfs経由で書き込み) 398 MB/s 

dd if=/data/testfile of=/dev/null bs=1G count=10 iflag=direct  <-- (nfs経由で読み込み) 555 MB/s
}}
nfsクライアント側での読み込みテストの際は、事前にnfsサーバ側でキャッシュをクリアすることを忘れずに
#code(nonumber){{
systemctl restart nfs-server
echo 3 > /proc/sys/vm/drop_caches
}}
これを実行しないとキャッシュ経由で読み込みの値が出てくる.

ddの結果からすれば、読み込みのnfs経由での速度低下はあまりない. 書き込みが若干落ちるって感じでしょうか

次にrsyncでも転送速度を図ってみた
nfsクライアント側にて
nfsクライアント側のsystem diskは nvme(WDC WDS250G1B0C-00S6U0) だが
#code(nonumber){{
time rsync -avh /data/testfile /tmp   <-- 340.95M bytes/sec
dd if=/dev/zero of=/tmp/testfile bs=1G count=10 oflag=direct  <-- (書き込み) 484 MB/s

dd if=/tmp/testfile of=/dev/null bs=1G count=10 iflag=direct  <-- (読み込み) 890 MB/s
}}
ここを使ってrsyncしてみた
#code(nonumber){{
mount -t nfs -o vers=4,hard,sync,noac,actimeo=0 10.10.10.1:/data /data
    rsync -avh /tmp/testfile /data/testfile    42.04 M bytes/sec  (nfsサーバへの書き込み)
    rsync -avh /data/testfile /tmp/testfile2   278.96M bytes/sec (nfsサーバからの読み込み)

mount -t nfs  10.10.10.1:/data /data
    rsync -avh /tmp/testfile /data/testfile    352.13M bytes/sec  (nfsサーバへの書き込み)
    rsync -avh /data/testfile /tmp/testfile2   499.54M bytes/sec (nfsサーバからの読み込み)
}}
nfsオプションのasyncが効いている?って感じかな. 

***ConnectX-2 VPI MHQH29B-XTR [#s0530dd4]

Mellanox connectX-3のカードがある. 非常に古いinfiniband/Ethernetカード.
lspciの出力で下記のように表示される
#code(nonumber){{
01:00.0 InfiniBand: Mellanox Technologies MT25408A0-FCC-QI ConnectX, Dual Port 40Gb/s InfiniBand / 10GigE Adapter IC with PCIe 2.0 x8 5.0GT/s In... (rev b0)
}}

rockylinux9で使おうとしたらドライバーが提供されていない様子. [[https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/>+https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/]]
-CoonectX-3はMLNX_OFEDのversion 4.9まで対応  &size(10){そもそもConnectX-2ではあるが};
-MLNX_OFEDはRockyLinux8.8まで対応

なので、ELRepoリポジトリで提供している「kmod-mlx4」を使ってみた.
#code(nonumber){{
[root@rockylinux9 ~]# cat /etc/redhat-release
Rocky Linux release 9.5 (Blue Onyx)

[root@rockylinux9 ~]# uname -r
5.14.0-503.14.1.el9_5.x86_64

[root@rockylinux9 ~]#
}}
っとkernel versionを確認します

っで
#code(nonumber){{
[root@rockylinux9 ~]# wget https://mirror.rackspace.com/elrepo/elrepo/el9/SRPMS/kmod-mlx4-4.0-9.el9_5.elrepo.src.rpm

[root@rockylinux9 ~]# rpm -i kmod-mlx4-4.0-9.el9_5.elrepo.src.rpm

[root@rockylinux9 ~]# vi rpmbuild/SPECS/kmod-mlx4.spec
%{!?kmod_kernel_version: %define kmod_kernel_version 5.14.0-503.11.1.el9_5}
 ↓
%{!?kmod_kernel_version: %define kmod_kernel_version 5.14.0-503.14.1.el9_5}

[root@rockylinux9 ~]# dnf install kernel-abi-stablelists kernel-rpm-macros

[root@rockylinux9 ~]# rpmbuild -bb rpmbuild/SPECS/kmod-mlx4.spec 
}}
できたカーネルモジュールをインストール
#code(nonumber){{
[root@rockylinux9 ~]# dnf localinstall ./rpmbuild/RPMS/x86_64/kmod-mlx4-4.0-9.el9.x86_64.rpm
}}
そうして
#code(nonumber){{
[root@rockylinux9 ~]# modprobe mlx4_en 
[root@rockylinux9 ~]# modprobe ib_ipoib
[root@rockylinux9 ~]# ip link
 :
3: ibp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 4092 qdisc fq_codel state DOWN mode DEFAULT group default qlen 256
    link/infiniband 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:c9:03:00:5a:9e:8d brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
4: ibp1s0d1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 4092 qdisc fq_codel state DOWN mode DEFAULT group default qlen 256
    link/infiniband 80:00:02:09:fe:80:00:00:00:00:00:00:00:02:c9:03:00:5a:9e:8e brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
[root@rockylinux9 ~]# 
[root@rockylinux9 ~]# systemctl start opensm
}}
でデバイスが認識出ました. あとはnmtiでinfinibandとして登録すれば通信できます.
iperf3で2点間の通信速度を図ってみた. 「10.10.10.2」はもう一方の MHQH29B-XTR を持つマシン(rockylinux9)
#code(nonumber){{
[root@rockylinux9 ~]# iperf3  -c 10.10.10.2
Connecting to host 10.10.10.2, port 5201
[  5] local 10.10.10.1 port 45320 connected to 10.10.10.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  3.05 GBytes  26.2 Gbits/sec  589    990 KBytes
[  5]   1.00-2.00   sec  3.07 GBytes  26.3 Gbits/sec  733    774 KBytes
[  5]   2.00-3.00   sec  3.07 GBytes  26.3 Gbits/sec  725   1004 KBytes
[  5]   3.00-4.00   sec  3.07 GBytes  26.3 Gbits/sec  920   1.07 MBytes
[  5]   4.00-5.00   sec  3.07 GBytes  26.4 Gbits/sec  536    846 KBytes
[  5]   5.00-6.00   sec  3.06 GBytes  26.3 Gbits/sec  867    770 KBytes
[  5]   6.00-7.00   sec  3.06 GBytes  26.3 Gbits/sec  637    792 KBytes
[  5]   7.00-8.00   sec  3.07 GBytes  26.3 Gbits/sec  680   1.08 MBytes
[  5]   8.00-9.00   sec  3.06 GBytes  26.3 Gbits/sec  715   1.12 MBytes
[  5]   9.00-10.00  sec  2.99 GBytes  25.7 Gbits/sec  735    679 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  30.6 GBytes  26.3 Gbits/sec  7137            sender
[  5]   0.00-10.00  sec  30.6 GBytes  26.3 Gbits/sec                  receiver

iperf Done.
[root@rockylinux9 ~]#
}}
多重にしても40Gbpsまでは届かなかった.
1

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS