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
相关产品推荐
相关产品推荐

