既不回头,何必不忘。既然无缘,何须誓言
今日种种,似水无痕。明夕何夕,君已陌路

PVE8 上启用 12 代 Intel CPU 核显 SR-IOV(一)

GPU 直通与虚拟化

典型的 GPU 直通将整个 PCIe 图形设备传递到 VM。这意味着只有一个 VM 可以使用 GPU 资源。这样做的优点是能够通过计算机的 HDMI 或 DisplayPort 端口将视频显示输出到外部显示器,但是,您只能有一个使用 GPU 的 VM,如果您希望在台式计算机上使用 Proxmox,但又希望通过外部显示器充分利用主桌面操作系统的 GPU 资源,这将非常有用。

但是,有一种方法可以在 VM 之间共享 GPU。该技术称为英特尔 VT-d(英特尔定向 I/O 虚拟化技术),可实现 GPU 资源的虚拟化,并为多达 7 个虚拟机提供 VF(虚拟功能),这样,(最多)7 个 VM 可以同时使用 GPU,但您将无法使用物理连接的监视器,因此,只能对这些 VM 进行远程桌面访问。

完整的 GPU 直通和 vGPU 设置都有其一席之地。这完全取决于您希望设置做什么。

开启核显 SR-IOV

SR-IOV 是一种硬件虚拟化技术,简单来说,能将物理 PCIe 设备虚拟成多个虚拟设备,在网卡上被广泛使用。Intel Core CPU 在 11 代后支持了该技术用于 GPU 虚拟化,替换了过去的 GVT-g(Intel 产品 GPU 虚拟化技术列表)

1、开启 SR-IOV 主要用到这个驱动程序:i915-sriov-dkms,能够创建最多 7 个 VF(可以简单理解为 vGPU)
在 Proxmox 主机上,打开 shell 并运行以下命令。首先,我们需要安装 Git、内核头文件,做一些清理,然后使用正确的版本设置内核变量。

2、现在我们需要克隆 DKMS 仓库并修改配置文件以设置内核版本,检查软件包名称是否为 i915-sriov-dkms,并且软件包版本是否与您的内核版本匹配。

3、在这里,我们安装 DKMS,链接内核源代码,并检查状态。验证内核是否显示为已添加

4、现在让我们构建新内核并检查状态。验证它是否显示已安装

5、对于全新安装的 Proxmox 8.1 及更高版本,可以启用安全启动。以防万一,我们需要加载 DKMS 密钥,以便内核加载模块。运行以下命令,然后输入密码。此密码仅用于 MOK 设置,并在您重新引导主机时再次使用,之后,就不需要密码了。它不需要与您用于 root 帐户的密码相同。

Proxmox GRUB 配置

注意: Proxmox 的默认安装使用 GRUB 引导加载程序。如果这是您的情况,请按照本节中的步骤操作。如果您使用的是 ZFS 或其他使用 systemd 引导加载程序的配置,请跳到下面的 systemd 部分。

1. 返回 Proxmox shell,如果您的 Proxmox 主机中没有 Google Coral PCIe TPU,请运行以下命令。你会知道你是否这样做了,所以如果你不确定,请运行第一个命令块。如果您的 Google Coral 是 USB,请同时使用第一个命令块。如果您的 Google Coral 是 PCIe 模块,请运行第二个命令块。

如果您的 Proxmox 主机确实具有 Google Coral PCIe TPU,并且您正在使用 PCIe 直通到 LXC 或 VM,请改用此命令。这会在 Proxmox 主机级别将 Coral 设备列入黑名单,以便您的 LXC/VM 可以获得独占访问权限。

2、现在我们需要找到显卡在哪个PCIe总线上。通常为 00:02.0

3、运行以下命令并根据需要修改 PCIe 总线。在本例中,我使用的是 00:02.0。若要验证文件是否已修改,请对文件进行 cat 操作并确保它已被修改。

Proxmox SystemD 引导加载程序

注意:如果您的 Proxmox 主机不使用 GRUB 引导(默认),而是使用 systemd,请按照以下步骤操作。如果您使用的是 ZFS,则很可能是这种情况。如果您使用的是 GRUB,请跳过此部分。

1、让我们修改内核加载器命令行:

2、将以下文本添加到当前行的末尾。

3、运行以下命令以更新引导加载程序。

完成PCI配置

1、现在我们需要找到显卡在哪个PCIe总线上。通常为 00:02.0

2、运行以下命令并根据需要修改 PCIe 总线号。在本例中,我使用的是 00:02.0。若要验证文件是否已修改,请对文件进行 cat 操作并确保它已被修改。

3、重新启动 Proxmox 主机。如果将 Proxmox 8.1 或更高版本与安全启动一起使用,则必须设置 MOK。当 Proxmox 主机重新启动时,监视启动过程并等待“执行 MOK 管理”窗口(下面的屏幕截图)。如果错过了第一次重新启动,则需要重新运行 mokutil 命令并再次重新启动。在您完成此设置之前,DKMS 模块不会加载。

安全启动 MOK 配置 (Proxmox 8.1+)

4、选择注册 MOK、继续、是、<密码>、重新启动。

5、登录到 Proxmox 主机,打开 Shell,然后运行以下命令。第一个应返回 8 行 PCIe 设备。第二个命令应返回大量日志数据。如果一切顺利,最后您应该会看到次要 PCIe ID 1-7,最后是 Enabled 7 VF。如果您使用的是安全启动,但没有看到 7 个 VF,则 DKMS 模块可能未加载,根据需要进行故障排除。

6、现在 Proxmox 主机已准备就绪,我们可以安装和配置 Windows 11。如果您没有看到启用了 7 个 VF,请停止。根据需要进行故障排除。如果您使用的是安全启动,但没有看到 7 个 VF,请仔细检查 MOK 配置。

赞(2)
未经允许不得转载:疯言疯语 » PVE8 上启用 12 代 Intel CPU 核显 SR-IOV(一)