多个虚拟机通过PCIE访问单个设备



我正在使用libvirt/QEMU/KVM堆栈在Ubuntu 20.04主机上运行一些虚拟机。我正在使用virsh CLI工具进行VM管理。我希望允许多个虚拟机通过PCIE访问同一设备(FPGA(。libvirt似乎不允许这样做,当我将PCIE设备连接到多个VM并尝试为多个VM供电时,我会收到以下错误。

error: Failed to start domain ubuntu-guest-2
error: Requested operation is not valid: PCI device 0000:05:00.0 is in use by driver QEMU, domain ubuntu-guest-1

这对我来说有点道理,因为通过PCIE总线发送的数据不应该有冲突。但尽管如此,有人知道实现这一点的变通方法吗?

有许多技术可以在虚拟机之间共享设备。所有这些都需要VMM中特定于设备的软件支持、设备中支持共享的硬件(SR-IOV(,或者两者都需要(可扩展IOV(。

对于自定义FPGA设计,您需要提供此功能。

SR-IOV是PCIe规范的一部分,因此可能有可用的库,您可以将其纳入FPGA设计中。

最新更新