SoftRoCE基本概念
SoftRoCE是RDMA传输的一个软件实现。它是作为Github社区项目开发的,主要贡献来自于IBM、Mellanox和System Fabric Works。现在,SoftRoCE已经为Linux上游提交做好了准备。SoftRoCE利用与RoCE相同的效率特性,在任何 NIC 上都可提供完整的 RDMA 堆栈实现。
SoftRoCE的工作原理:SoftRoCE驱动程序通过Linux网络堆栈实现InfiniBand RDMA传输。 它使具有标准以太网适配器的系统能够与硬件RoCE适配器或运行SoftRoCE的其他系统进行互操作。SoftRoCE可以模拟和使用任何RoCE支持的RDMA NICs(如Mellanox mlx4硬件RoCE适配器),它有librxe用户空间库(与libmlx4用户空间库相同)和ib_rxe内核模块(与mlx4_ib内核模块相同)。
配置SoftRoCE环境
设置Fedora25(内核为4.12.8-200)和Fedora25(内核为4.13.8-100),两台服务器背靠背连接以太网网络接口卡。 拓扑结构如下图:
图1 使用SoftRoCE在两台物理机上部署NVMe-oF的拓扑结构
- 可能需要安装内核空间驱动程序和用户空间驱动程序来正确设置SoftRoCE,
以下步骤仅参考:(注意,需要在NVMe-oF target和NVMe-oF启动器上安装驱动程序。)
a. git clone https : //githu