Ubuntu18.04 SoftRoCE安装教程

SoftRoCE安装教程



前言

目标:创建两台Ubuntu18.04虚拟机,安装SoftRoCE环境,一台作为Server,一台作为Client,模拟RDMA通信环境,熟悉RDMA的通信方式。


一、安装环境

  1. 安装相关包:
    (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自带的示例程序 ,功能更加强大,当然也更复杂。

  2. 检查rdma-rxe相关配置:
    (1)modprobe rdma_rxe #加载内核驱动
    (2) rxe_cfg status
    (3) rxe_cfg start
    在这里插入图片描述

  3. 加入虚拟网卡ens33
    rxe_cfg add ens33

  4. 查看添加的设备信息
    (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 带宽测试:

1. write写测试

ib_write_bw是用来测试write操作的带宽的程序(infiniband_write_bandwidth)
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也提供针对指定包长的测试,可以自行搜索。

2. send发送测试

ib_send_bw是用来测试SEND操作的带宽的程序(infiniband_send_bandwidth)
server输入:
ib_send_bw -d rxe0

client输入:
ib_send_bw -d rxe0 192.168.108.134
其中ip地址为server端ip,结果如下:
在这里插入图片描述
在这里插入图片描述

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]

测试结果图:
在这里插入图片描述
在这里插入图片描述
注意:-g是设置网口的GID值,客户端和服务端的GID的类型要统一;-d是设置具体的RDMA设备,该值可由sudo rxe_cfg status得出。


附参考链接:

  1. https://zhuanlan.zhihu.com/p/361740115
  2. https://blog.csdn.net/automanliang/article/details/124033813
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值