麒麟V10部署ROCEv2网卡配置步骤
以下是为麒麟服务器版V10配置RoCEv2的步骤:
第一步:确认硬件和驱动支持
在开始配置之前,首先要确保你的服务器硬件满足要求。通常需要Mellanox ConnectX系列网卡(例如mlx5系列),并且已安装最新的OFED驱动包。可以通过以下命令检查驱动状态:
modinfo mlx5_core # 查看内核模块信息
lspci | grep Mellanox # 确认网卡型号
如果发现驱动未正确加载,需要从Mellanox官网下载对应版本的驱动并安装。
第二步:切换网卡到RoCEv2模式
默认情况下,RDMA可能运行在RoCEv1模式(基于以太网二层),而RoCEv2需要切换到三层IP模式。使用cma_roce_mode工具调整(假设网卡设备名为mlx5_1):
cma_roce_mode -d mlx5_1 -p 1 -m 2
这里的-m 2表示启用RoCEv2。完成后,建议通过dmesg | grep RDMA查看内核日志,确认模式切换成功。
第三步:配置流量控制和优先级
RoCEv2对网络质量敏感,需配合DCQCN(动态拥塞控制)和PFC(优先级流控制)。假设网卡接口名为ens1np0,需在系统中设置:
- 开启ECN和优先级:
将优先级3(通常用于RoCE流量)的ECN功能启用:echo 1 > /sys/class/net/ens1np0/ecn/roce_np/enable/3
echo 1 > /sys/class/net/ens1np0/ecn/roce_rp/enable/3
- 标记CNP报文:
设置拥塞通知报文(CNP)的DSCP值和802.1p优先级:echo 48 > /sys/class/net/ens1np0/ecn/roce_np/cnp_dscp # DSCP=48
echo 6 > /sys/class/net/ens1np0/ecn/roce_np/cnp_802p_prio # 802.1p优先级6
第四步:优化网卡队列调度
通过Mellanox的mlnx_qos工具调整QoS策略,确保RoCE流量获得足够的带宽。例如,为优先级3分配更高的权重:
mlnx_qos -i ens1np0 --trust=dscp # 信任DSCP标记
mlnx_qos -i ens1np0 -f 0,0,0,1,0,0,0,0 # 在优先级3启用PFC
mlnx_qos -i ens1np0 -s ets,ets,ets,ets,ets,ets,strict,strict -t 10,10,10,50,10,10,0,0 # 队列权重分配
这一步的关键是让优先级3(对应RoCEv2流量)的队列获得更高的带宽比例,避免其他流量抢占资源。
第五步:配置交换机端
如果服务器连接到交换机,需确保交换机配置与网卡一致。例如:
- 在交换机上启用基于DSCP的PFC,并针对DSCP=48(即优先级3)开启流控。
- 确认交换机的ECN功能已启用,并与服务器的DSCP/802.1p映射匹配。
具体配置命令因交换机型号而异,建议参考交换机厂商的文档。
第六步:验证配置
最后一步是测试RoCEv2是否正常工作。推荐使用ib_send_bw工具进行带宽测试:
服务端:
ib_send_bw -d mlx5_1 --report_gbits -F -R
客户端:
ib_send_bw -d mlx5_1 --report_gbits -F -R <服务端IP>
如果看到稳定的高带宽(例如25Gbps或100Gbps,取决于网卡型号),说明配置成功。若出现丢包或低带宽,可以通过ethtool -S ens1np0检查网卡统计信息,或使用Wireshark抓包分析ECN和CNP报文。
注意事项
- 网络服务重启:配置完成后,建议重启网络服务使设置生效:
systemctl restart NetworkManager # 或传统network服务
- 内核参数:如果使用网卡绑定(bonding),需在
/etc/modprobe.d/bonding.conf中配置miimon=100 mode=4(802.3ad动态聚合)。 - 固件升级:如果遇到兼容性问题,可能需要升级网卡固件。
通过以上步骤,你应该能在麒麟V10上成功部署RoCEv2。如果在操作中遇到问题,可以优先检查驱动版本和交换机配置是否匹配,这是最常见的故障点。
麒麟V10部署ROCEv2网卡配置步骤的更多相关文章
- 大数据学习——linux系统的网卡配置步骤
ifconfig 查看ip,没有ip时需要配置 配置步骤: 1输入命令setup,选择network configuration,选择runtool,选择device configuration,选择 ...
- jmeter 环境部署、数据库设置、分布式设置、多网卡配置等随笔
<!-- linux系统修改系统环境变量 系统语言-->[root@web-249 ~]# env|grep LANGLANG=zh_CN.UTF-8[root@web-249 ~]# ...
- linux部署二:网卡配置和Yum源的替换
一,初次登陆: 1.登陆(用root登陆)(1).账户名root(2).密码 ....2.工作界面切换A.Ctrl + alt + F1 : 图形化界面B.Ctrl + alt + F2----F6 ...
- .NET 6应用程序适配国产银河麒麟V10系统随记
最近想在麒麟系统上运行.NET 6程序,经过一番折腾最终完成了,简单记录一下. 目标系统: CPU: aarch64架构(ARM64) 操作系统:银河麒麟V10高级服务器系统 银河麒麟V10系统(以下 ...
- (转)Centos7上部署openstack ocata配置详解
原文:http://www.cnblogs.com/yaohong/p/7601470.html 随笔-124 文章-2 评论-82 Centos7上部署openstack ocata配置详解 ...
- 银河麒麟V10 SP1服务器操作系统-单用户模式与救援模式调试方法
单用户模式 单用户模式:该模式下系统并没有完全运行进来,只是部分程序运行,包括网络服务,ssh服务等部分服务未运行,因此无法通过远程登录到操作系 统.进入单用户方式进行系统维护由是ROO ...
- MySQL数据库集群进行正确配置步骤
MySQL数据库集群进行正确配置步骤 2010-06-09 10:47 arrowcat 博客园 字号:T | T 我们今天是要和大家一起分享的是对MySQL数据库集群进行正确配置,我前两天在相关网站 ...
- Oracle 11g客户端在Linux系统上的配置步骤详解
Oracle 11g客户端在Linux系统上的配置步骤详解 2011-07-26 10:47 newhappy2008 CSDN博客 字号:T | T 本文我们主要介绍了Oracle 11g客户端在L ...
- linux学习之centos(三):网卡配置
Linux系统版本:Centos 6.5 在linux学习之centos(二):虚拟网络三种连接方式和SecureCRT的使用中,使用远程工具SecureCRT,通过“ifconfig eth0 + ...
- 网卡配置和DNS配置,手动挂在nas存储的共享目录,网络相关其它操作命令,修改防火墙中的端口配置,resolv.conf配置详细介绍和网卡信息配置详细介绍
1. 网卡配置和DNS配置 若想服务器能够发邮件,需要让部署的服务器能够访问到外网环境.若部署的服务器访问不到外网,通过ping www.baidu.com的方式执行的时候,会出现以下问题: &q ...
随机推荐
- 详解 IntelliJ IDEA 配置和启动maven项目步骤
一 .从svn中检出web项目: 1.如果是maven项目:首先配置仓库 2.从svn中检出maven项目: 3.检查项目是否是maven项目,如果不是转化成maven,然后点击,更新jar 二.配置 ...
- (原创)[开源][.Net Standard 2.0] SimpleMMF (进程间通信框架)更新 v1.1,极低CPU占用
一.前言 在上一篇 (原创)[.Net] 进程间通信框架(基于共享内存)--SimpleMMF 中,发布了v1.0版,最大的问题是:CPU占用较高,至少40-50%. 这既与我的开发水平有关,也与Si ...
- Cuckoo Hash
最近在看APSI中,涉及到了一些hash技术(朴素hash,置换hash,布谷鸟hash),Hash 技术是 PSI 协议中优化通信复杂度和计算杂度的重要工具之一,现在系统的认识一下! 更多关于哈希函 ...
- Pycharm:鼠标滚动控制字体大小
Pycharm字体放大的设置 1.File -> setting -> Keymap ->在搜寻框中输入:increase -> Increase Font Size(双击) ...
- .NET 中 Logger 常被忽视的方法 BeginScope
BeginScope 方法是 .NET 中 ILogger 接口的一部分,用于创建日志记录的作用域(Scope).这种作用域可以将特定的上下文信息包含在日志中,从而提高日志的可读性和调试效率. 配置日 ...
- [Java] Solon 框架的三大核心组件之一插件扩展体系
1.Solon 的三大核心组件 核心组件 说明 Plugin 插件扩展机制 提供"编码风格"的扩展体系 Ioc/Aop 应用容器 提供基于注入依赖的自动装配体系 Context+H ...
- oracle的新发现for语句
今天为了解决一个查询结果想两次遍历的方法,去ORACLE官网文档中心 https://docs.oracle.com/en/database/oracle/,意外发现这个有意思的for语句.还是官方资 ...
- 一个月狂赚百万?DeepSeek爆火背后的"卖铲人"狂欢
大家好,我是郭顺发,一个白天敲代码晚上写博客的独立开发者.最近有个叫DeepSeek R1的AI模型火得离谱--不是因为它技术多逆天,而是因为一堆人靠它一个月赚了几百万,而他们卖的东西...你绝对想不 ...
- Hetao P1178 冒险者 题解 [ 绿 ][ 最短路 ][ 线性 dp ]
冒险者 题解 本蒟蒻采用的和大部分人解法不同,是根据当前标记值的总和跑最短路的一种解法. 思路 30min ,调代码 2h 的我太蒻了 首先观察题面可以发现本题求的是最少操作数,由于要求最小且有变化的 ...
- 使用nvm管理node.js版本,方便vue2,vue3开发
在Vue项目开发过程中,我们常常会遇到同时维护Vue2和Vue3项目的情况.由于不同版本的Vue对Node.js 版本的要求有所差异,这就使得Node.js 版本管理成为了一个关键问题.NVM(Nod ...