7.5.16. 为 GPU Passthrough 准备主机和客户机系统
主机中的图形处理单元(GPU)设备可以直接分配给虚拟机。在达到此目标前,主机和虚拟机都需要对其
grub
配置文件进行修改。您可以使用管理门户中的 Kernel 命令行 空闲文本字段字段编辑主机 grub
配置文件。主机虚拟机和虚拟机都需要重新引导才能使更改生效。
此流程与使用 x86_64 或 ppc64le 架构的主机相关。
有关直接设备分配的硬件要求的更多信息,请参阅安装指南中的 PCI 设备 要求。
重要
如果主机已附加到 Manager,请确保在应用任何更改前将主机置于维护模式。
过程 7.13. 为 GPU Passthrough 准备主机
- 在管理门户中选择一个主机。
- 单击详细信息窗格中的 常规选项卡,然后单击 Hardware。找到 GPU 设备 厂商 ID:产品 ID。在本例中,ID 是
10de:13ba
和10de:0fbc
。 - 右键单击主机并选择 编辑。点 Kernel 标签页。
- 在 Kernel 命令行 free 文本条目字段中,输入位于前面的步骤中的 ID。
pci-stub.ids=10de:13ba,10de:0fbc
- 在主机上将对应的驱动程序列入黑名单。例如,要将 nVidia 的 nouveau 驱动程序列入黑名单,在 pci-stub.ids=xxxx:xxxx 旁边输入 rdblacklist=nouveau。
pci-stub.ids=10de:13ba,10de:0fbc rdblacklist=nouveau
- 点保存更改。
- 单击,将更改提交到主机。
- 重新安装完成后重启主机。
注意
要确认该设备绑定到
pci-stub
驱动程序,请运行 lspci 命令:
# lspci -nnk ... 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM107GL [Quadro K2200] [10de:13ba] (rev a2) Subsystem: NVIDIA Corporation Device [10de:1097] Kernel driver in use: pci-stub 01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fbc] (rev a1) Subsystem: NVIDIA Corporation Device [10de:1097] Kernel driver in use: pci-stub ...
有关如何通过手动编辑
grub
配置文件进行上述更改的说明,请参阅 3.6 管理指南中的 为 GPU Passthrough 准备主机和客户机系统。
继续下一步在客户端系统端配置 GPU 透传。
过程 7.14. 为 GPU Passthrough 准备客户虚拟机
- 对于 Linux
- 仅支持专有 GPU 驱动程序。黑色列出了
grub
配置文件中对应的开源驱动程序。例如:$ vi /etc/default/grub ... GRUB_CMDLINE_LINUX="nofb splash=quiet console=tty0 ... rdblacklist=nouveau" ...
- 找到 GPU BusID。在这个示例中,是 BusID 为
00:09.0
。# lspci | grep VGA 00:09.0 VGA compatible controller: NVIDIA Corporation GK106GL [Quadro K4000] (rev a1)
- 编辑
/etc/X11/xorg.conf
文件并附加以下内容:Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BusID "PCI:0:9:0" EndSection
- 重启虚拟机。
- 对于 Windows
- 为该设备下载并安装对应的驱动程序。例如,对于 Nvidia 驱动程序,请访问 NVIDIA Driver Downloads。
- 重启虚拟机。
现在,主机 GPU 可以直接分配给准备好的虚拟机。有关为虚拟机分配主机设备的更多信息,请参阅虚拟机管理指南中的 主机设备。