PVE8.3.1开启核显虚拟化SR-IOV
来想集成到前面的文章,但是被网上一些文章误导从而浪费了3H之后决定还是单开一篇专门说说PVE8.3.1开启核显虚拟化的过程。所以建议大家还是参考更有价值的唯一的官方指南 https://github.com/strongtz/i915-sriov-dkms
交代一下背景:
SR-IOV 是一种硬件虚拟化技术,简单来说,能将物理 PCIe 设备虚拟成多个虚拟设备,在网卡上被广泛使用。Intel Core CPU 在 11 代后支持了该技术用于 GPU 虚拟化,替换了过去的 GVT-g
发文日期2025年2月14日,以下所有操作均基于当前日期并有效执行!
PVE内核版本:6.8.12-4-pve
建议操作前更新一次源
安装必要的软件包
安装所需版本的内核和头文件
以下建议在home目录执行,所以现切换到home目录
拉取最新i915-sriov-dkms
进入i915-sriov-dkms目录
将当前目录中的内核模块添加到DKMS
添加完成后可以在/usr/src/目录看到已经添加进来的内核模块i915-XXXX
编译并安装该模块
执行以下命令,确认显卡ID是不是00:02.0
确认后,调整内核命令行
把GRUB_CMDLINE_LINUX_DEFAULT 的参数值改成 intel_iommu=on i915.enable_guc=3 i915.max_vfs=7 module_blacklist=xe
这里要注意,如果要虚拟成7个核显,则i915.max_vfs=7;如果要虚拟成3个核显,则i915.max_vfs=3
更新grub和initramfs
建议再补充执行一次
启用VFs
如果你的显卡ID不是00:02.0,则也需要做相应的调整
重启PVE后执行
你就可以看到虚拟化的核显已经出现
最后,你就能通过VFs到LXCs或VMs。但是,切勿将00.02.0那个物理GPU / PF传递给VM,这会使所有其他VF崩溃。
参考链接:
https://xxxuuu.me/post/pve8-intel-sr-iov/