16.7.2. NVIDIA vGPU 分配
NVIDIA vGPU 功能可以将物理 GPU 设备划分为多个虚拟设备(称为 介质设备 )。然后可将这些 mediated devices 分配给多个客户机,作为虚拟 GPU。因此,这些客户机共享单个物理 GPU 的性能。
重要
这个功能仅适用于有限的 NVIDIA GPU。有关这些设备的最新列表,请参阅 NVIDIA GPU 软件文档。
16.7.2.1. NVIDIA vGPU 设置 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要设置 vGPU 功能,您首先需要为 GPU 设备获取 NVIDIA vGPU 驱动程序,然后创建介质设备,并将其分配给预期的客户端机器:
- 获取 NVIDIA vGPU 驱动程序并在您的系统中安装它们。具体步骤请查看 NVIDIA 文档。
- 如果 NVIDIA 软件安装程序没有创建
/etc/modprobe.d/nvidia-installer-disable-nouveau.conf
文件,请在/etc/modprobe.d/
目录中创建.conf
文件(名称)。在文件中添加以下行:blacklist nouveau options nouveau modeset=0
blacklist nouveau options nouveau modeset=0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 为当前内核重新生成初始 ramdisk,然后重启:
dracut --force reboot
# dracut --force # reboot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您需要使用带有介质设备支持的内核版本,请为所有安装的内核版本重新生成初始 ramdisk:dracut --regenerate-all --force reboot
# dracut --regenerate-all --force # reboot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 检查
nvidia_vgpu_vfio
模块是否已由内核加载,且nvidia-vgpu-mgr.service
服务是否正在运行。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将设备 UUID 写入
/sys/class/mdev_bus/pci_dev/mdev_supported_types/type-id/create
,其中 pci_dev 是主机 GPU 的 PCI 地址,type-id 是主机 GPU 类型的 ID。以下示例演示了如何在 NVIDIA Tesla P4 卡上创建nvidia-63
vGPU 类型的介质设备:uuidgen echo "30820a6f-b1a5-4503-91ca-0c10ba58692a" > /sys/class/mdev_bus/0000:01:00.0/mdev_supported_types/nvidia-63/create
# uuidgen 30820a6f-b1a5-4503-91ca-0c10ba58692a # echo "30820a6f-b1a5-4503-91ca-0c10ba58692a" > /sys/class/mdev_bus/0000:01:00.0/mdev_supported_types/nvidia-63/create
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关特定设备的 type-id 值,请参阅 section 1.3.1。虚拟 GPU 类型 在 Virtual GPU 软件文档中。请注意,只有 Q series NVIDIA vGPUs(如GRID P4-2Q
)作为 Linux 客户机上的介质设备 GPU 类型被支持。 - 在您要共享 vGPU 资源的 XML 配置中的 <devices/> 部分中添加以下行。使用上一步中 uuidgen 命令生成的 UUID 值。每个 UUID 每次只能分配给一个 guest。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要要让 vGPU 介质设备在分配的客户机中正常工作,需要为客户机设置 NVIDIA vGPU 客户机软件许可。如需更多信息和说明,请参阅 NVIDIA 虚拟 GPU 软件文档。