问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

PVE环境下Intel核显SR-IOV虚拟化配置指南

创作时间:
作者:
@小白创作中心

PVE环境下Intel核显SR-IOV虚拟化配置指南

引用
1
来源
1.
https://www.frostfox.cn/pve/2024/sriov.html

Intel核显的SR-IOV(Single Root I/O Virtualization)技术允许将物理GPU资源虚拟化分配给多个虚拟机,从而实现GPU资源的共享和复用。在Proxmox VE(PVE)环境中配置SR-IOV,可以为运行在虚拟机中的Windows 10系统提供图形加速能力,提升图形处理性能。本文将详细介绍在PVE中配置Intel核显SR-IOV并分配给Windows 10虚拟机的具体步骤。

前言

网上关于PVE Intel核显SR-IOV的教程不少,但是实践起来往往会有许多坑,于是霜狐亲自采了一遍坑,出了这个教程。

我使用的配置(12300T+微星h610m e)在这里有所介绍,如果配置不同请自行注意可能有需要修改的地方,此外建议先安装好pve_source脚本并完成优化。


2024我自用的AIO低功耗静音家庭服务器

前言 之前提到过,我购买了一台二手的DELL R730XD企业服务器改造家用,不过最终因为电费和噪音退坑了。 家庭……

[PVE]优化脚本pve_source推荐(换源-合并local-lvm-去订阅提示)

介绍: 对于新手来说,一行行敲命令来完成PVE换源,合并local-lvm,配置Web页面传感器,去除订阅提示等工作十分麻烦还易出错,因此推荐J……

硬件支持

这是个大坑!很多消费级硬件不支持SR-IOV。

请确保你的CPU是12代以后带核显的桌面端正式版CPU,ES版,笔记本版以及11代均不确定能否支持。

还有主版推荐华硕/微星两大一线,基本都支持SR-IOV,其他品牌未知,不过即使支持也记得一定在主板里打开SR-IOV选项!微星的H610M E默认就是关闭的,坑了我好久...

安装dkms驱动

安装dkms:

apt install dkms -y  

再次感谢Jazz大佬帮忙整理好了核显 SR-IOV 驱动:

用于 Gen 11 (如 i5-1135G7 的 Iris Xe 核显)、Gen12 (如 i7-1270p 的 Iris Xe 核显)及 Gen 13 (如 i5-13400 的 UHD 730 核显) SR-IOV,部分 Gen 11 核显 SR-IOV 失败可尝试使用 intel-i915-dkms 驱动

内核要求:适用于 PVE 6.2.16-16 及以上且 6.8 以下的内核

使用方法: 首次安装需安装两次。 安装过程中动态编译时间较长,需耐心等待,安装完成后需重启系统。

wget -q -O '/root/i915-sriov-dkms_6.1.11_all(PVE_6.2.16-16+).deb' 'https://bbs.x86pi.cn/file/topic/2024-05-13/file/7f12279527104fb288c2383d4e141e0cb2.deb' && dpkg -i '/root/i915-sriov-dkms_6.1.11_all(PVE_6.2.16-16+).deb'  

还有另一个(和上面那个根据自己硬件和内核选择一个安装即可):

用于 Gen 11 (如 i5-1135G7 的 Iris Xe 核显)、Gen12 (如 i7-1270p 的 Iris Xe 核显)及 Gen 13 (如 i5-13400 的 UHD 730 核显) SR-IOV,部分 Gen 11 核显 SR-IOV 失败可尝试使用 intel-i915-dkms 驱动

内核要求:适用于 PVE 6.2.16-15 及以下内核

使用方法:

首次安装需安装两次。

安装过程中动态编译时间较长,需耐心等待,安装完成后需重启系统。

wget -q -O '/root/i915-sriov-dkms_6.1.11_all(PVE_6.2.16-15-).deb' 'https://bbs.x86pi.cn/file/topic/2023-11-14/file/b14f8d40f19f4ec5a8878653950e3b24b2.deb' && dpkg -i '/root/i915-sriov-dkms_6.1.11_all(PVE_6.2.16-15-).deb'  

升/降级内核

然而很多时候并非一帆风顺,我这台机器在最新的PVE8系统中就无论用哪个都会报错,最终选择先安装PVE7,然后手动更新内核和headers到6.2.16-20版本安装就成功了。

如何手动切换内核呢:先在https://mirrors.ustc.edu.cn/proxmox/debian/dists/bullseye/pve-no-subscription/binary-amd64/挑选好对应的内核版本,然后再PVE shell里直接执行:

apt install 内核版本  

比如:

apt install pve-kernel-5.15.39-2-pve  

headers也是同理。

安装好新内核后使用pve_source脚本切换使用的内核,然后可以将原内核删除来节约空间。

配置VF数量

安装成功后回到pve_source脚本,通过脚本配置核显SR-IOV即可。

询问分配几个VF,就是想SR-IOV虚拟出几个虚拟核显:

UHD730:推荐最多3个

UHD770:推荐最多7个

仅供参考,似乎分出来的VF越多,每个VF性能越弱,而不是动态共享的,所以尽量不要多分。

Windows使用VF核显

创建时BIOS选OVMF (UEFI),机型选q35,添加PCI设备,选0000:00:02.x这种,除了0000:00:02.0不能选其他都可以(比如0000:00:02.1,0000:00:02.2都是可以的),不要勾选所有功能,主GPU之类的,只勾选PCI-Express,然后正常开机安装Win10使用并安装VirtIO驱动和intel对应的核显驱动。

不过使用最新驱动可能会安装失败,我这里用的旧版本gfx_win_101.4316(安装后版本号31.0.101.5186)在12300T的UHD730上正常运行。

有的时候驱动也会莫名其妙安装不上去,重启一下虚拟机,然后重新安装一遍就好了。

此外,安装完驱动可能会看到核显报错43,这是正常现象,安装一个远程控制软件(比如Todesk,Rustdesk或windows自带的远程桌面等),设置好开机自启后将虚拟机关机,修改添加的pci设置如下图:

然后将显示改为“无(none)”,随后开机,通过远程控制软件连接,查看任务管理器中核显GPU在工作,43报错消失就直通成功了。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号