1.2. 从主机中分离 GPU


如果 GPU 绑定到主机内核驱动程序,则无法将 GPU 添加到虚拟机,因此您必须在主机中取消绑定 GPU 设备,然后才能将其添加到虚拟机。主机驱动程序通常不支持 GPU 的动态绑定,因此建议手动将设备从绑定到主机驱动程序中排除。

流程

  1. 在主机上,运行 lspci 命令识别该设备的设备插槽名称和 ID。在以下示例中,使用 NVIDIA Quadro 或 GRID 卡等图形控制器:

    # lspci -Dnn | grep -i NVIDIA
    0000:03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK104GL [Quadro K4200] [10de:11b4] (rev a1)
    0000:03:00.1 Audio device [0403]: NVIDIA Corporation GK104 HDMI Audio Controller [10de:0e0a] (rev a1)

    输出显示安装了 NVIDIA GK104 设备。它具有图形控制器和带有以下属性的音频控制器:

    • 图形控制器的设备插槽名称为 0000:03:00.0,而 graphics 控制器的 vendor-id:device-id 是 10de:11b4
    • 音频控制器的设备插槽名称为 0000:03:00.1,音频控制器的 vendor-id:device-id 是 10de:0e0a
  2. 防止主机机器驱动程序使用 GPU 设备。您可以将 vendor-id:device-id 与 pci-stub 驱动程序一起使用。要做到这一点,请将 pci-stub.ids 选项(值为 vendor-id:device-id)附加到位于 /etc/sysconfig/grub 配置文件中的 GRUB_CMDLINX_LINUX 环境变量,例如:

    GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/vg0-lv_swap rd.lvm.lv=vg0/lv_root rd.lvm.lv=vg0/lv_swap rhgb quiet intel_iommu=on pci-stub.ids=10de:11b4,10de:0e0a"

    为 pci-stub 添加附加厂商 ID 和设备 ID 时,使用逗号分隔它们。

  3. 使用 grub2-mkconfig 重新生成引导装载程序配置使其包含这个选项,如下所示:

    # grub2-mkconfig -o /etc/grub2.cfg
    注意

    在使用基于 UEFI 的主机时,目标文件应为 /etc/grub2-efi.cfg

  4. 重启主机机器。
  5. 确认启用了 IOMMU,主机设备被添加到 pci-stub.ids 列表中,并且 Nouveau 已放入黑名单:

    # cat /proc/cmdline
    BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-147.el8.x86_64 root=/dev/mapper/vg0-lv_root ro crashkernel=auto resume=/dev/mapper/vg0-lv_swap rd.lvm.lv=vg0/lv_root rd.lvm.lv=vg0/lv_swap rhgb quiet intel_iommu=on 
    1
    
    pci-stub.ids=10de:11b4,10de:0e0a 
    2
    
    rdblacklist=nouveau 
    3
1
IOMMU 被启用
2
主机设备被添加到 pci-stub.ids 列表中
3
Nouveau 将列入黑名单
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部