本文翻译自: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直通的过程是非常得相似的。
运行以下命令以获取显卡设备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:0a16
和8086:2054
。确保设备类型为VGA compatible controller
。第一个值是显卡GPU的设备ID,第二个值是音频设备的设备ID。
其中音频设备不一定需要,但是在某些系统上,例如部分AMD GPU,您必须同时直通GPU和关联的音频设备才能正常工作。
将设备ID写入在modprobe
中的 VFIO 配置,并加载模块vfio
,vfio_iommu_type1
,vfio_pci
和vfio_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添加到现有虚拟机中。
在Web界面中新配置的主机下选择虚拟机。关闭虚拟机。然后切到“硬件”,“添加”菜单,然后选择“ PCI设备”。
在此示例中,GPU被称为“ Haswell-ULT Integrated Graphics Controller”(还记得lspci -nnk
以前的命令吗?名称是相同的!)。选择GPU并选中“所有功能”复选框,最后按“添加”按钮。
我们成功啦!没那么难吧?启动并开始享受您的带有直通GPU的虚拟机吧!!
我实际上主要是从记忆中写这篇文章的,所以我可能错过了一些东西,欢迎反馈效果。
如果遇到稳定性或引导问题,请尝试禁用 memory ballooning 。