Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

13.3. 配置 Soft-RoCE

RoCE 可以在硬件和软件中实施。soft-RoCE 是 RDMA 传输的软件实施。

先决条件

从 Red Hat Enterprise Linux 7.4 开始,Soft-RoCE 驱动程序已合并到内核中。用户空间驱动程序也合并到 rdma-core 软件包中。soft-RoCE 也称为 RXE。要启动、停止和配置 RXE,请使用 rxe_cfg 脚本。要查看 rxe_cfg 的选项,请输入 rxe_cfg 帮助

过程 13.2. 配置 Soft-RoCE

  1. root 用户身份,输入以下命令显示 RXE 的当前配置状态:
    ~]# rxe_cfg
      rdma_rxe module not loaded
      Name        Link  Driver   Speed   NMTU  IPv4_addr  RDEV  RMTU
      igb_1       yes   igb
      mlx4_1      no    mlx4_en
      mlx4_2      no    mlx4_en
  2. 要载入 RXE 内核模块并启动 RXE,以 root 用户身份输入:
    ~]# rxe_cfg start
      Name        Link  Driver   Speed   NMTU  IPv4_addr  RDEV  RMTU
      igb_1       yes   igb
      mlx4_1      no    mlx4_en
      mlx4_2      no    mlx4_en
    另外,要验证是否载入了 RXE 内核模块,请输入:
    ~]# lsmod |grep rdma_rxe
      rdma_rxe              111129  0
      ip6_udp_tunnel         12755  1 rdma_rxe
      udp_tunnel             14423  1 rdma_rxe
      ib_core               236827  15 rdma_cm,ib_cm,iw_cm,rpcrdma,mlx4_ib,ib_srp,ib_ucm,ib_iser,ib_srpt,ib_umad,ib_uverbs,rdma_rxe,rdma_ucm,ib_ipoib,ib_isert
    
  3. 在通过以太网接口添加新 RXE 设备之前,应打开对应的接口并分配有有效的 IP 地址。添加新的 RXE 设备,如 igb_1
    ~]# rxe_cfg add igb_1
    ~]# rxe_cfg status
      Name        Link  Driver   Speed   NMTU  IPv4_addr  RDEV  RMTU
      igb_1       yes   igb                               rxe0  1024  (3)
      mlx4_1      no    mlx4_en
      mlx4_2      no    mlx4_en
    RDEV 列中的 rxe0 表示为 igb_1 设备启用了 rxe。
  4. 要验证 RXE 设备的状态,请使用 ibv_devices 命令:
    ~]# ibv_devices
      device                 node GUID
      ------              ----------------
      mlx4_0              0002c90300b3cff0
      rxe0                a2369ffffe018294
    或者,输入 aibstat 作为详细状态:
    ~]# ibstat rxe0
    CA 'rxe0'
        CA type:
        Number of ports: 1
        Firmware version:
        Hardware version:
        Node GUID: 0xa2369ffffe018294
        System image GUID: 0x0000000000000000
        Port 1:
            State: Active
            Physical state: LinkUp
            Rate: 2.5
            Base lid: 0
            LMC: 0
            SM lid: 0
            Capability mask: 0x00890000
            Port GUID: 0xa2369ffffe018294
            Link layer: Ethernet

删除 RXE 设备

如果要删除 RXE 设备,请输入:
~]# rxe_cfg remove igb_1

验证 RXE 设备的连接性

以下示例演示了如何在服务器和客户端端验证 RXE 设备的连接。

例 13.1. 在服务器幻灯片中验证 RXE 设备的连接性

~]$ ibv_rc_pingpong -d rxe0 -g 0
  local address:  LID 0x0000, QPN 0x000012, PSN 0xe2965f, GID fe80::290:faff:fe29:486a
  remote address: LID 0x0000, QPN 0x000011, PSN 0x4bf206, GID fe80::290:faff:fe29:470a
8192000 bytes in 0.05 seconds = 1244.06 Mbit/sec
1000 iters in 0.05 seconds = 52.68 usec/iter

例 13.2. 在客户端幻灯片中验证 RXE 设备的连接性

~]$ ibv_rc_pingpong -d rxe0 -g 0 172.31.40.4
  local address:  LID 0x0000, QPN 0x000011, PSN 0x4bf206, GID fe80::290:faff:fe29:470a
  remote address: LID 0x0000, QPN 0x000012, PSN 0xe2965f, GID fe80::290:faff:fe29:486a
 8192000 bytes in 0.05 seconds = 1245.72 Mbit/sec
 1000 iters in 0.05 seconds = 52.61 usec/iter