You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Proxmox环境下PCI直通I225v网卡间歇性故障排查求助

Proxmox环境下PCI直通I225v网卡间歇性故障排查求助

大家好,我遇到了一个挺棘手的问题,想请各位大佬帮忙分析下:

我在Proxmox主机上把一块Intel I225-V网卡通过PCI直通给了pfSense虚拟机(试过FreeBSD14和13版本,问题都存在),这块网卡作为WAN接口使用。但它一直不太稳定,尤其是在负载情况下,接口会频繁地断开又重新连接。

虚拟机里的dmesg输出反复出现如下内容:

igc0: link state changed to DOWN

igc0: link state changed to UP

igc0: link state changed to DOWN

igc0: link state changed to UP

igc0: link state changed to DOWN

igc0: link state changed to UP

...

每次出现这种情况,网络就会中断,影响很大。

我已经检查过线路和物理连接,看起来都没问题。下面是Proxmox主机上执行lspci -s 03:00.0 -vv的输出:

03:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)

Subsystem: Intel Corporation Ethernet Controller I225-V

Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+

Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 0, Cache Line Size: 64 bytes

Interrupt: pin A routed to IRQ 16

IOMMU group: 10

Region 0: Memory at c1100000 (32-bit, non-prefetchable) [size=1M]

Region 3: Memory at c1200000 (32-bit, non-prefetchable) [size=16K]

Expansion ROM at c1000000 [disabled] [size=1M]

Capabilities: [40] Power Management version 3

Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)

Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME-

Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+

Address: 0000000000000000  Data: 0000

Masking: 00000000  Pending: 00000000

Capabilities: [70] MSI-X: Enable+ Count=5 Masked-

Vector table: BAR=3 offset=00000000

PBA: BAR=3 offset=00002000

Capabilities: [a0] Express (v2) Endpoint, MSI 00

DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us

ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W

DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-

RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-

MaxPayload 256 bytes, MaxReadReq 512 bytes

DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-

LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L1, Exit Latency L1 <4us

ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+

LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+

ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-

LnkSta: Speed 5GT/s (ok), Width x1 (ok)

TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+

10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-

EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-

FRS- TPHComp- ExtTPHComp-

AtomicOpsCap: 32bit- 64bit- 128bitCAS-

DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ OBFF Disabled,

AtomicOpsCtl: ReqEn-

LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-

Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-

Compliance De-emphasis: -6dB

LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-

EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-

Retimer- 2Retimers- CrosslinkRes: unsupported

Capabilities: [100 v2] Advanced Error Reporting

UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-

UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-

UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-

CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-

CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+

AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-

MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-

HeaderLog: 00000000 00000000 00000000 00000000

Capabilities: [140 v1] Device Serial Number 88-c9-b3-ff-ff-bf-77-ab

Capabilities: [1c0 v1] Latency Tolerance Reporting

Max snoop latency: 3145728ns

Max no snoop latency: 3145728ns

Capabilities: [1f0 v1] Precision Time Measurement

PTMCap: Requester:+ Responder:- Root:-

PTMClockGranularity: 4ns

PTMControl: Enabled:+ RootSelected:-

PTMEffectiveGranularity: 4ns

Capabilities: [1e0 v1] L1 PM Substates

L1SubCap: PCI-PM_L1.2- PCI-PM_L1.1+ ASPM_L1.2- ASPM_L1.1+ L1_PM_Substates+

L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-

L1SubCtl2:

Kernel driver in use: vfio-pci

Kernel modules: igc

我自己看这个输出没发现明显异常。

下面是我已经尝试过的排查方法,但都没解决问题:

  • 调整硬件卸载设置:在pfSense界面禁用硬件校验和卸载后,问题反而更严重;尝试启用TSO或LRO(igc驱动本身支持这两个特性),也没有改善
  • 禁用EEE节能:在pfSense的/boot/loader.conf中添加了hw.igc.eee_enable=0配置
  • 手动指定速率双工:在pfSense GUI里把网卡强制设置为2500Base-T,关闭自动协商
  • 监控Proxmox主机的PCI电源状态:即使故障发生时,PMv3状态始终保持D0,没有出现电源状态切换
  • 检查pfSense的错误统计:GUI里没看到进出流量的错误信息,中断数也在正常范围(每秒100-200次)

现在我实在想不到其他排查方向了,想请教各位:还有什么可能的原因?或者有没有更深入的诊断方法?谢谢大家!

备注:内容来源于stack exchange,提问作者user3685623

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 11:10:27