pve虚拟机显卡直通教程 您所在的位置:网站首页 显卡代码查询 pve虚拟机显卡直通教程

pve虚拟机显卡直通教程

2023-08-13 04:59| 来源: 网络整理| 查看: 265

pve虚拟机pcie直通教程文章时效一定要看!!!

不同版本配置天差地别,请勿用于6.x以外的版本本文写作基于新建博文时镜像版本:

pve6.2-4

最后一次更新时版本:

pve6.2-15

新建博文关键软件包版本:

pve-qemu-kvm: 5.1.0-2

最后一次更新时关键软件包版本:

pve-qemu-kvm: 5.1.0-6 1. 开启iommu 先进入bios打开VT-d虚拟化选项。 修改启动参数

编辑/etc/default/grub

nano /etc/default/grub

找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet"替换为GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off,vesafb:off"如果是amd平台替换为GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on video=efifb:off,vesafb:off"

解释:

iommu开启直通分组 efifb:off 禁用efi启动的显示设备 vesafb:off 禁用legacy启动的显示设备

替换后执行以下命令更新grub:

update-grub 2. 加载模块

编辑/etc/modules

nano /etc/modules

添加以下几个模块,直接复制即可。

vfio vfio_iommu_type1 vfio_pci vfio_virqfd 3. 阻止驱动加载(显卡直通时才需要操作)

因为pve启动时会尝试加载显卡驱动,为了避免pve占用显卡,需要阻止pve的显卡驱动加载。

3.1 添加驱动黑名单

编辑/etc/modprobe.d/pve-blacklist.conf

nano /etc/modprobe.d/pve-blacklist.conf

添加以下内容

# block AMD driver blacklist radeon blacklist amdgpu # block NVIDIA driver blacklist nouveau blacklist nvidia blacklist nvidiafb # block INTEL driver blacklist snd_hda_intel blacklist snd_hda_codec_hdmi blacklist i915 3.2 添加显卡到直通设备中

查看所有pci设备。

lspci

找到显卡后记下硬件id,形式是xxxx:xxxx,比如G5400的核心显卡的硬件id是8086:3e90。编辑/etc/modprobe.d/vfio.conf

nano /etc/modprobe.d/vfio.conf

添加以下内容注意!!!!把8086:3e90换成你的显卡的硬件id

options vfio-pci ids=8086:3e90 4. 重启

一定要确认机器正常重启,重启后屏幕会卡在第二行好像是initramfs(写博客的时候机器不在手边,不记得具体显示什么了,下次折腾的时候再补充。反正屏幕卡住说明阻止了驱动加载)

5. 配置虚拟机 机器设置为q35 点击添加设备,PCI设备,找到显卡对应的设备。 打开全部功能 PCI Express 启动机器,安装驱动 6. 一些大坑6.1 intel

intel的坑比较多

intel有多种直通方案,分别是gpu虚拟化以及传统直通。当前版本(PVE6.2-4镜像)(pve-qemu-kvm 5.1.0-2)存在有关intel显卡的bug,社区在2020年上半年已经有优化intel直通的提案,不久后在pve-qemu-kvm 5.1.0-5版本中添加了这一特性。目前(2020-10-06)此版本仍然没有进入测试版分支,所以只有两个方案:自己编译或再等一万年。(2020-11-04)更新博文时,5.1.0-4版本已经发布,-5还会远吗,继续等等 (2020-11-24)5.1.0-5他终于更了,可以直接添加legacy-igd=1 intel的显卡vbios因板而异,不同主板的vbios对efi和legacy的支持水平参差不齐,我使用的主板恰好支持差,直通后HDMI与VGA口均不输出信号,但是驱动可以正常加载,解决方案是使用rom-parser和rom-fixer工具(github仓库地址)编辑提取出来的vbios(挖坑:这里会开一篇教程文章),并且将修改好的vbios文件复制到/usr/share/kvm,并且在显卡pcihost后添加romfile=”xxx.rom”手动加载vbios。说点题外话,提取的vbios可以测试兼容性。./rom-parser /tmp/xxx 如果有 PCIR: type 3说明支持efi启动,建议更换bios为OVMF。 驱动问题,直通windows,设备管理器显卡感叹号,提示代码43。算是直通成功一半了,但是这种情况处理起来比较复杂。有些情况下代码43显卡仍然可以正常工作,这种情况通常不用理会。如果工作不正常可以考虑下载安装老版本的驱动程序(我用windows自动安装的一切正常 6.2 nvidia

有卡还没测,可以先等一万年,会更的。2020-11-4上周尝试直通GTX 1080Ti一次成功…N卡直通没啥坑,放心通就好了官方文档提到需要添加以下内容

echo "options kvm ignore_msrs=1 report_ignored_msrs=0" > /etc/modprobe.d/kvm.conf

NVIDIA Kepler K80 GPUs需要在虚拟机配置文件中添加

args: -machine pc,max-ram-below-4g=1G

此外还必须进行以下操作,否则驱动出错:WebUI中:对应虚拟机->硬件->显卡对应的PCI设备(双击)->勾选x-vga(主GPU)或者修改虚拟机配置文件,在hostpci:后添加x-vga=1

驱动安装NVIDIA GeForce GTX1080Ti Ubuntu20.04 LTS驱动安装

nvidia-docker2020-11-24 待更新(挖坑:这里会开一篇文章)

6.3 amd

有卡还没测,可以再等一万年,在试了。

效果图:

12

Proxmox VE pve direct pcie iommu

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

LXC安装JellyFin并轻松开启硬件编码 上一篇 低至2元/年!搭建个人博客 下一篇


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有