抱歉,我问的问题可能有点蹩脚,但是我从 Linux 开始,所以请您多多包涵。
我已安装 Ryzen 2400G,Ubuntu 18.04 和 IOMMU 已打开。我添加了英特尔四端口千兆以太网,我想在 KVM 上的 pfsense 上使用它。
我看到了很多关于这个问题的帖子,但只适用于 VGA pci-e 卡,我无法让它与我的以太网卡一起工作。如果我理解了,我需要从驱动程序中解除硬件绑定并将其绑定到 KVM。但我不知道怎么做 :(
有关我的以太网控制器的信息:
1d:00.0 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) [8086:10bc] (rev 06)
Subsystem: IBM 82571EB Gigabit Ethernet Controller (Copper) (4-Port 10/100/1000 Base-TX PCI Express Adapter for POWER) [1014:0368]
Flags: bus master, fast devsel, latency 0, IRQ 60
Memory at fe6a0000 (32-bit, non-prefetchable) [size=128K]
Memory at fe680000 (32-bit, non-prefetchable) [size=128K]
I/O ports at d020 [disabled] [size=32]
Expansion ROM at fe660000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: e1000e
Kernel modules: e1000e
1d:00.1 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) [8086:10bc] (rev 06)
Subsystem: IBM 82571EB Gigabit Ethernet Controller (Copper) (4-Port 10/100/1000 Base-TX PCI Express Adapter for POWER) [1014:0368]
Flags: bus master, fast devsel, latency 0, IRQ 64
Memory at fe640000 (32-bit, non-prefetchable) [size=128K]
Memory at fe620000 (32-bit, non-prefetchable) [size=128K]
I/O ports at d000 [disabled] [size=32]
Expansion ROM at fe600000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: e1000e
Kernel modules: e1000e
1e:00.0 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) [8086:10bc] (rev 06)
Subsystem: IBM 82571EB Gigabit Ethernet Controller (Copper) (4-Port 10/100/1000 Base-TX PCI Express Adapter for POWER) [1014:0368]
Flags: bus master, fast devsel, latency 0, IRQ 65
Memory at fe5a0000 (32-bit, non-prefetchable) [size=128K]
Memory at fe580000 (32-bit, non-prefetchable) [size=128K]
I/O ports at c020 [disabled] [size=32]
Expansion ROM at fe560000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: e1000e
Kernel modules: e1000e
1e:00.1 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) [8086:10bc] (rev 06)
Subsystem: IBM 82571EB Gigabit Ethernet Controller (Copper) (4-Port 10/100/1000 Base-TX PCI Express Adapter for POWER) [1014:0368]
Flags: bus master, fast devsel, latency 0, IRQ 66
Memory at fe540000 (32-bit, non-prefetchable) [size=128K]
Memory at fe520000 (32-bit, non-prefetchable) [size=128K]
I/O ports at c000 [disabled] [size=32]
Expansion ROM at fe500000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: e1000e
Kernel modules: e1000e
有人能帮我实现我的愿望吗?如果您需要有关我的系统等的更多信息,请直接询问。
感谢您的任何建议和答案。
答案1
您可以关注Ubuntu 服务器指南这里有基于 vfio 的直通示例。这样你就不需要解除绑定,而是在你的卡上创建虚拟功能,然后转发这些分区卡到您的虚拟机。它还提供了 libvirt xml 片段的示例,您可以将其直接添加到客户机 xml 中,也可以将其作为单独的文件供virsh 附加设备...。
如果您没有支持 VF 的卡,您仍然可以按照您提到的方法解除设备的绑定。通过 libvirt 的转发部分看起来是一样的,但要解除绑定,您可以查看以下示例linux-KVM 维基使用 pci-stub。
如果你不想使用 libvirt,那么linux-KVM wiki pci和linux-KVM wiki vfio还在 qemu 命令行上保存了此示例。