[TOC]
基本概念
RDMA
Remote Direct Memory Access: 为了解决网络传输中服务器端数据处理的延迟而产生,通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,不需要用到多少计算机的处理功能。
IB
infiniband,是一个用于高性能计算的计算机网络通信标准,它具有极高的吞吐量和极低的延迟,用于计算机与计算机之间的数据互连。InfiniBand也用作服务器与存储系统之间的直接或交换互连,以及存储系统之间的互连,它用到了RDMA技术。
IPoIB
Internet Protocol over InfiniBand,利用物理IB网络通过IP协议进行连接,并进行数据传输。性能稍低于rdma,但是比普通的千兆网要快很多。目前在集群nfs上测试,可以10Gb/s
安装infiniband
安装包
infiniband驱动模块是需要在所有infiniband节点安装。
驱动模块,以下软件包之一:
1 | 以下软件包之一:infinipath-psm |
libibverbs 提供InfiniBand Verbs API
1 | yum install libibverbs |
1 | yum install rdma #RDMA栈内核初始化 |
opensm
opensm可以搭建管理子网络。
1 | yum install opensm |
测试工具
infiniband-diags 或 ibutils 为 InfiniBand 结构管理提供大量有用的调试工具。这些工具只
为 iWARP 或 RoCE 提供有限功能,因为大多数工具可在 InfiniBank 链接层工作,但无法在 Verbs API 层
使用。
qperf和perftest 用于各种 RDMA 通讯类型的性能测试应用程序。
------------------------------------
查看所有node的配置信息
------------------------------------
iblinkinfo
CA: node5 mlx5_0:
0x248a07030058f544 1 1[ ] ==( 4X 25.78125 Gbps Active/ LinkUp)==> 11 34[ ] "MF0;switch-ab29a6:MSB7700/U1" ( )
CA: node6 mlx5_0:
0x248a07030058f650 8 1[ ] ==( 4X 25.78125 Gbps Active/ LinkUp)==> 11 32[ ] "MF0;switch-ab29a6:MSB7700/U1" ( )
11 32[ ] ==( 4X 25.78125 Gbps Active/ LinkUp)==> 8 1[ ] "node6 mlx5_0" ( )
11 34[ ] ==( 4X 25.78125 Gbps Active/ LinkUp)==> 1 1[ ] "node5 mlx5_0" ( )
------------------------------------
ibping test RDMA
------------------------------------
首先启动opensm服务
然后查看每个node节点的infiniband信息 ibv_devinfo 或者 ibstat都行
[root@master rdma]#ibv_devinfo && ibstat
hca_id: mlx5_0
transport: InfiniBand (0)
fw_ver: 12.17.1010
node_guid: 248a:0703:0058:f504
sys_image_guid: 248a:0703:0058:f504
vendor_id: 0x02c9
vendor_part_id: 4115
hw_ver: 0x0
board_id: MT_2180110032
phys_port_cnt: 1
port: 1
state: PORT_ACTIVE (4)
max_mtu: 4096 (5)
active_mtu: 4096 (5)
sm_lid: 2
port_lid: 2
port_lmc: 0x00
link_layer: InfiniBand
CA 'mlx5_0'
CA type: MT4115
Number of ports: 1
Firmware version: 12.17.1010
Hardware version: 0
Node GUID: 0x248a07030058f504
System image GUID: 0x248a07030058f504
Port 1:
State: Active
Physical state: LinkUp
Rate: 100
Base lid: 2
LMC: 0
SM lid: 2
Capability mask: 0x2659e84a
Port GUID: 0x248a07030058f504
Link layer: InfiniBand
在服务端
ibping -S -C mlx5_0 -P 1 -L 2
ibping -S -C mlx5_0 -P 1 -G 0x248a07030058f504
-S 以server启动
-C 就是指明CA的名称
-P 指明port
-L 指明port_lid/Base lid
-G 指明GUID
在客户端
ibping -c 10000 -f -C mlx5_0 -P 1 -L 2
指明你要ping的服务端的 -C -P -G -L等
结果如下:
[root@node2 ~]#ibping -c 10000 -f -C mlx5_0 -P 1 -L 2
--- master.(none) (Lid 2) ibping statistics ---
10000 packets transmitted, 10000 received, 0% packet loss, time 1364 ms
rtt min/avg/max = 0.034/0.136/0.849 ms
IPoIB
1 | ------------------------------------ |
通过IPoIB配置nfs
1 | 服务端: |