12代CPU在PVE8.0系统下启用硬件直通及核显虚拟SR-IOV vGPU

12代CPU在PVE8.0系统下启用硬件直通及核显虚拟SR-IOV vGPU

记忆の风
2023-08-30 / 5 评论 / 201 阅读 / 正在检测是否收录...

设备介绍:

CPU:I5-12500
系统:PVE8.0
内核:6.2

硬件直通

1、先确定BIOS开启了VT-D功能,VT-D是IO虚拟化。
2、接着我们到PVE的shell里面查看核显是否打开

输入命令:

ls /dev/dri

如果返回出现card0 renderD128就没问题了

3、启动内核IOMMU支持
输入命令:

nano /etc/default/grub

将GRUB_CMDLINE_LINUX_DEFAULT="quiet"修改为:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"

1693397246454.png

修改完成之后更新grub

update-grub

接着输入reboot命令重启,
重启后输入命令:

dmesg | grep iommu

如果没有输出,则说明有问题。

如果有,可基本确认这个过程顺利完成! 接下来就可以为虚拟机正常的添加硬件直通了。

注:未直通前,PVE系统操作 添加: PCI设备 硬件直通

提示:
No IOMMU detected, please activate it.See Documentation for further information.
1693399835369.png

直通后,无该提示。

开启SR-IOV

先查询系统版本

uname -a

输出:

Linux pve 6.2.16-10-pve #1 SMP PREEMPT_DYNAMIC PMX 6.2.16-10 (2023-08-18T11:42Z) x86_64 GNU/Linux

这样子我们就需要i915-sriov-dkms匹配6.2版本,不要使用6.1的

  1. 首先,我们需要克隆动态内核模块系统(DKMS)存储库并编辑配置。在 Proxmox UI 中打开主机 shell(单击 Proxmox 主机,在中间窗格中单击Shell)。运行以下命令:

    apt-get install git
    git clone https://github.com/strongtz/i915-sriov-dkms.git
    cd i915-sriov-dkms/

2.我们需要修改dkms.conf文件来更改包名和包版本。

nano dkms.conf
  1. 删除文件的前两行,然后粘贴下面的两行。保存并退出 Nano。

    PACKAGE_NAME="i915-sriov-dkms"
    PACKAGE_VERSION="6.2"

    1693400458777.png

  2. 运行以下命令

    cd ..
    mv i915-sriov-dkms/ /usr/src/i915-sriov-dkms-6.2
    apt update && apt install pve-headers-$(uname -r)
    apt install git dkms build-* unzip -y
  3. 运行以下命令来构建并安装 DKMS。

    dkms install --force -m i915-sriov-dkms -v 6.2

注:如果提示没有安装dkms,那就输入命令apt install dkms一下,再运行上述命令。

  1. 现在让我们确保 DKMS 状态看起来良好。

    dkms status
正常输出:i915-sriov-dkms/6.2, 6.2.16-10-pve, x86_64: installed
  1. 我们需要针对 vGPU SR-IOV 修改 GRUB,适用于 vGPU SR-IOV。
    我们需要在Grub中添加的是:intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=7

输入命令:

nano /etc/default/grub

将GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"修改为:

GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=7"

1693400891177.png

  1. 更新 grub 并安装 sysfsutils。

    update-grub
    update-initramfs -u
    apt install sysfsutils -y
  2. 现在我们需要找到 VGA 卡所在的 PCIe 总线。通常为00:02.0。

    lspci | grep VGA

1693401035250.png

  1. 运行以下命令并根据需要修改 PCIe 总线编号。在本例中,我的是 00:02.0。

    echo “devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7” > /etc/sysfs.conf

    reboot重新启动 Proxmox 主机。

    1. 重启后到shell输入命令
    dmesg | grep i915

如果一切顺利,最后你应该看到已启用 7 个 VF,如下图所示。
1693401203992.png

再次输入:

lspci | grep VGA

1693401279450.png

自此,vGPU已成功。
我们可以把vGPU分给win10,添加-PCI设备:
1693401376927.png

0

评论 (5)

取消
  1. 头像
    vwcfbkbxzw
    Windows 10 · Google Chrome

    怎么收藏这篇文章?

    回复
  2. 头像
    agcdxehuno
    Windows 10 · Google Chrome

    哈哈哈,写的太好了https://www.cscnn.com/

    回复
  3. 头像
    lmrhlnjhyo
    Windows 10 · Google Chrome

    哈哈哈,写的太好了https://www.lawjida.com/

    回复
  4. 头像
    akaivqsjyc
    Windows 10 · Google Chrome

    这篇文章如同一幅色彩斑斓的画卷,每一笔都充满了独特的创意。

    回复
  5. 头像
    sqojfjtaeo
    Windows 10 · Google Chrome

    独特的构思和新颖的观点,让这篇文章在众多作品中脱颖而出。

    回复