VGA 直通可以支持多个 VM 实例吗?

VGA 直通可以支持多个 VM 实例吗?

有很多指南可以指导您使用 Linux KVM 和 QEMU 设置 VGA 直通。但我想知道...

是否可以将同一张显卡同时传送到多个虚拟机?我猜不行,但我真的希望我的虚拟机可以使用两个屏幕,而不必将一个屏幕专用于某个屏幕,也不必在想要切换时关闭客户机以重新配置视频。

这个问题已经有人问过了,但那是五年前的事了,我想知道情况是否有所改变。

答案1

您仅当您的视频卡支持时才可以执行此操作,但几乎在所有情况下它都不支持。

大多数显卡设计为一次只能处理一个操作系统与其通信。因此,您可以将显卡交给主机操作系统(然后只有主机操作系统可以使用它)。或者,您可以(借助 IOMMU)将整个显卡专门交给单个虚拟机,然后该虚拟机可以使用它,但主机操作系统不能使用它,其他虚拟机也不能使用它。如果您试图同时将显卡交给多个虚拟机,那么两者都无法正常工作,因为两个客户操作系统都会尝试同时与显卡通信。从单个客户操作系统的角度来看,这就像显卡一直在神秘地做您没有要求它做的事情。

例外情况是,如果显卡明确支持硬件虚拟化,那么它可以向每个虚拟机呈现自身的多个不同视图,并且每个虚拟机都认为自己看到的是一张完整的显卡。例如这份 AMD 新闻稿描述了一组具有此功能并可同时为多个虚拟机提供 GPU 加速的显卡。

相关内容