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 设备 + 管理处理器”,识别时不能只看网络接口。
二、接口类型与总线归属的识别要点
接口类型决定带宽上限。板载 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 系列。第五步用系统命令确认识别结果。
dmidecode -t slot 查看槽位类型和当前使用状态;用 ethtool -i ethX 查看驱动和固件版本;用 mlxfwmanager(Mellanox)或 devlink dev info 查看 DPU/智能网卡的固件信息。四、一个可复用的识别检查清单
| 检查项 | 命令 / 位置 | 判断依据 |
|---|---|---|
| 槽位类型 | 主板手册 / IPMI System Inventory | OCP2.0、OCP3.0 或 PCIe x8/x16 |
| PCIe 拓扑 | lspci -tv | Root Port 归属、Gen 与宽度 |
| 驱动与固件 | ethtool -i、devlink dev info | 版本与兼容性列表一致 |
| 链路速率 | ethtool ethX | Speed 显示 25000/100000Mb/s |
| DPU 独立系统 | lspci 中多设备 + BMC 管理口 | 可登录 DPU OS 确认 |
实际项目中,曾遇到一台 Supermicro 2U 服务器,OCP 槽插了 OCP 3.0 的 100G 双口卡,但 lspci 只识别到一个口。检查发现该 OCP 槽在插满 8 块 NVMe 后从 x16 降为 x8,第二口带宽不足被固件禁用。对照手册的“PCIe 配置表”后,把 NVMe 减到 6 块,两个口恢复正常。这说明兼容性检查不能只看“能不能插进去”,还要看通道分配和固件策略。
lspci -d 按厂商 ID 过滤,再结合 dmidecode -t slot 的槽位信息交叉确认。识别清楚之后,再进入链路配置、SR-IOV 和 RoCE 调优,才不会在错误的总线宽度或错误的固件版本上反复折腾。把“认卡”这一步做扎实,后面的高速网络集成才有稳定的基础。