精简傻瓜式配置PVE核显虚拟化和直通
RoseLancelot
2025年01月06日 06:41
科技数码

方案说明:

1.https://github.com/strongtz/i915-sriov-dkms     核显虚拟化开源方案,最主流的方案

2.https://bozai.me/pve.html  B站UP主 “波仔分享”的文章 ,主要借鉴了命令整合与优化,波仔老师采用的也是上面的开源方案

3.该方案所使用的PVE及相关资源的版本,均为截止2025年1月6日06:00时,的最新版本。

4.该方案在Windows下进行配置,只要确保Windows下可以正常访问Github即可,PVE无需科学上网

5.执行该方案前,需要了解上面2个方案成功的重要前提条件,只需要耐心看完,这里不做多余说明。

6.该整合方案只适合本人特定硬件,其余配置未做测试。本人硬件为天钡WTR PRO N100

处理器:Intel Processor N100 (主频 1.8Ghz-3.4Ghz 三级缓存 6MB)

内存:DDR4-3200MHz  --16G

硬盘:M.2 2280-NVMEx1 --256G

显卡:核显Intel UHD Graphics 750 MHz  24EUs

网络:2.5GI226V2 有线网卡、支持拓展 WiFi 网卡

主板接口:USB3.0x2 USB2.0x2 HDMIx1 DPx1 Type-c 全功能 ×1

TF 卡槽 x1 有线网口 2.5G×2 音频 x1

7.该方案目标是虚拟出2个核显并直通。

8.有时间会录制视频发布,包含纯操作与每一步的命令解释。


下面开始

1.查看当前PVE内核版本:

uname -r

pveversion

2.更新源:

apt update -y

apt upgrade -y

3.安装构建工具:

apt install build-* dkms

4.安装sysfsutils工具:

apt - install sysfsutils -y

5.安装git工具:

apt - install git -y

以上3个工具的安装命令可合并写为:

apt install build-* dkms git sysfsutils -y

6.安装当前PVE版本的内核和头文件:

apt install proxmox-headers-$(uname -r) proxmox-kernel-$(uname -r)

7.从https://github.com/strongtz/i915-sriov-dkms/releases下载 deb 包  (需要Windows可正常访问Github)

下载完毕后,利用SSH工具(MobaXterm)的SFTP功能,上传至/root 下

8.使用 dpkg 安装 deb 软件包:

dpkg -i i915-sriov-dkms_2024.12.30_amd64.deb

9.设置核显直通以及直通个数

9.1 修改GRUB(GRand Unified Bootloader)引导加载程序的默认设置:(“i915.max_vfs=2“这里的 2是需要虚拟的核显数量,后面还有命令里要用到,注意一致)

sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream i915.enable_guc=3 i915.max_vfs=2"' /etc/default/grub

echo -e "vfio\nvfio_iommu_type1\nvfio_pci\nvfio_virqfd" | tee -a /etc/modules

update-grub

update-initramfs -u -k all

reboot

9.2 重新SSH连接

9.3 如果只设置核显直通,不做虚拟,则输入

sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream"' /etc/default/grub

echo -e "vfio\nvfio_iommu_type1\nvfio_pci\nvfio_virqfd" | tee -a /etc/modules

update-grub

update-initramfs -u -k all

reboot

10.设置虚拟化

10.1 查看PCI显示图形设备ID

lspci | grep VGA

如显示

00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-N [UHD Graphics] [8086:46d1]

则输入(注意这里的"numvfs = 2"要与上面"i915.max_vfs=2"中的数字一致)

echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 2" > /etc/sysfs.conf

10.2 重启

reboot

11.重新SSH连接

12.验证虚拟化后,PCI核显设备数量

lspci | grep VGA

成功