PVE8 上启用 12 代 Intel CPU 核显 SR |
您所在的位置:网站首页 › 英特尔11代核显和12代核显 › PVE8 上启用 12 代 Intel CPU 核显 SR |
一、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-IOVSR-IOV 是一种硬件虚拟化技术,简单来说,能将物理 PCIe 设备虚拟成多个虚拟设备,在网卡上被广泛使用。Intel Core CPU 在 11 代后支持了该技术用于 GPU 虚拟化,替换了过去的 GVT-g(Intel 产品 GPU 虚拟化技术列表) 1、开启 SR-IOV 主要用到这个驱动程序:i915-sriov-dkms,能够创建最多 7 个 VF(可以简单理解为 vGPU) 在 Proxmox 主机上,打开 shell 并运行以下命令。首先,我们需要安装 Git、内核头文件,做一些清理,然后使用正确的版本设置内核变量。 apt update && apt install git pve-headers mokutil -y rm -rf /var/lib/dkms/i915-sriov-dkms* rm -rf /usr/src/i915-sriov-dkms* rm -rf ~/i915-sriov-dkms KERNEL=$(uname -r); KERNEL=${KERNEL%-pve}2、现在我们需要克隆 DKMS 仓库并修改配置文件以设置内核版本,检查软件包名称是否为 i915-sriov-dkms,并且软件包版本是否与您的内核版本匹配。 cd ~ git clone https://github.com/strongtz/i915-sriov-dkms.git cd ~/i915-sriov-dkms cp -a ~/i915-sriov-dkms/dkms.conf{,.bak} sed -i 's/"@_PKGBASE@"/"i915-sriov-dkms"/g' ~/i915-sriov-dkms/dkms.conf sed -i 's/"@PKGVER@"/"'"$KERNEL"'"/g' ~/i915-sriov-dkms/dkms.conf sed -i 's/ -j$(nproc)//g' ~/i915-sriov-dkms/dkms.conf cat ~/i915-sriov-dkms/dkms.conf3、在这里,我们安装 DKMS,链接内核源代码,并检查状态。验证内核是否显示为已添加。 apt install --reinstall dkms -y dkms add . cd /usr/src/i915-sriov-dkms-$KERNEL dkms status4、现在让我们构建新内核并检查状态。验证它是否显示已安装。 dkms install -m i915-sriov-dkms -v $KERNEL -k $(uname -r) --force -j 1 dkms status5、对于全新安装的 Proxmox 8.1 及更高版本,可以启用安全启动。以防万一,我们需要加载 DKMS 密钥,以便内核加载模块。运行以下命令,然后输入密码。此密码仅用于 MOK 设置,并在您重新引导主机时再次使用,之后,就不需要密码了。它不需要与您用于 root 帐户的密码相同。 mokutil --import /var/lib/dkms/mok.pub 三、Proxmox GRUB 配置注意: Proxmox 的默认安装使用 GRUB 引导加载程序。如果这是您的情况,请按照本节中的步骤操作。如果您使用的是 ZFS 或其他使用 systemd 引导加载程序的配置,请跳到下面的 systemd 部分。 1. 返回 Proxmox shell,如果您的 Proxmox 主机中没有 Google Coral PCIe TPU,请运行以下命令。你会知道你是否这样做了,所以如果你不确定,请运行第一个命令块。如果您的 Google Coral 是 USB,请同时使用第一个命令块。如果您的 Google Coral 是 PCIe 模块,请运行第二个命令块。 cp -a /etc/default/grub{,.bak} sudo sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=7"' /etc/default/grub update-grub update-initramfs -u -k all apt install sysfsutils -y如果您的 Proxmox 主机确实具有 Google Coral PCIe TPU,并且您正在使用 PCIe 直通到 LXC 或 VM,请改用此命令。这会在 Proxmox 主机级别将 Coral 设备列入黑名单,以便您的 LXC/VM 可以获得独占访问权限。 cp -a /etc/default/grub{,.bak} sudo sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=7 initcall_blacklist=sysfb_init pcie_aspm=off"' /etc/default/grub update-grub update-initramfs -u -k all apt install sysfsutils -y2、现在我们需要找到显卡在哪个PCIe总线上。通常为 00:02.0。 lspci | grep VGA3、运行以下命令并根据需要修改 PCIe 总线。在本例中,我使用的是 00:02.0。若要验证文件是否已修改,请对文件进行 cat 操作并确保它已被修改。 echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf cat /etc/sysfs.conf 四、Proxmox SystemD 引导加载程序注意:如果您的 Proxmox 主机不使用 GRUB 引导(默认),而是使用 systemd,请按照以下步骤操作。如果您使用的是 ZFS,则很可能是这种情况。如果您使用的是 GRUB,请跳过此部分。 1、让我们修改内核加载器命令行: nano /etc/kernel/cmdline2、将以下文本添加到当前行的末尾。 intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=73、运行以下命令以更新引导加载程序。 proxmox-boot-tool refresh 五、完成PCI配置1、现在我们需要找到显卡在哪个PCIe总线上。通常为 00:02.0 2、运行以下命令并根据需要修改 PCIe 总线号。在本例中,我使用的是 00:02.0。若要验证文件是否已修改,请对文件进行 cat 操作并确保它已被修改。 echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf cat /etc/sysfs.conf3、重新启动 Proxmox 主机。如果将 Proxmox 8.1 或更高版本与安全启动一起使用,则必须设置 MOK。当 Proxmox 主机重新启动时,监视启动过程并等待“执行 MOK 管理”窗口(下面的屏幕截图)。如果错过了第一次重新启动,则需要重新运行 mokutil 命令并再次重新启动。在您完成此设置之前,DKMS 模块不会加载。 4、选择注册 MOK、继续、是、、重新启动。 5、登录到 Proxmox 主机,打开 Shell,然后运行以下命令。第一个应返回 8 行 PCIe 设备。第二个命令应返回大量日志数据。如果一切顺利,最后您应该会看到次要 PCIe ID 1-7,最后是 Enabled 7 VF。如果您使用的是安全启动,但没有看到 7 个 VF,则 DKMS 模块可能未加载,根据需要进行故障排除。 lspci | grep VGA dmesg | grep i9156、现在 Proxmox 主机已准备就绪,我们可以安装和配置 Windows 11。如果您没有看到启用了 7 个 VF,请停止。根据需要进行故障排除。如果您使用的是安全启动,但没有看到 7 个 VF,请仔细检查 MOK 配置。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |