【PVE】PVE8.2+/内核6.8+以上 如何开启核显的SR-IOV

注意: 本文最后更新于 92 天前,内容可能已不再准确,请酌情参考。

【PVE】PVE8.2+/内核6.8+以上 如何开启核显的SR-IOV

前言

由于PVE8.2+是才出来没多久,内核6.8+也是出来没太久,所以网上的开启核显的SR-IOV教程少之又少,又因为刚好在写PVE相关的教程,下载的又是最新的版本,所以还是找了一些大佬的文章参考并结合实践最后成功开启核显。但是听说可能因为英特尔版本的问题,比如11代就可能不太行。具体还得亲测,本次演示的是研凌N3161 I7-1265U第12代Core,目前手头上没有11代13代相关的设备,所以没办法更详细的测试。如果您有11代/13代测试结果,欢迎评论留言

SR-IOV介绍

  • SR-IOV的定义和基本概念
    SR-IOV(Single Root I/O Virtualization)是一种IO虚拟化技术,它允许多个虚拟机共享一个物理的PCIe设备,从而提高硬件资源的利用率和性能。这种技术可以在不牺牲I/O性能的情况下,显著减少平台资源开销,并且可以通过Single Root PCI Manager (SR-PCIM) 控制SR-IOV资源配置和管理的标准化方法
  • SR-IOV的工作原理
    SR-IOV技术的核心是在硬件中实现虚拟化,通过将一个PCIe网络控制器虚拟化成多个PCIe设备,每个设备可以直接分配给一个虚拟机。这样,虚拟机之间可以高效共享PCIe设备,而且因为是在硬件层面实现的,所以可以获得接近本机性能的I/O性能

ssh连接PVE

  • 看过我相关的教程的朋友都知道老熟人了用finalshell来链接你的PVE终端
    20240718211351281514

PVE升级

  1. 因为我演示的是白板的PVE,所以我直接用命令升级操作PVE相关的东西(注意如果您的订阅源没有切换,大概率是会出现报错的,可以看下图)
    apt update && apt install -y pve-headers proxmox-headers-$(uname -r) dkms flex bison
20240718211740875725
  1. 如果你用上面命令出现上述类似的报错,就表示你订阅源切换。下面我们切换订阅源,切换完毕后我们再用上面的命令升级即可
    wget https://v2rayssr.com/tool/yuan.sh -O yuan.sh && chmod +x yuan.sh && ./yuan.sh
20240718211845110311
  1. 完成后如下图,然后咋们reboot进行重启设备
    reboot
20240718211927484905
  1. 重启完毕后我们去下载最新的i915内核模块.deb结尾的https://github.com/MoetaYuko/intel-gpu-i915-backports/releases
    20240718212215331976
  2. 下载完毕后我们把包拖入到root目录
    20240718212324105139
  3. 然后我们用命令dpkg安装模块,我下的是intel-i915-dkms_1.24.1.19.240119.1.nodrm+i3-1_all.deb版本,所以请注意你下载的最新的可能跟我不一样。(注意因为项目作者更新等原因,可能包名不一样,所以最好确认一下包名是否一致,不一致请替换包名再用命令)
    dpkg -i '/root/intel-i915-dkms_1.24.1.19.240119.1.nodrm+i3-1_all.deb'
20240718212442928405
  1. 安装过程中cpu会拉满,不要担心,耐心等待即可。还会出现Running hook script 'zz-proxmox-boot'..Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.所示的报错,无视即可。
    20240718212707175695
  2. 一般来说不需要再去更改grub了(所以这步其实可以跳过)。不过你也可以通过命令nano /etc/default/grub确认一遍。跟我类似就行。注意一下:guc=3还有vfs=7,这里的guc=3基本上是一样的,vfs=7就是分七个核显,看你需求,后续可以用命令来变更。
    nano /etc/default/grub
20240718212858879755
  1. 安装sysfsutils工具包,我们直接用下面的命令进行安装。
    apt install -y sysfsutils
20240718213304507196
  1. 然后我们加入开启vf的参数,再重启设备就可以了。注意下面的sriov_numvfs = 2,这里的2就表示开2个核显SR-IOV,因为我只打算分给NASWIN10,所以没必要搞那么多,如果你有更多的需求,请自行修改。完事后记得reboot重启设备。
    echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 2" > /etc/sysfs.conf
20240718214834441057
  1. 最后我们可以用命令lspci | grep VGA验证是否OK
    lspci | grep VGA
20240718213750621500
阅读剩余
THE END