目前PVE版本更新为8.2,本文进行了相应修改,由于编辑器太难用,不再另行更新,详情请参考博客原文!
本人博客原文请参见:【PVE】All in One 的快乐之系统配置及核显SR-IOV直通 | 云留月的技术小站 (cloudstaymoon.com)
(搭配原文使用效果更佳哦!!!不确定复制粘贴时格式是否调整正确,实在无力吐槽小破站的编辑器了,太难用了,基本的MD语法都不支持)
教程参考B站UP主爱折腾的老高,感谢大佬持续产出优秀折腾经验,吾辈楷模。 视频link: 畅网N100十二代低功 遇到编译问题时参考的解决方案: https://github.com/strongtz/i915-sriov-dkms/issues/151 感谢makazeu 大佬提供的解决方案! 转载本文请注明出处,互联网开放精神,你我共享!
系统配置之前,检查下BIOS的这些功能是否正确开启:
Intel VMX虚拟化技术 (需要开启)
VT-d (需要开启)
SR-IOV (需要开启)
IOMMU (需要开启)
VMD setup menu (需要关闭)
重要提醒:以下步骤误操作容易导致PVE崩溃,请在刚装完PVE系统后进行操作,不建议已经组好All in One的用户进行操作,后果自行承担!!
查询当前local的大小
/dev/mapper/pve-root这个是系统自动给local的空间
进入到PVE节点的Shell输入以下命令(删除pve/data路径下的local-lvm逻辑卷)
输入完之后会提示是否确定删除,此时按y回车
继续输入以下命令(将所有系统盘可用空间全部交由local这一个逻辑卷分配)
继续输入以下命令(使其适应已经调整大小的逻辑卷)
查询是否扩容成功
成功扩容接下来删除local-lvm 点数据中心 ——> 存储 ——> local-lvm ——> 移除 ——> local ——> 编辑 ——> 内容(所有选项全部选上) ——> OK PVE系统基础配置
因为众所周知的原因,PVE无法连上国外的官方源,因此替换为国内的镜像源,以便更新相关软件。
备份PVE自带的软件包源文件
北方小伙伴选择清华大学源,南方小伙伴选择中科大源,二选一
进入到nano编辑器后,将每一行前面加上’#‘注释掉,例如下面这这样
键盘组合键再输入 回车保存退出
键盘组合键再输入 回车保存退出
将其中原有的源前面 # 注释掉,变为:
北方添加清华源:
南方添加中科大源:
键盘组合键ctrl+x再输入y 回车保存退出
粘贴以下pve中科大的无订阅源
键盘组合键ctrl+x再输入y 回车保存退出
修复源401错误(如无401报错可忽略此条):
将其中原有的proxmox句首加 # 注释掉
添加中科大ceph源:
键盘组合键ctrl+x再输入y 回车保存退出
再次更新
中科大源和清华大学源二选一
备份PVE自带的LXC容器源文件
更换为中科大源:
更换为清华大学源:
重启PVE(使所有更换的源文件生效)
理论来说,目前仅有Intel 11(Tigerlake)/12/13/14代带核显CPU支持SRIOV核显虚拟化,非此类CPU不能SRIOV虚拟化。
核显SRIOV优缺点对比

查看内核版本
i915-sriov目前支持6.1~6.5内核,根据uname-a反馈信息调整 header 的版本信息
下载安装 headers,如果遇到报错,或以前执行过dkms安装都可执行以下命令
重启PVE使其生效
clone代码库(下载源码时请保证能连接上github,修改dns可以连上,具体百度)
经过测试发现这里有个坑!!!6.5.13-5这个内核版本使用大佬的库直接编译的话会出以下报错:
下文已经将步骤更改为最新,理论上来说按照如下步骤操作即可成功编译。
如果下载失败可以点击此处下载intel_dp_mst.c
控制台输出如下结果

apt install --reinstall dkms -y dkms add .cd /usr/src/i915-sriov-dkms-$KERNEL
dkms status
如果输出added则表示前期准备完成,

输入以下命令进行编译
输出
如果失败了可以先运行以下命令,然后回到重新开始编译一次
检查安装是否成功
输入以下命令检查是否成功
反馈如下表示成功 parm: max_vfs:Limit number of virtual functions to allocate. (0 = no VFs [default]; N = allow up to N VFs) (uint)
编辑 grub 配置文件
在 quiet 后添加 intel_iommu=on i915.enable_guc=3 i915.max_vfs=7
键盘组合键ctrl+x再输入y 回车保存退出
更新grub和initramfs
安装sysfsutils(对新手友好方便对VF核显数量设置)
不建议使用开机自启脚本rc.local,增加不必要的风险
下面命令中sriov_numvfs = 5的5代表SRIOV核显数量,可自定义设定,最多设置7个 设置为1个性能最强,如果设置为7个,那么每一个的性能只有14%(所以这里大家根据自身核显性能自行考量)
重启使其生效
重启完之后检查是否成功
通过PVE节点的Shell输入以下命令查看SRIOV核显直通是否成功
如果成功则会输出以下数据
这就是刚刚虚拟出来的核显了
注意:物理核显02.0不能直通出去(可以映射给LXC),否则物理核显本体被独占,所有虚拟核显消失。 本教程结束,接下来就可以按照自己的需求安装虚拟机了。