第 2 章 分配虚拟 GPU
要设置 NVIDIA vGPU 设备,您需要:
- 为您的 GPU 设备获取并安装正确的 NVIDIA vGPU 驱动程序
- 创建介质设备
- 为虚拟机分配每个介质设备
- 在每个虚拟机上安装客户机驱动程序。
以下流程解释了此过程。
2.1. 在主机上设置 NVIDIA vGPU 设备 复制链接链接已复制到粘贴板!
在客户端操作系统中安装 NVIDIA vGPU 驱动程序前,您需要理解许可要求并获取正确的许可证凭证。
先决条件
- 您的 GPU 设备支持虚拟 GPU(vGPU)功能。
- 您的系统被列为是已经过验证的有效服务器硬件平台。
有关支持的 GPU 和验证平台的更多信息,请参阅 www.nvidia.com 上的 NVIDIA vGPU CERTIFIED SERVERS。
流程
- 为主机下载并安装 NVIDIA 驱动程序。有关获取驱动程序的详情,请查看 NVIDIA 网站上的驱动程序页面。
-
如果 NVIDIA 软件安装程序没有创建
/etc/modprobe.d/nvidia-installer-disable-nouveau.conf文件,请手动创建。 在文本编辑器中打开
/etc/modprobe.d/nvidia-installer-disable-nouveau.conf文件,并在文件末尾添加以下行:blacklist nouveau options nouveau modeset=0为当前内核重新生成初始 ramdisk,然后重新启动:
# dracut --force # reboot另外,如果您需要使用带有介质设备的之前支持的内核版本,请为所有安装的内核版本重新生成初始 ramdisk:
# dracut --regenerate-all --force # reboot检查内核是否已载入
nvidia_vgpu_vfio模块:# lsmod | grep nvidia_vgpu_vfio检查
nvidia-vgpu-mgr.service服务是否正在运行:# systemctl status nvidia-vgpu-mgr.service例如:
# lsmod | grep nvidia_vgpu_vfio nvidia_vgpu_vfio 45011 0 nvidia 14333621 10 nvidia_vgpu_vfio mdev 20414 2 vfio_mdev,nvidia_vgpu_vfio vfio 32695 3 vfio_mdev,nvidia_vgpu_vfio,vfio_iommu_type1 # systemctl status nvidia-vgpu-mgr.service nvidia-vgpu-mgr.service - NVIDIA vGPU Manager Daemon Loaded: loaded (/usr/lib/systemd/system/nvidia-vgpu-mgr.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2018-03-16 10:17:36 CET; 5h 8min ago Main PID: 1553 (nvidia-vgpu-mgr) [...]通过在终端或者在脚本中输入以下行来获取可用 mdev 类型列表:
for device in /sys/class/mdev_bus/; do for mdev_type in $device/mdev_supported_types/; do MDEV_TYPE=$(basename $mdev_type) DESCRIPTION=$(cat $mdev_type/description) NAME=$(cat $mdev_type/name) echo "mdev_type: $MDEV_TYPE --- description: $DESCRIPTION --- name: $NAME"; done; done | sort | uniq注意有关特定 GPU 设备的
type-id值,请参阅 Virtual GPU 软件文档中的虚拟 GPU 类型。请注意,只有 Q-series NVIDIA vGPU(如 GRID P4-2Q)支持 Linux 虚拟机上的介质设备 GPU 类型。输出结果类似如下:
mdev_type: nvidia-11 --- description: num_heads=2, frl_config=45, framebuffer=512M, max_resolution=2560x1600, max_instance=16 --- name: GRID M60-0B mdev_type: nvidia-12 --- description: num_heads=2, frl_config=60, framebuffer=512M, max_resolution=2560x1600, max_instance=16 --- name: GRID M60-0Q ... mdev_type: nvidia-22 --- description: num_heads=4, frl_config=60, framebuffer=8192M, max_resolution=4096x2160, max_instance=1 --- name: GRID M60-8Q-
在管理门户中,点
。选择一个虚拟机并点击 。此时会出现 Edit Virtual Machine 对话框。 - 点自定义属性。如果没有出现自定义属性,请首先单击 Show Advanced Options。
-
在 Custom Properties 对话框中,点
。如果没有出现 Please select a key,点 按钮。 在出现的文本字段中,输入您之前识别的 GPU 类型或类型。例如: nvidia-12。您可以使用一个以逗号分隔的列表为一个虚拟机添加多个 vGPU。例如:nvidia22,nvidia22.
注意多个 vGPU 必须是相同的 mdev 类型。例如您不能使用 nvidia22,nvidia15。
现在,已完成在主机上安装和配置 GPU,您可以继续在每个虚拟机上安装和配置 vGPU。