首页 企业 Proxmox vGPU 指南:您的 GPU 值得拥有的不仅仅是直通

Proxmox vGPU 指南:您的 GPU 值得拥有的不仅仅是直通

by 安德鲁·瓦格

了解如何通过分步设置、测试和性能洞察配置 Proxmox vGPU 以用于 AI、VDI 和渲染。

Proxmox Server Solutions 最近宣布其虚拟环境 (VE) 虚拟机管理程序支持 NVIDIA vGPU,为渲染、VDI、AI 和其他应用程序开启了全新的 GPU 加速世界。欢迎加入我们,我们将带您了解虚拟机管理程序的新功能集并评估其性能。

vGPU 支持有什么大不了?

如果您不熟悉 NVIDIA 的 vGPU 软件,它允许对 GPU 的计算和内存资源进行分区并分配给多个虚拟机 (VM)。在此设置中,虚拟机交替使用 GPU 的处理能力并分配一部分卡内存以满足其需求。这种方法使 GPU 能够保持峰值利用率,即使客户虚拟机的工作负载强度有所不同。

Proxmox vGPU L40S 安装

开始之前...(先决条件)

在 Proxmox VE (PVE) 中启动 GPU 虚拟化环境之前,您需要做一些事情。与许多数据中心产品一样,NVIDIA 的 vGPU 软件不是免费的。您需要 采购 or 注册评估版本 虚拟 GPU 软件并创建 NVIDIA Enterprise 帐户。接下来,您必须获得 vGPU 兼容卡 并从下载适当的驱动程序 授权门户. 获取“Linux KVM”驱动程序的最新版本。至少下载以下内容:

  • vGPU 软件:18.0
  • 主机驱动程序:570.124.03
  • Linux 客户机驱动程序:570.124.06
  • Windows 客户机驱动程序:572.60

我们在这个项目中利用了 NVIDIA L40S 和 Dell PowerEdge R760。

Proxmox vGPU NVIDIA GPU

此外,您还需要专用许可服务器 (DLS) 或云许可服务器 (CLS) 来激活客户机上的 vGPU 功能。您可以单击以下链接查看快速入门指南: 点击这里.

接下来,验证服务器的 UEFI (BIOS) 设置是否启用了正确的虚拟化功能。查找 室速 or AMD-v, 车联网, 4G以上解码, 可调整大小的栏替代路由 ID 解释 (阿里) 设置,并确保所有设置都已启用。

请注意: 您可能无法在 UEFI 菜单中找到所有这些功能,因为某些功能可能不会向用户显示。

最后,检查您是否使用了合适版本的 Proxmox VE。vGPU 功能至少需要 pve-manager 版本 8.3.4,内核为 6.18.12-8-pve 或更新版本。您可以通过导航到所需服务器上的“摘要”选项卡来检查 PVE 节点的软件版本,如下所示:

Proxmox vGPU VE 接口 1

拥有最多的主机(Proxmox Host vGPU 设置)

现在一切准备就绪,是时候配置 Proxmox VE 服务器了。在 Proxmox VE 服务器的 Web 界面中,单击屏幕左侧的服务器名称,然后选择“Shell”选项卡。在出现的控制台窗口中键入此命令,完成后按 Enter:

apt 安装 pve-nvidia-vgpu-helper

这将确保 vGPU 设置工具安装在您的服务器上,为 Proxmox vGPU 支持做好准备。服务器完成脚本安装或通知您脚本已存在后,再运行一个命令来执行该工具。

pve-nvidia-vgpu-helper 设置

对任何问题都回答“Y”,然后继续操作,直到控制台窗口返回并且脚本完成。通过导航到服务器的“Summary”选项卡并点击“Reboot”按钮来快速重启服务器,或者在“Shell”选项卡控制台中输入重启命令并按 Enter。

接下来,需要将 NVIDIA 的 vGPU 主机驱动程序加载到服务器上。服务器完成重启后,使用 SSH 或 SCP 传输工具,例如 WinSCP赋予 将主机驱动程序复制到节点。

请注意: 如果您将所有驱动程序一起下载为压缩(.zip)文件夹,则可能需要先提取其内容,然后从“Host_Drivers”文件夹中选择“.run”文件。

将文件放在服务器的“/home”目录中,并准备使用以下命令运行安装程序。

cd /home chown root NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run chmod +X NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run ./NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run --dkms

请注意: 将“NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run”替换为您下载的驱动程序的实际名称。将文件放入“/home”目录后,您可以使用“ls”命令显示文件的名称。

现在,驱动程序已安装在服务器上,我们距离完成 Proxmox vGPU 配置的主机端只有几步之遥!在将 GPU 标记为可在虚拟机之间拆分的设备之前,我们必须启用单根 I/O 虚拟化 (SR-IOV)。 NVIDIA 定义了此功能 为“…一种允许物理 PCIe 设备通过 PCIe 总线多次出现的技术。该技术可实现具有独立资源的设备多个虚拟实例。”由于 SR-IOV 是现代 GPU 上基本 vGPU 功能所需的一项关键技术,因此请使用以下命令将其设置为在启动时开启:

systemctl enable--now [电子邮件保护]

最后,我们可以规划 GPU 的资源,将它们整齐地分配给虚拟机。在 Proxmox VE 服务器的 Web 界面上,单击左上角的“数据中心”,然后向下滚动以选择“资源映射”选项卡。

单击页面“PCI 设备”部分下方的“添加”按钮,然后在下一个窗口的“名称:”字段中填写描述您正在映射的 GPU 的名称。

接下来,选中标有“与中介设备一起使用”的框,并确保“节点上的映射”下拉菜单包含映射 GPU 的服务器。向下滚动设备列表,确认所有设备 ID 的“供应商”列中都有“NVIDIA Corporation”。如果是,请单击表格左上角的复选框以选择所有设备;否则,仅选择供应商为“NVIDIA Corporation”的设备。

请注意: 如果您的系统中安装了多个 GPU,您可以使用所需服务器上的“Shell”选项卡中的“lspci”命令来确定每张卡的 ID。

选择完设备后,单击弹出窗口右下角的“创建”按钮以确认您的选择。您的 NVIDIA GPU 现在可以切分为 vGPU 供 Proxmox VE 服务器的客户端使用!

为客户机提供服务(将 vGPU 分配给虚拟机)

一切准备就绪,我们可以开始在虚拟机上分配和使用 vGPU。首先像往常一样创建一个新的虚拟机,或者使用现有的 VM。为了进行演示,我们将使用 Windows Server 2025 虚拟机。

在 Proxmox VE 服务器的 Web 界面中,使用您认为合适的任何方法(无 VNC 控制台、客户机电源菜单等)关闭虚拟机,然后单击客户的“硬件”选项卡。

在单击“添加”按钮后出现的下拉菜单中,选择“PCI 设备”。

在弹出的“添加:PCI 设备”窗口中,在“设备:”字段中选择您分配给资源映射 GPU 的名称。

接下来,单击“MDev 类型:”字段并观察显示的中介设备类型选项列表。您可能会注意到每个选项都有一个数字和字母标识。数字代表分配给客户机的 VRAM 数量(以 GB 为单位),而“A”、“B”和“Q”指的是 vGPU 的使用情况:

  • Q – 带有 RTX Enterprise 驱动程序的虚拟工作站(需要 RTX vWS 许可证)
  • B – 虚拟桌面(需要 NVIDIA Virtual PC 许可证或 RTX vWS 许可证)
  • A – 应用程序解决方案(需要 NVIDIA 虚拟应用程序许可证)

请注意: 您可以阅读有关不同 vGPU 配置文件及其所需许可证的更多信息 点击这里.

在本演示中,我们使用了“NVIDIA L40S-12Q”配置文件。选择所需的中介设备类型后,勾选“PCI-Express”复选框并单击蓝色的“添加”按钮即可完成。

现在,虚拟机已分配 vGPU,但我们仍需要安装客户机驱动程序和许可令牌才能开始运行。现在,您可以启动虚拟机并登录。

登录后,将之前获取的 NVIDIA vGPU 客户机驱动程序从 授权门户 以任何你喜欢的方式(SMB、SCP、直接下载等)上传到虚拟机。或者,你可以使用类似软件创建包含驱动程序的虚拟 CD-ROM 文件 (.iso) 并将其上传到 PVE 服务器的存储中 ImgBurn的 同时部署许多启用 vGPU 的客户机。

双击可执行文件来运行驱动程序安装程序文件,然后按照出现的安装菜单上的说明进行操作。

将驱动程序解压到“提取路径:”字段中的默认位置,并在出现提示时选择“快速”安装选项。

驱动程序安装完成后,点击“CLOSE”按钮退出菜单。

接下来,我们需要在客户机上激活 vGPU 许可证。激活方法可能会有很大差异,具体取决于您选择专用许可证服务器 (DLS) 还是云许可证服务器 (CLS),以及您的操作系统。请遵循 NVIDIA 的 许可证系统快速入门指南客户端许可用户指南 有关为您的特定设置激活客户端的详细步骤。

我们使用了云许可证服务器并收到一个令牌文件,将其放置在客户机上进行激活。将此文件移动到客户机上并将其复制到“C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken”文件夹。

接下来,需要重新启动客户机以完成激活过程。

按照此处详述的所有主机和客户机配置步骤,您应该已准备好运行需要 GPU 的程序和应用程序。重启后,不要忘记启用远程桌面协议 (RDP) 或在客户机上安装您最喜欢的远程桌面软件,以享受 GPU 加速的远程查看优势!

启动引擎(试用 Proxmox vGPU)

现在我们已经有了一些带有虚拟 GPU 的虚拟服务器,让我们来试试吧!我们的每台虚拟机都配置了 8 个固定 Intel Xeon Platinum 8580 vCPU(4 个超线程核心)、32 GB 的 DDR5 4800 MT/s 注册 ECC RAM 以及带有 40 GB VRAM 的 NVIDIA L12S-12Q(虚拟工作站)vGPU 配置文件。您可以在下面看到虚拟机的完整硬件配置:

Cinebench 2024

Cinebench 4 基于 Maxon 的 Cinema 2024D 建模和动画软件,提供了有趣且客观的 vGPU 渲染性能观察。让我们比较一下 L40S 在其“48Q”(全部 48 GB VRAM)配置文件中的全部功能,一台虚拟机与四台运行“12Q”配置文件的虚拟机。

虽然让一台虚拟机独占整个 L40S 没什么意义,但我们可以看到,在单次 GPU 基准测试中,其性能令人印象深刻,达到 21,147 分。然而,将 GPU 分成四份则显示了 NVIDIA 时间分片方法对共享 GPU CUDA 核心的影响,当基准测试在所有虚拟机上同时运行时,单个分数范围从 2,514 到 2,567。

在具有“12Q”配置文件的单个虚拟机上重新运行测试,其他三台虚拟机处于空闲状态,分数将回升至 15,133。这并非完全恢复到完整 GPU 的分数,但对于分区 vGPU 来说,这仍然是可观的。

Blender 基准测试

让我们继续使用 Blender 进行一些渲染基准测试。与 Cinebench 2024 的趋势类似,将 GPU 拆分为四份会导致总体性能大幅下降,与在同一配置文件中运行相同工作负载的单个虚拟机相比。

正如 Monster 基准测试所显示的那样,只有四台虚拟机共享 GPU 的计算能力,这意味着单个渲染性能可能只有具有相同配置文件的单个虚拟机的 8%。然而,我们确实观察到一台虚拟机比其他虚拟机领先很多——最高是表现最差的虚拟机得分的 2.4 倍。

Junkshop 和 Classroom 基准测试也讲述了类似的故事,四台虚拟机中有三台的性能大幅下降,而一台客户机的得分却比其他虚拟机高得多。

有趣的是,似乎有一段短暂的时间,一台虚拟机的 vGPU 被赋予了更高的优先级,并占据了显著的领先地位。例如,在 Classroom 基准测试期间,我们的第二台 Windows Server 2025 VM (WIN2025-2) 尽管同时运行,但其性能却是同类产品的三倍多。虽然我们无法准确确定这是由于 vGPU 软件的调度还是 GPU 本身的性质,但它突显了一些性能异常,这与 NVIDIA 对此卡仅采用时间分片方法有关。

结语

NVIDIA vGPU 软件的设置和支持可能不如其他竞争平台那么完善。不过,对于已经运行 Proxmox 虚拟环境系统的组织和家庭实验室来说,这是一个令人兴奋且有价值的功能。尽管在分割 GPU 资源时性能会显著降低,但许多组织仍然利用 NVIDIA 的 vGPU 技术,并确定共享 GPU 比这个缺点更重要。许多超大规模企业和空间受限的数据中心都采取了这种态度,在这些情况下,将尽可能多的租户(在本例中是带有 vGPU 的虚拟机)塞进尽可能小的空间是最有效和最有利可图的选择。

Proxmox Server Solutions 最近迅速扩展了软件定义网络等功能,支持 Linux 6.11 内核,以及 专用数据中心管理系统 显示出显著的进步,并证明它正在成为虚拟机管理程序领域的有效选择。我们希望看到该领域的持续发展,并期待着很快向您介绍即将在 PVE 上推出的激动人心的工具和技术!

近视

参与 StorageReview

电子报 | YouTube | 播客 iTunes/Spotify | Instagram | Twitter | TikTok | RSS订阅