PVE虚拟机直通英伟达GPU显卡完全指南
PVE虚拟机直通英伟达GPU显卡完全指南
前言
本教程在pve宿主机执行
一. 前提条件
Bios开启VT-d HD-t
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功能 或参考本文末尾下方第二链接 即 proxmox-boot-tool refresh
二. 开启IOMMU功能
编辑文件/etc/default/grub,修改GRUB_CMDLINE_LINUX_DEFAULT
字段值
如果为Intel的CPU
1 | GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" |
如果为AMD的CPU
1 | GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on" |
三. 添加VT-D
功能的内核模块
打开文件/etc/modules
,新增以下4行内容
1 | vfio |
四. 屏蔽宿主机显卡驱动
1 | # 屏蔽镭龙显卡驱动 |
五. 其它参数
1 | # 允许不安全的中断 |
六. 配置VFIO
ps:执行此操作后可能无法输出到外接显示器,若出现此情况,请撤回该步骤
1、查看显卡ID
1 | root@pve:~# lspci -nn | grep VGA |
N卡编号为01:00,搜索对应的设备ID和音频设备ID
1 | root@pve:~# lspci -n -s 01:00 |
或者直接以NVIDIA
为关键词搜索相关的设备,其中一个是音频
1 | root@pve:~# lspci -nn | grep NVIDIA |
得到显卡的设备ID和显卡内置音频设备ID为:
显卡ID
: 10de:2685音频ID
: 10de:22ba
2、将设备ID添加到vfio.conf
1 | echo "options vfio-pci ids=10de:2685,10de:22ba disable_vga=1" > /etc/modprobe.d/vfio.conf |
七. 应用更改
1、刷新更改
1
2update-grub
update-initramfs -u -k all2、重启PVE
1
reboot
3、检查是否配置成功
1
2
3
4
5
6
7
8
9root@pve:~# lspci -nnk
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:2685] (rev a1)
Subsystem: Shenzhen Colorful Yugong Technology and Development Co. Device [7377:1400]
Kernel driver in use: vfio-pci
Kernel modules: nvidiafb, nouveau
01:00.1 Audio device [0403]: NVIDIA Corporation AD102 High Definition Audio Controller [10de:22ba] (rev a1)
Subsystem: Shenzhen Colorful Yugong Technology and Development Co. AD102 High Definition Audio Controller [7377:1400]
Kernel driver in use: vfio-pci
Kernel modules: snd_hda_intel
如果看到Kernel driver in use: vfio-pci
,表示应用成功
添加显卡到虚拟机中
完成上述步骤配置后,在PVE-web图形化端添加PCI-E设备到虚拟机中即可
创建虚拟机时需要选择:
ps:
1、我同时添加显卡和音频之后,开机遇报错:TASK ERROR: start failed: QEMU exited with code 1,如果遇到同样的报错,尝试把音频设备从硬件中移除
八. 扩展
虚拟机直通显卡后安装显卡驱动 使用下方脚本安装
本文参考
https://blog.csdn.net/byb123/article/details/124549876 (主要参考)
https://blog.dako.dev/proxmox-7-4-gpu-passthrough--e6-98-be-e5-8d-a1-e7-9b-b4-e9-80-9a/