PVE设置显卡直通

在这里插入图片描述

0x01 准备事项

  • 1、确认CPU是否支持VT-D
    • Inter官网查询: https://www.intel.cn
    • AMD官方网站: https://www.amd.com/zh-hans
      例: i7-7700 查询结果
  • 2、确保启动方式为gurb,非systemd-boot
    如果启动方式为systemd-boot,在0x02步骤中需要参考 [3] Proxmox VE Administration Guide 开启iommu功能

0x02 开启IOMMU功能

编辑文件*/etc/default/grub*,修改GRUB_CMDLINE_LINUX_DEFAULT字段值

如果为Intel的CPU

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

如果为AMD的CPU

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

0x03 添加VT-D功能的内核模块

打开文件/etc/modules,新增以下4行内容

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

0x04 屏蔽显卡驱动

# 屏蔽镭龙显卡驱动
echo "blacklist radeon" >> /etc/modprobe.d/pve-blacklist.conf

# 屏蔽英伟达显卡的开源nouveau驱动
echo "blacklist nouveau" >> /etc/modprobe.d/pve-blacklist.conf

# 屏蔽英伟达显卡驱动
echo "blacklist nvidia" >> /etc/modprobe.d/pve-blacklist.conf

0x05 其它参数

# 允许不安全的中断
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf

# 忽略异常,防止虚拟机异常导致宿主机崩溃
#   ignore_msrs             :   忽略异常
#   report_ignored_msrs     :   是否报告异常
echo "options kvm ignore_msrs=1 report_ignored_msrs=0" > /etc/modprobe.d/kvm.conf

0x06 配置VFIO

ps:执行此操作后可能无法输出到外接显示器,若出现此情况,请撤回该步骤

  • 1、查看显卡ID

    root@pve:~# lspci -nn | grep VGA
    # 前缀02:00.0是设备编号,最后*.0为子编号
    # 末尾[10de:2489]是设备ID
    02:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:2489] (rev a1)
    08:00.0 VGA compatible controller [0300]: Matrox Electronics Systems Ltd. G200eR2 [102b:0534] (rev 01)
    root@pve:~#
    

    N卡编号为02:00,搜索对应的设备ID和音频设备ID

    root@pve:~# lspci -n -s 02:00
    02:00.0 0300: 10de:2489 (rev a1)
    02:00.1 0403: 10de:228b (rev a1)
    root@pve:~#
    

    或者直接以NVIDIA为关键词搜索相关的设备,其中一个是音频

    root@pve:~# lspci -nn | grep NVIDIA
    02:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:2489] (rev a1)
    02:00.1 Audio device [0403]: NVIDIA Corporation GA104 High Definition Audio Controller [10de:228b] (rev  a1)
    root@pve:~#
    

    得到显卡的设备ID和显卡内置音频设备ID为:

    • 显卡ID10de:2489
    • 音频ID10de:228b
  • 2、将设备ID添加到vfio.conf

    # 添加PCI设备
    echo "options vfio-pci ids=10de:2489,10de:228b disable_vga=1" > /etc/modprobe.d/vfio.conf
    

    如果无法输出到外接显示器,取消disable_vga=1参数试试

    echo "options vfio-pci ids=10de:2489,10de:228b" > /etc/modprobe.d/vfio.conf
    

0x07 应用更改

  • 1、刷新更改
    update-grub
    update-initramfs -u -k all
    
  • 2、重启PVE
    reboot
    
  • 3、检查是否配置成功
    root@pve:~# lspci -nnk
    02:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:2489] (rev a1)
            Subsystem: CardExpert Technology Device [10b0:153c]
            Kernel driver in use: vfio-pci
            Kernel modules: nvidiafb, nouveau
    02:00.1 Audio device [0403]: NVIDIA Corporation GA104 High Definition Audio Controller [10de:228b] (rev a1)
            Subsystem: CardExpert Technology Device [10b0:153c]
            Kernel driver in use: vfio-pci
            Kernel modules: snd_hda_intel     
    root@pve:~# 
    
    如果看到Kernel driver in use: vfio-pci,表示应用成功

0x09 添加显卡到虚拟机中

完成上述步骤配置后,在PVE-web图形化端添加PCI-E设备到虚拟机中即可

ps:
1、我同时添加显卡和音频之后,开机遇报错:TASK ERROR: start failed: QEMU exited with code 1,如果遇到同样的报错,尝试把音频设备从硬件中移除
2、我本次安装的win11,好像msdn i'tell u下载的无法安装,建议下载官方镜像尝试,或者下载2021年8月份版本


参考链接

[1] Proxmox VE 直通显卡方案及解决N卡Code43
[2] Stopped start failed: QEMU exited with code 1
[3] Proxmox VE Administration Guide

  • 10
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
PVE是指虚拟化环境中的一种虚拟机类型,而AMD显卡直通技术是一种高性能的透传技术。在PVE中,通常使用的是虚拟显卡来为虚拟机提供图形输出功能。然而,一些应用程序或工作负载对于图形性能有更高的要求,这时使用AMD显卡直通技术可以达到更好的效果。 AMD显卡直通技术允许将物理的AMD显卡直接分配给虚拟机,虚拟机可以直接访问显卡的硬件资源,如GPU和显存等。这样虚拟机就可以获得与物理机接近的图形性能,提供更好的图形渲染和加速能力。尤其对于需要进行图形处理、视频编辑、游戏等高性能需求的虚拟机,使用AMD显卡直通技术可以显著提升性能和用户体验。 使用AMD显卡直通技术的优点包括: 1. 提供更强大的图形处理能力:AMD显卡直通技术可以使虚拟机获得更高的图形计算性能,能够支持更复杂的图形渲染和加速需求。 2. 提供更好的游戏体验:对于希望在虚拟环境中运行游戏的用户,使用AMD显卡直通技术可以获得更好的游戏性能和流畅度。 3. 降低CPU负载:将显卡资源分离出来,可以减轻CPU对图形处理的压力,提升整个系统的性能。 4. 提供更好的应用支持:使用AMD显卡直通技术可以支持一些需要硬件加速的应用程序,例如视频编辑、深度学习等,从而提高工作效率。 5. 简化配置和使用:AMD显卡直通技术基于硬件的直通,相对容易设置和操作,不需要进行复杂的驱动和兼容性调试工作。 总之,通过PVE结合使用AMD显卡直通技术,可以为虚拟机提供更好的图形性能和用户体验,满足高性能图形渲染和加速的需求,并在诸多方面提升系统性能和应用支持能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值