在Proxmox VE 6.0上开启GPU直通

本文翻译自:https://lunar.computer/posts/gpu-passthrough-proxmox-60/

本文将向您展示在Proxmox VE 6.0主机上启用GPU直通是有多么得简单。

我之前的经验是使用 AMD GPU 来直通,特别是 AMD Radeon Vega 56 和 AMD Radeon RX 580。

不过,这里我将在旧的Intel NUC中使用集成显卡来直通(Intel GPU) 。

本文假定您的硬件支持虚拟化,IOMMU,VFIO等,并且您的硬件正在运行Proxmox VE 6.0。

启用直通的方法与其他基于Debian的Linux发行版(包括Debian本身)上启用GPU直通的过程是非常得相似的。

查找硬件显卡GPU设备ID

运行以下命令以获取显卡设备ID(注意:如果系统中没有lspci命令 ,则可以通过运行sudo apt install pciutils进行安装)。

sudo lspci -nnk | grep "VGA\|Audio"

它应该产生如下结果:

00:02.0 VGA compatible controller [0300]: Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a16] (rev 09)
00:03.0 Audio device [0403]: Intel Corporation Haswell-ULT HD Audio Controller [8086:0a0c] (rev 09)
	Subsystem: Intel Corporation Haswell-ULT HD Audio Controller [8086:2054]
00:1b.0 Audio device [0403]: Intel Corporation 8 Series HD Audio Controller [8086:9c20] (rev 04)
	Subsystem: Intel Corporation 8 Series HD Audio Controller [8086:2054]

我们感兴趣的是在1和2行结束的值,8086:0a168086:2054。确保设备类型为VGA compatible controller。第一个值是显卡GPU的设备ID,第二个值是音频设备的设备ID。

其中音频设备不一定需要,但是在某些系统上,例如部分AMD GPU,您必须同时直通GPU和关联的音频设备才能正常工作。

启用设备直通

将设备ID写入在modprobe中的 VFIO 配置,并加载模块vfiovfio_iommu_type1vfio_pcivfio_virqfd,您执行下边这些命令即可。

sudo echo "options vfio-pci ids=8086:0a16,8086:2054" > /etc/modprobe.d/vfio.conf
sudo echo "vfio" > /etc/modules-load.d/vfio.conf
sudo echo "vfio_iommu_type1" >> /etc/modules-load.d/vfio.conf
sudo echo "vfio_pci" >> /etc/modules-load.d/vfio.conf
sudo echo "vfio_virqfd" >> /etc/modules-load.d/vfio.conf

使用update-initramfs命令来更新initramfs图像:

sudo update-initramfs -u -k all

通过运行以下命令编辑GRUB引导加载程序配置:

sudo vi /etc/default/grub

确保

请确保GRUB_CMDLINE_LINUX_DEFAULT配置中加入intel_iommu=on(英特尔CPU)或者amd_iommu=on(AMD CPU)。在新安装的Proxmox VE 6.0主机上看起来应该像这样:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

然后通过运行以下命令来应用新的GRUB Bootloader配置:

sudo update-grub

最后重启机器sudo reboot。接下来,我们将使用Proxmox VE 6.0 Web界面将GPU添加到现有虚拟机中。

将GPU直通给指定虚拟机

在Web界面中新配置的主机下选择虚拟机。关闭虚拟机。然后切到“硬件”,“添加”菜单,然后选择“ PCI设备”。

在此示例中,GPU被称为“ Haswell-ULT Integrated Graphics Controller”(还记得lspci -nnk以前的命令吗?名称是相同的!)。选择GPU并选中“所有功能”复选框,最后按“添加”按钮。

我们成功啦!没那么难吧?启动并开始享受您的带有直通GPU的虚拟机吧!!

我实际上主要是从记忆中写这篇文章的,所以我可能错过了一些东西,欢迎反馈效果。

故障排除

如果遇到稳定性或引导问题,请尝试禁用 memory ballooning 。

评论

Feng

登录过307天


河北地质大学(本科)
分享&发布