麒麟服务器【RoCE配置】

什么是RoCE呢?

RoCE 将RDMA技术与以太网技术结合起来,以实现高速、低延迟、高效的数据传输。RoCE技术利用以太网的高带宽和广泛应用的优势,同时又避免了TCP/IP协议栈的高开销,从而实现了低延迟、高吞吐量的数据传输。RoCE技术可以提高数据中心的性能和效率,降低数据传输的延迟和能耗,从而提高数据中心的可靠性和可用性。RoCE技术的应用范围非常广泛,包括高性能计算、云计算、大数据分析等领域。

简单理解:它是一种协议,能跳过操作系统和CPU干预,让数据传输的延迟降低到微秒级。

一、 驱动与工具安装

1. 卸载系统自带网卡驱动

rmmod  mlx5_core  mlx5_en  mlx5_ib

2. 安装MLNX_OFED驱动(以5.8版本为例,适配内核5.10+)

./mlnxofedinstall  --add-kernel-support  --skip-repo  --force

3. 安装RDMA工具包

yum  install  rdma-core  ibutils2  perftest  -y

4. 加载驱动并验证

modprobe  mlx5_core   rdma_rxe  mlx5_ib
ibv_devinfo  # 输出网卡信息,确认state为ACTIVE

二、 网卡RoCEv2模式配置

1. 查看网卡端口信息

ibdev2netdev   # 找到RNIC对应的网口名,如ens1f0

2. 配置RoCEv2(L3模式)+ PFC/ECN

# 绑定网口到RDMA模式
echo  "1"  >  /sys/class/net/ens1f0/device/mlx5_num_vfs
# 启用RoCEv2(UDP封装)
devlink  dev  param  set  pci/0000:01:00.0  roce_ver  2  cmode  runtime
# 启用ECN标记
ethtool  -C  ens1f0  rx-usecs  10  tx-usecs  10
ethtool  -K  ens1f0  tx-ecn  on  rx-ecn on
# 启用PFC(优先级3,与交换机配置一致)
tc  qdisc  add  dev  ens1f0  root  handle 1: prio bands 8
tc  filter  add  dev  ens1f0  parent 1: protocol ip prio 3 u32 match ip dport 4791 0xffff flowid 1:3

3. 验证RoCEv2配置

ibv_rc_pingpong  -d  mlx5_0  -i  1  -g  0  # 本地环回测试,成功则配置生效

注意事项

1. 麒麟系统需关闭防火墙或放行RoCEv2端口(UDP 4791);
2. 交换机必须配置相同优先级的PFC+ECN,否则会出现丢包、延迟飙升;

其他

  1. 分布式存储中常用的网络协议

    • IB:常用于DPC场景中的存储前端网络。
    • RoCE:常用于存储后端网络。
    • TCP/IP:常用于业务网络。
  2. RDMA和TCP/IP

    面对高性能计算、大数据分析等IO高并发、低时延应用,现有TCP/IP软硬件架构不能满足应用的需求,这主要体现在传统的TCP/IP网络通信是通过内核发送消息,这种通信方式存在很高的数据移动和数据复制的开销。RDMA(RemoteDirect Memory Access)技术全称远程直接内存访问,就是为了解决网络传输中服务器端数据处理的延迟而产生的。如图1-1,RDMA技术能直接通过网络接口访问内存数据,无需操作系统内核的介入。这允许高吞吐、低延迟的网络通信,尤其适合在大规模并行计算机集群中使用。
    file
     
    RoCE协议与IB协议实现的通信功能基本相同,区别在于IB协议完全抛弃了TCP/IP协议,从零开始实现了一套通信协议,RoCE则是对IB协议的一种调整,它复用了以太网协议和IP协议,从而更好地兼容现有网络,实现成本低于IB技术成本。

发表回复 0

Your email address will not be published.