RDMA 网络实践
本文分享自天翼云开发者社区《RDMA 网络实践》,作者:邢****典
https://www.ctyun.cn/developer/article/411411379961925
RDMA(Remote Direct Memory Access)是远程直接内存访问技术,由于其低时延,低 CPU 占用等优势,被广泛的应用在分布式存储或计算系统中。DMA 技术是一种单机内的高速数据传输技术,通常由 DMA 控制器来控制数据的传输流程,释放了 CPU 资源,而 RDMA 技术是一种借助 IB 网卡实现远程高数数据传输的技术。
常用的 IB 网卡厂商有 Mellanox,Intel。此处以 Mellanox 网卡实践,如下图所示 test 节点上有两块双端口 Mellanox 网卡,其中 MT27800 是 100GE 网卡,MT27710 是 25GE 网卡,且已经工作在 RoCE 模式或 TCP 模式
搭建 RoCEv2 测试网络的步骤如下
1.在 Mellanox 官网找到 IB 网卡的 OFED 驱动安装包
2.安装 OFED 驱动安装包
OFED 安装包中提供的 rpm 安装包只支持部分内核版本,如果本机内核版本不匹配需要先安装对应的 kernel-devel 包,然后执行./mlnx_add_kernel_support.sh -m $OFED_DIR --make-tgz -t /tmp/基于该内核开发包编译得到 rpm 安装包,该命令会在/tmp 目录生成新的 OFED_DIR 目录,在该 OFED_DIR 目录执行./mlnxofedinstall --force 完成安装。
其中 $OFED_DIR 替换成 OFED 安装包解压后的目录
1. 配置 IB 网卡运行在 RoCEv2 或 IB 模式
使用/etc/init.d/openibd restart 启动 openibd 服务后,可以看到系统多出了很多 OFED 提供的命令
2.测试 RoCEv2 网络包收发
通过 rping 或 ib_send_bw 命令可以测试 RoCEv2 或 IB 网络包收发。
评论