SoftRoCE安装教程
文章目录
- SoftRoCE安装教程
- 前言
- 一、安装环境
- 二、配置RXE网卡
- perftest 带宽测试:
- perftest延迟测试:
- 测试#rping命令
- 测试ibv_rc_pingpong命令
前言
目标:创建两台Ubuntu18.04虚拟机,安装SoftRoCE环境,一台作为Server,一台作为Client,模拟RDMA通信环境,熟悉RDMA的通信方式。
一、安装环境
-
安装相关包:
(1)sudo apt-get install libibverbs1 ibverbs-utils librdmacm1 libibumad3 ibverbs-providers rdma-core
——各个包的含义:
查看软件包里都包括哪些内容,那么可以使用dpkg命令查看包内容,比如:
dpkg -L libibverbs1
(2)sudo apt-get install iproute2
——iproute2是用来替代net-tools软件包的,是一组开源的网络工具集合,比如用更强大ip命令替换了以前常用的ifconfig。我们需要其中的rdma工具来对RXE进行配置。一般的操作系统都已经包含了,安装也很简单。
(3)sudo apt-get install perftest
——perftest是一个基于Verbs接口开发的开源RDMA性能测试工具,可以对支持RDMA技术的节点进行带宽和时延测试。相比于rdma-core自带的示例程序 ,功能更加强大,当然也更复杂。 -
检查rdma-rxe相关配置:
(1)modprobe rdma_rxe
#加载内核驱动
(2)rxe_cfg status
(3)rxe_cfg start
-
加入虚拟网卡ens33
rxe_cfg add ens33
-
查看添加的设备信息
(1)ibv_devices #设备名称rxe0
(2)ibv_devinfo #设备的详细信息
下一步就是:将整个虚拟机再克隆一个作为Client
克隆完成以后,查看两台虚拟机以及window11主机的IP地址:
win11:192.168.108.1
softroce_server: 192.168.108.134
softroce_client: 192.168.108.135
二、配置RXE网卡
昨天已经配好了,今天再打开又没了?没搞清楚是什么原因,重新add了网卡
插曲:由于clone完之后,没有修改主机名,所有两个虚拟机都显示的是server
解决办法:在client虚拟机中,将sudo /etc/hostname
的内容编辑修改为softroce_client
,然后重启就可以了。(限于18.04之前的版本)
重启之后之前添加的虚拟网卡又又又没了???
重新配置之后,参考网上的教程跟着跑了一下实例(原文链接:https://blog.csdn.net/automanliang/article/details/124033813)
perftest 带宽测试:
server输入:
ib_write_bw -a -d rxe0 --report_gbits
client输入:
ib_write_bw -a -d rxe0 --report_gbits 192.168.108.134
其中ip地址为server端ip,结果如下:
注意:由于这条命令里有个-a,也就是把各种包长都测一遍。由于是soft-roce所以涉及到大量的数据拷贝,测到后面大包时候很慢了就直接ctrl+c。perftest也提供针对指定包长的测试,可以自行搜索。
perftest延迟测试:
server输入:
ib_write_lat -a -d rxe0 --report_gbits
client输入:
ib_write_lat -a -d rxe0 --report_gbits 192.168.245.129
其中ip地址为server端ip
结果如下:
测试#rping命令
server:
rping -s -a [server-ip] -v -C 10
client:
rping -c -a [server-ip] -v -C 10
测试结果图:
测试ibv_rc_pingpong命令
server:
ibv_rc_pingpong -g 2 -d rxe0
client:
ibv_rc_pingpong -g 2 -d rxe1 [server-ip]
测试结果图:
附参考链接:
- https://zhuanlan.zhihu.com/p/361740115
- https://blog.csdn.net/automanliang/article/details/124033813