4. Supermicro网卡与交换模块识别

在 Supermicro 服务器上做高速网络集成,第一步不是插线,而是“认卡”。同一台机器可能同时存在板载网卡、OCP 网卡、PCIe 网卡、智能网卡和 DPU,它们的外观、总线位置、供电方式、固件来源和驱动栈都不一样。认错卡,后面的链路协商、SR-IOV、RoCE 配置都会走偏。本节按物理形态、接口类型和兼容性检查三条线,把识别方法讲清楚。

一、五类网卡的物理形态与接口定位

板载网卡(Onboard LAN)直接焊接在主板上,通常位于后置 I/O 面板附近,常见为 1GbE 或 10GbE 的 RJ45 或 SFP+ 接口。它由主板芯片组或 SoC 提供,不占用 PCIe 插槽,BIOS 中一般以“Onboard LAN”或“LAN1/LAN2”出现。板载网卡适合管理口和低速业务,不适合做 25G/100G 高速转发。

OCP 网卡(OCP 2.0/3.0 Mezzanine)是 Supermicro 高速组网的主力形态。它插在主板专用的 OCP 夹层槽位上,水平贴装,接口朝后窗。OCP 2.0 为 x8 PCIe 3.0,OCP 3.0 为 x16 PCIe 4.0/5.0,机械尺寸和连接器不同,不能混插。OCP 卡通常带 2 个 QSFP28/QSFP56 或 SFP28 笼子,支持 25G/100G,部分型号支持 200G。它的优势是省 PCIe 槽、走线短、支持 NC-SI 带外管理。

PCIe 网卡是标准半高半长或全高全长卡,插在 CPU 直连或 PCH 下挂的 PCIe 槽。识别时要看金手指长度(x8/x16)、挡板高度和笼子类型。PCIe 网卡灵活,但会占用槽位,且部分槽位与 OCP、NVMe 背板共享通道,插卡前必须查主板手册的“PCIe 配置表”。

智能网卡(SmartNIC)在普通网卡基础上增加了可编程引擎(如 FPGA 或 ARM 核),能做 OVS 卸载、加密、存储加速。物理形态多为 PCIe 全高卡或 OCP 3.0,功耗更高,通常需要额外 6pin/8pin 供电或更高槽位供电能力。识别特征是卡上除网络芯片外还有独立处理器和较大散热片。

DPU(Data Processing Unit)是智能网卡的进一步形态,把 ARM 多核、内存、PCIe Switch 和网络接口集成在一起,可独立运行操作系统。典型如 NVIDIA BlueField-2/3,形态为 PCIe 全高全长或 OCP 3.0,功耗 75W~150W。DPU 在系统中会同时呈现为“网卡 + PCIe 设备 + 管理处理器”,识别时不能只看网络接口。

Supermicro 服务器网卡形态与接口定位 主板 / 机箱内部俯视示意 板载网卡 RJ45 / SFP+ 焊于主板 · 不占槽 OCP 夹层槽 OCP2.0 x8 / OCP3.0 x16 水平贴装 · 后窗出线 PCIe 插槽 x8 / x16 金手指 半高 / 全高挡板 智能网卡 FPGA / ARM 核 PCIe 或 OCP3.0 DPU ARM 多核 + 内存 PCIe Switch + 网口 可独立运行 OS 可集成 兼容性检查链(按顺序核对) ① 槽位类型 OCP2/3 或 PCIe ② PCIe 通道 Gen/宽度/共享 ③ 供电与散热 TDP/风道/供电 ④ 固件与驱动 版本匹配 ⑤ 系统识别 lspci 确认

二、接口类型与总线归属的识别要点

接口类型决定带宽上限。板载 1GbE 走 PCH 或 SoC 内部 MAC;OCP 2.0 走 x8 PCIe 3.0,理论 8GT/s,实际可跑满双口 25G;OCP 3.0 走 x16 PCIe 4.0/5.0,可支撑双口 100G 或单口 200G。PCIe 网卡要看插槽的电气宽度:物理 x16 槽若只有 x8 电气,插 x16 卡会降速或无法识别。

在 Linux 下用 lspci -tv 看拓扑最直接。例如:

$ lspci -tv
-[0000:00]-+-00.0  Intel Corporation Ice Lake Memory Map
           +-01.0-[01]----00.0  Mellanox Technologies MT2892 Family [ConnectX-6 Dx]
           +-02.0-[02]----00.0  Intel Corporation Ethernet Controller E810-XXV
           +-1f.6  Intel Corporation Ethernet Connection X722 for 1GbE

输出中 [01]、[02] 是 PCIe 桥后的总线号,说明卡挂在哪个 Root Port 下。ConnectX-6 Dx 出现在 01.0 下,通常是 CPU 直连的 PCIe 槽;X722 在 1f.6,是 PCH 下的板载网卡。OCP 卡一般也显示为独立 Root Port 下的设备,但物理位置要靠 dmidecode -t slot 或 Supermicro IPMI 的“System Inventory”确认。

三、兼容性检查的实操方法

兼容性检查分五步,顺序不能颠倒。第一步查槽位类型:打开主板手册的“OCP 与 PCIe 配置”章节,确认 OCP 槽是 2.0 还是 3.0,PCIe 槽的电气宽度和 Gen 版本。第二步查 PCIe 通道共享:很多 Supermicro 主板在插满 NVMe 背板后,某些 PCIe 槽会从 x16 降到 x8 或直接禁用,手册里通常用表格标注“Slot 3: x16 or x8 when NVMe installed”。第三步查供电与散热:智能网卡和 DPU 的 TDP 可达 75W~150W,要确认槽位供电和机箱风道是否满足,必要时加装导风罩。第四步查固件与驱动:OCP 卡和 DPU 的固件版本要与 Supermicro 的兼容性列表(OS Compatibility Matrix)对齐,尤其是 ConnectX 系列和 BlueField 系列。第五步用系统命令确认识别结果。

识别 OCP 卡时,可用 dmidecode -t slot 查看槽位类型和当前使用状态;用 ethtool -i ethX 查看驱动和固件版本;用 mlxfwmanager(Mellanox)或 devlink dev info 查看 DPU/智能网卡的固件信息。

四、一个可复用的识别检查清单

检查项命令 / 位置判断依据
槽位类型主板手册 / IPMI System InventoryOCP2.0、OCP3.0 或 PCIe x8/x16
PCIe 拓扑lspci -tvRoot Port 归属、Gen 与宽度
驱动与固件ethtool -i、devlink dev info版本与兼容性列表一致
链路速率ethtool ethXSpeed 显示 25000/100000Mb/s
DPU 独立系统lspci 中多设备 + BMC 管理口可登录 DPU OS 确认

实际项目中,曾遇到一台 Supermicro 2U 服务器,OCP 槽插了 OCP 3.0 的 100G 双口卡,但 lspci 只识别到一个口。检查发现该 OCP 槽在插满 8 块 NVMe 后从 x16 降为 x8,第二口带宽不足被固件禁用。对照手册的“PCIe 配置表”后,把 NVMe 减到 6 块,两个口恢复正常。这说明兼容性检查不能只看“能不能插进去”,还要看通道分配和固件策略。

DPU 和智能网卡在 BIOS 中可能显示为多个 PCIe 设备(网络功能、管理功能、存储功能),不要误判为多张卡。用 lspci -d 按厂商 ID 过滤,再结合 dmidecode -t slot 的槽位信息交叉确认。

识别清楚之后,再进入链路配置、SR-IOV 和 RoCE 调优,才不会在错误的总线宽度或错误的固件版本上反复折腾。把“认卡”这一步做扎实,后面的高速网络集成才有稳定的基础。