弹性RDMA网卡概述
弹性RDMA网卡(ERI)是一种能支持云服务器实例间在私有网络以RDMA通信的弹性网卡类型,具有低时延、高吞吐、低负载的特点,能显著提升云服务之间的通信效率。同时,ERI支持弹性网卡的产品特性,可实现高可用网络方案。
使用场景
使用弹性RDMA网卡具有以下优势:
- 低时延访问
可实现5us级通信时延并极大降低网络传输在CPU的负载。
- 弹性高可用
支持在线挂载/解绑网卡,以及网卡在服务器之间的灵活迁移,实现高可用网络。
- 低成本
相比专用网络设备,ERI基于私有网络实现,降低使用成本。
适用场景:
- 高性能计算集群
- 人工智能分布式训练
- 数据库
使用说明
创建RDMA网络增强型实例
参考创建实例导航创建RDMA网络增强型实例,RDMA网络增强型实例可参考实例规格。
创建并挂载弹性RDMA网卡
参考创建弹性网卡,需要注意选择RDMA型的网卡类型以创建ERI,如下图。同时在安全组中不可限制UDP 4791端口。
参考挂载弹性网卡的使用说明来挂载ERI到实例,弹性RDMA网卡支持挂载RDMA网络增强型实例。
配置弹性RDMA网卡
参考配置弹性网卡来配置IP地址和路由。
测试弹性RDMA网卡
测试2个RDMA网络增强型实例之间的ERI性能
1.安装OFED驱动
访问OFED下载链接下载系统环境对应的OFED版本,建议您下载LTS 5.4-3.1.0版本。 如您使用CentOS7u8或者CentOS 8u4,则需要额外下载依赖包
CentOS 7u8:
yum install createrepo
yum install elfutils-libelf-devel python-devel redhat-rpm-config rpm-build libtool
CentOS 8u4:
yum install createrepo
yum install kernel-rpm-macros python36 elfutils-libelf-devel python36-devel gdb-headless rpm-build libtool gcc
解压驱动安装包后,在安装目录执行以下命令
./mlnxofedinstall --without-fw-update --add-kernel-support --skip-distro-check
2.查看网卡设备信息
通过show_gids查看网卡的GID表,在VER为v2的选项中,查找目标ERI设备及IP地址对应的INDEX。
3.perftest测试ERI的RDMA带宽
在第一个实例中通过ib_write_bw -d mlx5_1 -x 3 -q 16 --report_gbits 作为server端
在第二个实例中通过ib_write_bw -d mlx5_1 -x 3 -q 16 --report_gbits 192.168.0.3 作为client端,然后可观察到带宽测试结果。
参数解释:
-d: 填写步骤2中DEV对应字段
-x:填写步骤2中INDEX字段
-Client端需要填写server端ERI的IPV4地址
监控弹性RDMA网卡
支持针对已绑定erdma的eri粒度的监控,支持以下指标:
指标名 | MetricName |
---|---|
端口接收数据总数 | RdmaPortRcvData |
端口传输数据总数 | RdmaPortXmitData |
端口接收包总和 | RdmaPortRcvPackets |
端口传输包总和 | RdmaPortXmitPackets |
端口链接关闭次数 | RdmaPortLinkDowned |
端口被丢弃出站数据包总数(由于端口关闭或拥塞) | RdmaPortXmitDiscards |