文章目录

  • Soft-RoCE部署及通信测试
  • 环境
  • 测试步骤
      • 部署RDMA软件栈
        • 确认内核是否支持RXE
        • 安装用户态动态链接库
      • 安装其他工具
      • 克隆虚拟机
      • 配置网络模式
      • 配置RXE网卡
      • 其他相关命令
    • rping
  • 参考资料

Soft-RoCE部署及通信测试

Soft-RoCE是一种基于软件的RoCE(RDMA over Converged Ethernet)实现。RoCE是一种在以太网上实现RDMA(Remote Direct Memory Access)的技术,它允许数据在网络中直接传输,而无需CPU的干预,从而提高了数据传输的效率和性能。传统的RoCE实现需要专用的网络适配器和交换机,而Soft-RoCE则允许使用普通的以太网适配器和交换机来实现RDMA。Soft-RoCE通常通过内核模块的形式提供,可以在Linux系统上使用。


环境

操作系统:

Windows10+Ubuntu20.04*2(虚拟机)

软件:

VmWare Workstation 16 Pro 16.2.4

虚拟机*2

ubuntu-20.04.3-desktop-amd64

测试步骤

部署RDMA软件栈

确认内核是否支持RXE

cat /boot/config-$(uname -r) | grep RXE

如果CONFIG_RDMA_RXE的值为y或者m,表示当前的操作系统可以使用RXE。

安装用户态动态链接库

sudo apt-get install libibverbs1 ibverbs-utils librdmacm1 libibumad3 ibverbs-providers rdma-core
dpkg -L libibverbs1   //查看包内容

安装完成后查看ibv_devices

安装其他工具

  1. iproute2
sudo apt-get install iproute2

iproute2是用来替代net-tools软件包的,是一组开源的网络工具集合,比如用更强大ip命令替换了以前常用的ifconfig。我们需要其中的rdma工具来对RXE进行配置。一般的操作系统都已经包含了,安装也很简单:

  1. perftest
sudo apt-get install perftest

克隆虚拟机

注意:需要选择完整克隆

配置网络模式

两台虚拟机均选择NET模式(N):用于共享主机的IP地址

查看两台虚拟机IP地址

查看Windows主机虚拟网卡IP地址:

这里需要注意如果没在同一网段的话需要更改虚拟机网阔模式为自定义,自定义i选择虚拟网卡

查看两台虚拟机与Windows主机网络连通性

配置RXE网卡

加载内核驱动,modprobe会自动加载其他驱动。

sudo modprobe rdma_rxe

用户态配置

sudo rdma link add rxe0 type rxe netdev ens33

注意这里的rxe_0是RDMA的设备名,可任意取名,ens33为虚拟机的网络设备名,可在 配置网络格式 步骤查看,每个虚拟机可能存在差异

使用ibv_devices查看设备列表

查看虚拟RDMA设备简略信息

ibv_devinfo -d <网卡名称>

注意:步骤配置RXE网卡,两台虚拟机都需要完成。

其他相关命令

删除RDMA内核模块

sudo rdma link delete <rxe name>

其中rxe name为ibv_devices显示的rxe设备名称

查看RDMA连接状态

rdma link show

更改MTU包大小

sudo ifconfig <网卡名称> mtu <MTU包大小>

显示所有RDMA网口的所有信息

ibv_devinfo -v

查看链路类型

ibstat

查看网络中infiniband设备

ibnodes

验证端到端 RDMA 通讯是否在用户空间应用程序中正常工作

server

ibping -S -C mlx4_0 -P 1

client

ibping -c 10000 -f -C mlx4_0 -P 1 -L 49

rping

rping是RDMA的一个示例程序,属于RDMA连接管理库librdmacm。可用于测试两个RDMA节点间的连通性。

rping是一个工具,包含在 librdmacm-utils中,并发送 RDMA 流量。rping与所有 RDMA 驱动的协议(InfiniBand、RoCE 和 iWARP)相关。

server

eddy@eddy:~$ rping -s -v -P
server ping data: rdma-ping-0: ABCDEFGHIJKLMNOP
server ping data: rdma-ping-1: BCDEFGHIJKLMNOPQ
server ping data: rdma-ping-2: CDEFGHIJKLMNOPQR
server ping data: rdma-ping-3: DEFGHIJKLMNOPQRS
server ping data: rdma-ping-4: EFGHIJKLMNOPQRST
server ping data: rdma-ping-5: FGHIJKLMNOPQRSTU
server ping data: rdma-ping-6: GHIJKLMNOPQRSTUV
server ping data: rdma-ping-7: HIJKLMNOPQRSTUVW
server ping data: rdma-ping-8: IJKLMNOPQRSTUVWX
server ping data: rdma-ping-9: JKLMNOPQRSTUVWXY
eddy@eddy:~$

client

eddy@eddy:~$ rping -c -a 192.168.159.131 -C 10 -v -S 30
ping data: rdma-ping-0: ABCDEFGHIJKLMNOP
ping data: rdma-ping-1: BCDEFGHIJKLMNOPQ
ping data: rdma-ping-2: CDEFGHIJKLMNOPQR
ping data: rdma-ping-3: DEFGHIJKLMNOPQRS
ping data: rdma-ping-4: EFGHIJKLMNOPQRST
ping data: rdma-ping-5: FGHIJKLMNOPQRSTU
ping data: rdma-ping-6: GHIJKLMNOPQRSTUV
ping data: rdma-ping-7: HIJKLMNOPQRSTUVW
ping data: rdma-ping-8: IJKLMNOPQRSTUVWX
ping data: rdma-ping-9: JKLMNOPQRSTUVWXY
eddy@eddy:~$

Soft-RoCE部署及通信测试相关推荐

  1. k8s RoCE 部署: k8s-rdma-shared-dev-plugin + macvlan cni

    文章目录 前言 一.创建 k8s 集群 二.启用 primary network 三.启用 secondary network k8s-rdma-shared-dev-plugin Multus CN ...

  2. 【RDMA】15. RDMA之RoCE Soft-RoCE

    [RDMA]RDMA 学习资料总目录_bandaoyu的笔记-CSDN博客SavirRDMA 分享1. RDMA概述https://blog.csdn.net/bandaoyu/article/det ...

  3. 15. RDMA之RoCE Soft-RoCE

    转自:https://zhuanlan.zhihu.com/p/361740115 阅读本文前建议温习"RDMA概述"一文,了解下RDMA领域的基本概念. 我已经在基本概念篇里面跟 ...

  4. Mellanox驱动加载与RoCE soft-RoCE(RDMA)

    背景 处理器(cpu) 内存 I/o设备(外设)三者之间的关系 (1)没有DMA参与的访问方式: 假设I/O设备为一个普通网卡,为了从内存拿到需要发送的数据,然后组装数据包发送到物理链路上,网卡需要通 ...

  5. 一文读懂RoCE,基于以太网的RDMA

    扫码关注笔者公众号linux网络虚拟化获取更多资料 RoCE全称RDMA over Converged Ethernet,从字面来看,也就是基于融合以太网的RDMA,所以在了解RoCE之前还得先认识下 ...

  6. 2015年创业中遇到的技术问题:41-50

     41.Bootstrap换行. col-md-10和col-md-2. 这2个div按说应该在一行的,结果col-md-2换行了. 看看样式,发现有多余的"margin-left: 1px ...

  7. 基于RDMA的RPC框架(一) 环境搭建

    文章目录 一.简介 二.Ubuntu 14安装SoftRoce 2.1.编译内核 2.2.安装用户库 三.Ubuntu 18安装Soft Roce 引用 一.简介 二.Ubuntu 14安装SoftR ...

  8. 【协议】NVMe over RoCE 初探 SATA接口(AHCI协议)、PCIe 接口(NVMe 协议)

    简略 详细 RDMA RDMA网络配置 硬/软件信息 RDMA驱动安装 验证RDMA连通性 NVMe Initiator 和 target 配置 target 端配置 initiator 端配置 配置 ...

  9. 【协议】NVMe over RoCE 初探 SATA、PCIe 接口和AHCI、NVMe 协议

    原文:NVMe over RoCE 初探 - 知乎 常见的 SSD 主要分为 SATA和 PCIe 接口,其接口协议对应着 AHCI.NVMe 协议.相比于最原始的 ATA 协议,AHCI 有 2 个 ...

最新文章

  1. Android典型界面设计(4)——使用ActionBar+Fragment实现tab切换
  2. beego mysql session_关于go中beego/session的小总结
  3. 云炬Android开发笔记 16附加功能开发(二维码,一键分享,分页,搜索)
  4. PyQt v4 - Python Bindings for Qt v4 | Документация
  5. day10 多媒体(文字 图片 音频 视频)
  6. spring(java,js,html) 截图上传
  7. 23 MM配置-采购-采购信息记录-定义屏幕格式
  8. 高中生用付款截图吃霸王餐近一年 网友:支付宝进来推销
  9. 分区字段必须包含在主键字段_十年Java开发经验分享:24 个必须掌握的数据库面试问题...
  10. VUE 浏览器最强插件——极简插件
  11. 全网最全console命令解析总结
  12. python 文档字符串标准_Spyder docstrings文档字符串的标准
  13. 一个90后草根站长的内心独白
  14. 《解决nPlayer卡顿,玩转WebDAV》
  15. 移动Web UI组件库汇总
  16. Mybatis OGNL表达式报错
  17. 大盘酝酿反弹中-可以短跑几天
  18. 通过Burp以及自定义的Sqlmap Tamper进行二次SQL注入
  19. opencv中的split函数
  20. 安卓版c语言怎么使用教程,C语言教程最新安卓版下载v1.0-游迅网

热门文章

  1. TPC/IP 协议头部说明
  2. 「UG/NX」NX2212手动安装方法教程
  3. html格式化整理输出JSON示例(测试)
  4. VS2005+SQL2005
  5. 网络安全工程师需具备的5个重要技能
  6. POSIX是什么?解决了什么问题?
  7. ArcGIS基础:快速批量删除线要素上多余的折点
  8. 傅盛认知三部曲之二:管理本质就是认知管理
  9. Python openpyxl下载和安装
  10. 百度地图API进行网页地点展示