惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

M
MIT News - Artificial intelligence
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
J
Java Code Geeks
G
Google Developers Blog
美团技术团队
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
The Blog of Author Tim Ferriss
月光博客
月光博客
B
Blog
WordPress大学
WordPress大学
云风的 BLOG
云风的 BLOG
博客园_首页
人人都是产品经理
人人都是产品经理
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
Jina AI
Jina AI
S
SegmentFault 最新的问题
H
Help Net Security
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
Google DeepMind News
Google DeepMind News

Stray Episode

From OPC to NPC 如何手搓一辆公路车 PXE自动化无人值守安装Ubuntu 捡垃圾,H3C TX1801 plus路由器刷OpenWRT AI时代,人人都是架构师(bushi 老板,来杯IPA,像我生活一样苦的 偷一个ICC文件,把你的相机变哈苏 基于泰山派的 PiKVM 现代Python CRUD技术栈 电子佛曰:我看你是完全不懂哦 一个按键都被你玩出花——《节奏医生》 为什么学渣不喜欢上学 使用Telepresence开发调试k8s应用 因为山就在那里,《Celeste蔚蓝》 只要开始摆烂,那我就是无敌的
捡垃圾,折腾一下HP 544+ FLR
Windfarer · 2025-03-04 · via Stray Episode

从围城哥哥那里领养代替购买了一套闲置的HP 544+ FLR网卡(就是ConnectX-3 Pro),在家折腾RDMA网卡玩(涛哥有云:班没上够,回家还搞?)。在经历了发现一张卡凉凉,又50块捡了一张,以及又花了50块捡了56G的IB线缆之后,两张卡终于插到了同一台机器里并用IB直连达到了满意的速度(图个啥

网上冲浪了一阵发现坑还是很多的,资料也比较零散,所以我也整理一下自己的踩坑经验,供后来的垃圾佬参考。垃圾怎么捡我就不教学了,毕竟基本白嫖,经验不丰富,我这里只关注软件部分。

确认设备存活

先确认网卡都认出来了。

 lspci |grep Mellanox

我的机器装的PVE 8.3,基于Debian 12。但是接下来的所有操作都是直接pve系统进行的,不涉及到虚拟机。

装各种包

官方的OFED就不用想着装了,早就不维护,新点的系统都装不上。kernel里应该是内置了mlx4 ethernet的driver,如果只用ethernet看起来不需要特意去装,直接就能识别出来。但如果要搞ib,还是需要装一些其它的包。

apt-get install rdma-core ibverbs-providers infiniband-diags ibutils ibverbs-utils rdmacm-utils perftest

再装下kernel header,这步可能需要配置pve-no-subscription的源,没有的话在这里找 https://mirrors.ustc.edu.cn/help/proxmox.html

apt-get install proxmox-headers-6.8.12-8-pve

这些都干完之后就可以装mst,只能装这个4.25,再新的版本就不支持这个垃圾卡了,从这里下载
https://www.mellanox.com/downloads/MFT/mft-4.25.1-11-x86_64-deb.tgz

解压完运行里面的install.sh

都装完了看看mst是否能用

mst start
mst status

刷固件

如果你的速率显示不是40G(eth模式)或56G(ib模式),那么可能需要刷下固件才能把速率跑上去,固件从这里下载https://pan.baidu.com/s/1uiebg1P-tTL1WIuxMgLblQ?pwd=tfgi

我下的是HP_1380110017_powerlevel_50g_56kr4.bin这个

# 看下刷固件的设备路径在哪,一般是pci_cr0这种
mst status

# 注意命令最后还有个b
flint -d /dev/mst/mt4103_pci_cr0 -i ./HP_1380110017_powerlevel_50g_56kr4.bin b

# 刷完重启
reboot

# 查看网卡状态是否正常
ibstat

IB直连,配置OpenSM

不走交换机,ib直连的话需要启用opensm,不然它state会一直卡在Initializing,走不到Active,如果你恰巧财力雄厚拥有有ib交换机,则可以跳过这步,因为ib交换机帮你sm了(不是

systemctl start opensm

然后再用ibstat看状态应该就正常了

切换网卡模式

mlx网卡可以工作在两种模式,Infiniband或者Ethernet其中一种,日常家用的话还是Ethernet就好了。

另外需要两个口一起切了,应该是没法两种模式同时支持

mst start

# 看一下pciconf的设备路径,在后续命令中使用
mst status

# 配置两个口的设备,1是IB,2是ETH
mlxconfig -d /dev/mst/mt4103_pciconf0 set LINK_TYPE_P1=1
mlxconfig -d /dev/mst/mt4103_pciconf0 set LINK_TYPE_P2=1

# 重启生效
reboot

常用命令

如果是ethernet模式

# 看状态
ethtool enp98s0

# 设速率
ethtool -s enp98s0 autoneg off speed 40000 duplex full

# 启用网卡和ip设置
ip link set enp98s0 up
ip addr add 192.168.5.150/24 dev enp98s0

# 测速
# 服务端 
iperf3 -s
# 客户端
iperf3 -c 192.168.5.150

如果是infiniband模式

# 查看设备状态
ibstat
ibstatus
ibv_devinfo
iblinkinfo

# 测速,还有ib_write_bw之类的命令,参数类似。ib通信并不会走eth网络栈,这里ip填对端能通的ip即可,它只是用于在初始化阶段交换一些配置信息,实际通信会走IB的链路。参数-i是端口号,和ibstat里的对应上就行
# 服务端
ib_send_bw -d ibp1s0 -i 2
# 客户端
ib_send_bw -d ibp98s0 -i 2 192.168.2.1

好了,现在你也可以光速传输小电影了。

参考