赞
踩
最近买了个intel 82576的双口网卡,想直通给虚拟机做软路由使用,设置好直通,虚拟机添加PCI设备后,开机后接口一直报reset错误,无法使用。
ESXI的直通设置如下
启动后报错如下
[ 21.053132] igb 0000:0b:00.0 eth1: Reset adapter [ 22.076862] igb 0000:0b:00.1 eth2: Reset adapter [ 23.724403] igb 0000:0b:00.0 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 25.149404] igb 0000:0b:00.1 eth2: igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 29.244841] igb 0000:0b:00.0 eth1: Reset adapter [ 31.292822] igb 0000:0b:00.1 eth2: Reset adapter [ 31.858408] igb 0000:0b:00.0 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 34.543434] igb 0000:0b:00.1 eth2: igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 36.924903] igb 0000:0b:00.0 eth1: Reset adapter [ 39.525468] igb 0000:0b:00.0 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 39.996899] igb 0000:0b:00.1 eth2: Reset adapter [ 43.136467] igb 0000:0b:00.1 eth2: igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 45.116915] igb 0000:0b:00.0 eth1: Reset adapter [ 47.489434] igb 0000:0b:00.0 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 49.212899] igb 0000:0b:00.1 eth2: Reset adapter [ 52.331477] igb 0000:0b:00.1 eth2: igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 52.796902] igb 0000:0b:00.0 eth1: Reset adapter [ 55.475477] igb 0000:0b:00.0 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 57.916936] igb 0000:0b:00.1 eth2: Reset adapter [ 60.988918] igb 0000:0b:00.0 eth1: Reset adapter [ 61.037449] igb 0000:0b:00.1 eth2: igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 63.266458] igb 0000:0b:00.0 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 67.132947] igb 0000:0b:00.1 eth2: Reset adapter [ 69.180902] igb 0000:0b:00.0 eth1: Reset adapter [ 70.309504] igb 0000:0b:00.1 eth2: igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 71.497487] igb 0000:0b:00.0 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 75.836890] igb 0000:0b:00.1 eth2: Reset adapter [ 76.860913] igb 0000:0b:00.0 eth1: Reset adapter [ 78.921511] igb 0000:0b:00.1 eth2: igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 79.133500] igb 0000:0b:00.0 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 85.052978] igb 0000:0b:00.0 eth1: Reset adapter [ 87.786511] igb 0000:0b:00.0 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 89.148945] igb 0000:0b:00.1 eth2: Reset adapter [ 92.277536] igb 0000:0b:00.1 eth2: igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 93.245009] igb 0000:0b:00.0 eth1: Reset adapter [ 95.605522] igb 0000:0b:00.0 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 97.854287] igb 0000:0b:00.1 eth2: Reset adapter vyos@vyos:~$
查看接口的相关信息如下
vyos@vyos:~$ sudo ethtool -i eth1 driver: igb version: 5.10.103-amd64-vyos firmware-version: 1.2.1 expansion-rom-version: bus-info: 0000:0b:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: yes vyos@vyos:~$ lspci -vvv 0b:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) Subsystem: Intel Corporation Gigabit ET Dual Port Server Adapter Physical Slot: 192 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: 64, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 19 Region 0: Memory at fd3c0000 (32-bit, non-prefetchable) [size=128K] Region 1: Memory at fcc00000 (32-bit, non-prefetchable) [size=4M] Region 2: I/O ports at 5000 [size=32] Region 3: Memory at fd3fc000 (32-bit, non-prefetchable) [size=16K] Capabilities: <access denied> Kernel driver in use: igb Kernel modules: igb 0b:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) Subsystem: Intel Corporation Gigabit ET Dual Port Server Adapter Physical Slot: 192 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: 64, Cache Line Size: 64 bytes Interrupt: pin B routed to IRQ 16 Region 0: Memory at fd3a0000 (32-bit, non-prefetchable) [size=128K] Region 1: Memory at fc800000 (32-bit, non-prefetchable) [size=4M] Region 2: I/O ports at 5020 [size=32] Region 3: Memory at fd3f8000 (32-bit, non-prefetchable) [size=16K] Capabilities: <access denied> Kernel driver in use: igb Kernel modules: igb
已经是最新的intel驱动,查看半天也没有找到是什么问题。
查看了相关的文档并进行了测试,看到其他人也遇到类似的问题,在kvm的环境下直通网卡没有任何问题,在ESXI下就有问题。问题定位在VMware上。
看到VMware的官方文档说有可能跟MSI或MSI-X有关,具体也没仔细研究。
https://www.vmware.com/pdf/vsp_4_vmdirectpath_host.pdf
文档上说为虚机配置文件添加
pciPassthru0.msiEnabled = “FALSE”
但是我试了下,没有任何效果。还在一直报reset adapter错误。
继续查看相关文档,说在虚机启动的时候添加
pci=nomsi pci=pcie_scan_all
能解决问题。
测试后问题确实解决了。。。
本文发布只是为了记录解决生活中的遇到的问题,且为本人原创,转载请说明。
参考文章:
https://www.vmware.com/pdf/vsp_4_vmdirectpath_host.pdf
http://forum.tinycorelinux.net/index.php/topic,25002.0.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。