配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络

服务器端配置

在服务器端,你需要确保安装了必要的驱动程序和软件包,并且正确配置了网络接口。

安装 OFED

首先,安装 Open Fabrics Enterprise Distribution (OFED),它包含了 InfiniBand 所需的驱动程序和库。

sh 复制代码
sudo apt-get update
sudo apt-get install openib-tools openib-ucm libibverbs1 ibverbs-utils rdma-core
配置 NIC

确保 NIC 已经正确识别并且启用了 InfiniBand 功能。

sh 复制代码
# 检查 NIC 是否被识别
ibv_devinfo
配置 MTU

为了获得更好的性能,通常需要增加 MTU(最大传输单元)。

sh 复制代码
# 设置 MTU
ip link set dev <interface> mtu 9000
启用无损以太网

如果使用的是 RoCE,还需要启用无损以太网特性,这通常涉及到 PFC(Priority-Flow Control)和 DCB(Data Center Bridging)。

sh 复制代码
# 启用 PFC
echo 1 > /sys/class/net/<interface>/pfc/capable
echo 1 > /sys/class/net/<interface>/pfc/enabled

# 启用 DCB
echo 1 > /sys/class/net/<interface>/dcb/priority_flow_control
测试 IB 连接

使用测试工具验证 IB 连接是否正常工作。

sh 复制代码
# 使用 ibping 测试连接
ibping -d <device> -a <remote_address> -c 100

# 使用 iperf3 测试带宽
iperf3 -s -T
iperf3 -c <server_ip> -T

华为 IB 交换机配置

华为 IB 交换机通常通过命令行界面(CLI)进行配置。以下是一些基本的配置步骤:

登录交换机

首先,通过 SSH 或串口登录到交换机。

sh 复制代码
ssh admin@<switch_ip>
配置子网管理器

确保子网管理器(SM)已启动并配置好。

sh 复制代码
# 启动子网管理器
system-view
subnet-manager enable
subnet-manager start
subnet-manager quit
配置端口

配置交换机端口的速度、模式和其他参数。

sh 复制代码
# 进入系统视图
system-view

# 配置端口速度
interface <port>
speed 100G
quit

# 配置端口模式
interface <port>
port-type ib
quit
配置 QoS

配置 QoS 策略,以确保不同类型的流量得到合理的优先级处理。

sh 复制代码
# 配置端口 QoS
traffic-policy <policy_name> inbound
traffic-policy <policy_name> outbound
配置 VLAN

如果使用 VLAN 来隔离不同类型的流量,需要在交换机上配置 VLAN。

sh 复制代码
# 创建 VLAN
vlan <vlan-id>

# 将端口加入 VLAN
interface <port>
port access vlan <vlan-id>
quit
监控网络状态

使用交换机的监控工具来实时查看网络状态和性能指标。

sh 复制代码
display interface <port>
display dcb

综合配置和测试

在完成服务器端和交换机端的配置后,需要进行一些综合性的配置和测试,以确保整个网络正常运行:

测试网络连通性

使用 ibpingiperf3 等工具测试节点之间的连通性和带宽。

sh 复制代码
ibping -d <device> -a <remote_address> -c 100
iperf3 -s -T
iperf3 -c <server_ip> -T
性能优化

根据测试结果调整网络参数,如 MTU、队列深度等,以优化性能。

sh 复制代码
# 调整 NIC 上的队列深度
echo 128 > /sys/class/infiniband/<device>/ports/1/max_qp_depth
故障排查

使用日志和监控工具进行故障排查。

sh 复制代码
dmesg | grep mlx5
display diagnostic-information

注意事项

  • 在配置过程中,确保所有节点的时间同步(如使用 NTP)。
  • 监控网络性能和健康状况,及时调整配置以优化性能。
  • 根据具体的应用需求,可能还需要配置其他相关的软件和服务,如存储服务、数据库等。
相关推荐
运维-大白同学3 分钟前
将django+vue项目发布部署到服务器
服务器·vue.js·django
Estar.Lee3 分钟前
时间操作[取当前北京时间]免费API接口教程
android·网络·后端·网络协议·tcp/ip
蝶开三月5 分钟前
php:使用socket函数创建WebSocket服务
网络·websocket·网络协议·php·socket
糖豆豆今天也要努力鸭11 分钟前
torch.__version__的torch版本和conda list的torch版本不一致
linux·pytorch·python·深度学习·conda·torch
G丶AEOM19 分钟前
SSL/TLS,SSL,TLS分别是什么
网络·网络协议·网络安全
烦躁的大鼻嘎19 分钟前
【Linux】深入理解GCC/G++编译流程及库文件管理
linux·运维·服务器
乐大师20 分钟前
Deepin登录后提示“解锁登陆密钥环里的密码不匹配”
运维·服务器
儒道易行22 分钟前
【DVWA】RCE远程命令执行实战
网络·安全·网络安全
ac.char26 分钟前
在 Ubuntu 上安装 Yarn 环境
linux·运维·服务器·ubuntu
敲上瘾26 分钟前
操作系统的理解
linux·运维·服务器·c++·大模型·操作系统·aigc