HPE Eth 4x25Gb 1p 620QSFP28 Adptr | RDMA(RoCE V2) 配置与测试
1.First | 序
书接上回

此篇记录
HPE Eth 4x25Gb 1p 620QSFP28 Adptr网卡配置RoCE V2- 测试
RDMA (Remote Direct Memory Access)设备带宽 iperf3 Testiperf3 Test(bond0)
1.2.OS Version | 示例环境
-
OS | 系统

-
SW | 软件
-
rdma-core
-
infiniband-diags
-
libibverbs-utils
-
ibdev2netdev
-
perftest
-
iperf
-
-
NIC | 网络适配器
-
Huawei SP333 STL2IEA2A 2-Port NIC- 双口
25GB - 用于对接
HPE Eth 4x25Gb 1p 620QSFP28 Adptr
- 双口
-
HPE Eth 4x25Gb 1p 620QSFP28 AdptrQSFP28 to 4x25G SFP284x25G分线其中C/D两根分线插入Huawei SP333 STL2IEA2A 2-Port NIC
-
-
Cable | 线缆
-
Lenovo 100GB QSFP28 to 4x25G SFP28 Breakout DAC Cable -
部件号: 01GV913
Cable Info
Identifier : 0x11 (QSFP28) Extended identifier : 0x00 Extended identifier description : 1.5W max. Power consumption Extended identifier description : No CDR in TX, No CDR in RX Extended identifier description : High Power Class (> 3.5 W) not enabled Power set : Off Power override : Off Connector : 0x23 (No separable connector) Transceiver codes : 0x88 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Transceiver type : 40G Ethernet: 40G Base-CR4 Transceiver type : 100G Ethernet: 100G Base-CR4 or 25G Base-CR CA-L Encoding : 0x05 (64B/66B) BR, Nominal : 25500Mbps Rate identifier : 0x00 Length (SMF,km) : 0km Length (OM3 50um) : 0m Length (OM2 50um) : 0m Length (OM1 62.5um) : 0m Length (Copper or Active cable) : 3m Transmitter technology : 0xa0 (Copper cable unequalized) Attenuation at 2.5GHz : 7db Attenuation at 5.0GHz : 10db Attenuation at 7.0GHz : 12db Attenuation at 12.9GHz : 18db Vendor name : LENV-Amphenol Vendor OUI : a4:8c:db Vendor PN : 0000001GV913 Vendor rev : 01 Vendor SN : Date code : 170803 Revision Compliance : SFF-8636 Rev 2.5/2.6/2.7 Module temperature : 0.00 degrees C / 32.00 degrees F Module voltage : 0.0000 V -
2.Setting | 设置
2.1.Enable RDMA | 启用 RDMA
-
安装
rdma-corezypper install rdma-core -
查看
/etc/rdma/modules/rdma.conf文件并选择需要启用的模块根据需要增删(我保持默认)
# These modules are loaded by the system if any RDMA devices is installed # iSCSI over RDMA client support ib_iser # iSCSI over RDMA target support # ib_isert # User access to RDMA verbs (supports libibverbs) ib_uverbs # User access to RDMA connection management (supports librdmacm) rdma_ucm # RDS over RDMA support # rds_rdma # NFS over RDMA client support xprtrdma # NFS over RDMA server support svcrdma若更改此文件需要
systemctl restart <[email protected]> -
加载
RDMA驱动modprobe qedr -
验证
-
rdma link showlink qedr0/1 state DOWN physical_state DISABLED netdev enp1s0f0 link qedr1/1 state DOWN physical_state DISABLED netdev enp1s0f1 link qedr2/1 state ACTIVE physical_state LINK_UP netdev enp1s0f2 link qedr3/1 state ACTIVE physical_state LINK_UP netdev enp1s0f3 -
dmesg | grep "qe"...... [ 20.490298] [ T1128] qede 0000:01:00.1 enp1s0f1: renamed from eth1 [ 20.490446] [ T1175] qede 0000:01:00.0 enp1s0f0: renamed from eth0 [ 20.490556] [ T1177] qede 0000:01:00.2 enp1s0f2: renamed from eth2 [ 20.491534] [ T1110] qede 0000:01:00.3 enp1s0f3: renamed from eth3 [ 23.860135] [ C9] [qede_link_update:2629(enp1s0f3)]Link is up [ 24.317166] [ C8] [qede_link_update:2629(enp1s0f2)]Link is up [11531.366394] [ T4337] qedr: discovered and registered 4 RDMA funcs
以下命令需要安装
infiniband-diags和libibverbs-utils包-
ibv_devicesdevice node GUID ------ ---------------- qedr0 1602ecfffeca05d0 qedr1 1602ecfffeca05d1 qedr2 1602ecfffeca05d2 qedr3 1602ecfffeca05d3 -
ibv_devinfo -d qedr2hca_id: qedr2 transport: InfiniBand (0) fw_ver: 8.59.1.0 node_guid: 1602:ecff:feca:05d2 sys_image_guid: 1602:ecff:feca:05d2 vendor_id: 0x1077 vendor_part_id: 5718 hw_ver: 0x1 phys_port_cnt: 1 port: 1 state: PORT_ACTIVE (4) max_mtu: 4096 (5) active_mtu: 1024 (3) sm_lid: 0 port_lid: 0 port_lmc: 0x00 link_layer: Ethernettransport: InfiniBand & link_layer: Ethernet
即确认其为支持RoCE类型的RDMA设备
-
2.2.RoCE configuration | 配置 RoCE
-
配置
OFED环境安装以下软件包
libibverbsperftest
rdma-core已附带libibverbs
2.3.RoCE Verify | 验证 RoCE
-
验证已加载模块
lsmod|grep qedr
qedr 155648 0 ib_uverbs 204800 2 rdma_ucm,qedr ib_core 552960 8 rdma_cm,rpcrdma,iw_cm,ib_iser,rdma_ucm,ib_uverbs,qedr,ib_cm qede 233472 1 qedr qed 1110016 2 qede,qedr -
ibdev2netdev需安装
ibdev2netdev软件包使用
ibdev2netdev命令查看RDMA设备对应的网络接口ibdev2netdev qedr0/1 gid #1 (down) <===> enp1s0f0 (down) qedr1/1 gid #1 (down) <===> enp1s0f1 (down) qedr2/1 gid #1 (active) <===> enp1s0f2 (up) qedr3/1 gid #1 (active) <===> enp1s0f3 (up)qedr2对接SP333 p1qedr3对接SP333 p2
-
为网络接口添加
IP地址示例使用
nmcli-
qedr2 即 enp1s0f2
nmcli connection add type ethernet con-name enp1s0f2 ifname enp1s0f2 ipv4.address 10.7.6.125/24 ipv4.method manual -
qedr3 即 enp1s0f3
nmcli connection add type ethernet con-name enp1s0f3 ifname enp1s0f3 ipv4.address 10.7.6.150/24 ipv4.method manual
-
-
验证
3#操作-
qedr2 即 enp1s0f2
nmcli connection show enp1s0f2 | grep "ipv4.addresses" -
qedr3 即 enp1s0f3
nmcli connection show enp1s0f3 | grep "ipv4.addresses"
Ex PIC| 示例图片
-
-
ibv_devinfo使用
ibv_devinfo查询设备状态ibv_devinfo -d qedr2
hca_id: qedr2 transport: InfiniBand (0) fw_ver: 8.59.1.0 node_guid: 1602:ecff:feca:05d2 sys_image_guid: 1602:ecff:feca:05d2 vendor_id: 0x1077 vendor_part_id: 5718 hw_ver: 0x1 phys_port_cnt: 1 port: 1 state: PORT_ACTIVE (4) max_mtu: 4096 (5) active_mtu: 1024 (3) sm_lid: 0 port_lid: 0 port_lmc: 0x00 link_layer: Ethernet -
识别
RoCE v2 GID索引使用
ibv_devinfo -d qedr2 -v|grep GID命令查看RoCE v2 GID索引
ibv_devinfo -d qedr2 -v|grep GID
Ex PIC| 示例图片
2.4.RoCE Test | 测试 RoCE
实际上应该和上一标题(RoCE Verify | 验证 RoCE)写在一块的
但 perftest 命令有些多就另起炉灶吧
2.4.1.perftest
使用
perftest验证(测试)RoCE v2功能
测试背景
-
Server: HPE Eth 4x25Gb 1p 620QSFP28 Adptr-
qedr210.7.6.125 -
qedr310.7.6.150
-
-
Client: Huawei SP333 STL2IEA2A 2-Port NIC-
mlx5_010.7.6.100 -
mlx5_110.7.6.200
-
测试分为两个部分
-
首先测试
qedr2 & mlx5_0 -
然后同时测试
qedr2 & mlx5_0 & qedr3 & mlx5_1
-
qedr2 & mlx5_0
-
ib_send_bw
-
server : ib_send_bw -d qedr2 -F -x 5 -
client : ib_send_bw -d mlx5_0 -F -x 3 10.7.6.125
Ex PIC| 示例图片
将
BW average单位换成Gb/sec
-
-
ib_write_bw
-
server : ib_write_bw -d qedr2 -F -x 5 --report_gbits -
client : ib_write_bw -d mlx5_0 -F -x 3 10.7.6.125 --report_gbits
Ex PIC| 示例图片
-
-
ibv_rc_pingpong
server : ibv_rc_pingpong -d qedr2 -g 5client : ibv_rc_pingpong -d mlx5_0 -g 3 10.7.6.125
Ex PIC| 示例图片
-
-
qedr2 mlx5_0 & qedr3 mlx5_1
-
ib_send_bw
-
serverib_send_bw -d qedr2 -x 5 --run_infinitely --report_gbits -Fib_send_bw -d qedr3 -x 5 -p 17777 --run_infinitely --report_gbits -F
-
clientib_send_bw -d mlx5_0 -x 3 --run_infinitely --report_gbits -F 10.7.6.125ib_send_bw -d mlx5_1 -x 3 -p 17777 --run_infinitely --report_gbits -F 10.7.6.150
Ex PIC| 示例图片
-
-
ib_write_bw
serverib_write_bw -d qedr2 -x 5 --run_infinitely --report_gbits -Fib_write_bw -d qedr3 -x 5 -p 17777 --run_infinitely --report_gbits -F
clientib_write_bw -d mlx5_0 -x 3 --run_infinitely --report_gbits -F 10.7.6.125ib_write_bw -d mlx5_1 -x 3 -p 17777 --run_infinitely --report_gbits -F 10.7.6.150
Ex PIC| 示例图片
-
2.4.2.iperf3
测试背景如下
-
Server: HPE Eth 4x25Gb 1p 620QSFP28 Adptr-
enp1s0f210.7.6.125/24 -
enp1s0f310.7.5.120/24
-
-
Client: Huawei SP333 STL2IEA2A 2-Port NIC-
p2p110.7.6.100/24 -
p2p210.7.5.200/24
-
-
enp1s0f2 & p2p1
-
iperf3 -c 10.7.6.125 -B 10.7.6.100 -P 2Ex PIC| 示例图片
-
iperf3 -c 10.7.6.125 -B 10.7.6.100 -P 2 -REx PIC| 示例图片
-
-
enp1s0f3 & p2p2
-
iperf3 -c 10.7.5.125 -B 10.7.5.100 -P 2Ex PIC| 示例图片
-
iperf3 -c 10.7.5.125 -B 10.7.5.100 -P 2 -REx PIC| 示例图片
-
-
enp1s0f2 p2p1 & enp1s0f3 p2p2
双端四口同时进行-
iperf3 -c 10.7.x.x -B 10.7.x.x -P 2Ex PIC| 示例图片
-
iperf3 -c 10.7.x.x -B 10.7.x.x -P 2 -REx PIC| 示例图片
-
2.4.3.iperf3(bond0)
测试背景如下
-
Server: HPE Eth 4x25Gb 1p 620QSFP28 Adptrbond010.7.6.200/24

-
Client: Huawei SP333 STL2IEA2A 2-Port NICbond010.7.6.100/24

-
bond0 & bond0-
iperf3 -c 10.7.6.200 -B 10.7.6.100 -P 2Ex PIC| 示例图片
-
iperf3 -c 10.7.6.200 -B 10.7.6.100 -P 2 -REx PIC| 示例图
-