前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PVE开启硬件显卡直通功能

PVE开启硬件显卡直通功能

原创
作者头像
小陈运维
发布于 2021-11-19 05:24:34
发布于 2021-11-19 05:24:34
7.6K00
代码可运行
举报
文章被收录于专栏:小陈运维小陈运维
运行总次数:0
代码可运行

PVE开启硬件显卡直通功能

首先编辑GRUB配置文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@pve:~# vim /etc/default/grub
root@pve:~#
root@pve:~# cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'


GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off"
GRUB_CMDLINE_LINUX=""


# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"


# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console


# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480


# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true


# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"


# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
root@pve:~#


开启IOMMU支持:


GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off"
如果是AMDCPUGRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on video=efifb:off"
复制代码

更新GRUB:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@pve:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.11.22-5-pve
Found initrd image: /boot/initrd.img-5.11.22-5-pve
Found linux image: /boot/vmlinuz-5.11.22-4-pve
Found initrd image: /boot/initrd.img-5.11.22-4-pve
Found memtest86+ image: /boot/memtest86+.bin
Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin
done
root@pve:~#
复制代码

添加所需的系统模块(驱动):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@pve:~#
root@pve:~# echo "vfio" >> /etc/modules
root@pve:~# echo "vfio_iommu_type1" >> /etc/modules
root@pve:~# echo "vfio_pci" >> /etc/modules
root@pve:~# echo "vfio_virqfd" >> /etc/modules
root@pve:~#
root@pve:~# cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.



# Generated by sensors-detect on Fri Sep 24 17:22:44 2021
# Chip drivers
coretemp
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
复制代码

接着添加模块(驱动)黑名单,即让GPU设备在下次系统启动之后不使用这些驱动,把设备腾出来给vfio驱动用:

Intel核显:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo "blacklist snd_hda_intel" >> /etc/modprobe.d/pve-blacklist.conf
echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/pve-blacklist.conf
echo "blacklist i915" >> /etc/modprobe.d/pve-blacklist.conf
复制代码

N卡/A卡:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo "blacklist nouveau" >> /etc/modprobe.d/pve-blacklist.conf
echo "blacklist radeon" >> /etc/modprobe.d/pve-blacklist.conf
复制代码

如果是N卡还需要加入下面的配置到kvm.conf(据老外说是避免一些莫名其妙的错误):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
复制代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@pve:~# echo "blacklist nouveau" >> /etc/modprobe.d/pve-blacklist.conf
root@pve:~# echo "blacklist radeon" >> /etc/modprobe.d/pve-blacklist.conf
root@pve:~#
root@pve:~# cat /etc/modprobe.d/pve-blacklist.conf
# This file contains a list of modules which are not supported by Proxmox VE


# nidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701
blacklist nvidiafb
blacklist nouveau
blacklist radeon
root@pve:~#
root@pve:~# echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
root@pve:~#
root@pve:~# cat /etc/modprobe.d/kvm.conf
options kvm ignore_msrs=1
复制代码

更新内核:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@pve:~# update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.11.22-5-pve
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.
root@pve:~#
复制代码

重启机器:

root@pve:~# reboot

重启上来之后检查模块是否正常加载:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@pve:~# lsmod | grep vfio
vfio_pci               57344  1
vfio_virqfd            16384  1 vfio_pci
irqbypass              16384  11 vfio_pci,kvm
vfio_iommu_type1       36864  1
vfio                   36864  5 vfio_iommu_type1,vfio_pci
root@pve:~#
复制代码

查看显卡

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@pve:~# lspci -nn | grep NV
86:00.0 3D controller [0302]: NVIDIA Corporation TU104GL [Tesla T4] [10de:1eb8] (rev a1)
root@pve:~#
root@pve:~#
复制代码

查看显卡ID,写入到配置中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@pve:~# lspci -n -s 86:00
86:00.0 0302: 10de:1eb8 (rev a1)
root@pve:~#
root@pve:~#
root@pve:~# echo "options vfio-pci ids=10de:1eb8" > /etc/modprobe.d/vfio.conf
root@pve:~#
复制代码

blog.csdn.net/qq_33921750

my.oschina.net/u/3981543

www.zhihu.com/people/chen…

segmentfault.com/u/hppyvyv6/…

juejin.cn/user/331578…

space.bilibili.com/352476552/a…

cloud.tencent.com/developer/c…

知乎、CSDN、开源中国、思否、掘金、哔哩哔哩、腾讯云

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PVE开启硬件显卡直通功能
接着添加模块(驱动)黑名单,即让GPU设备在下次系统启动之后不使用这些驱动,把设备腾出来给vfio驱动用:
小陈运维
2022/08/19
3.8K0
PVE开启硬件显卡直通功能
Pve开源虚拟化常见配置
这一步如果当前网络环境有网络并且dhcp获取到ip地址会默认获取国家跟时区直接下一步,如果没有网络环境这一步需要手动输入时区以及国家
慕阳MuYoung
2025/06/12
1250
玩转 AIGC:打造本地大模型地基,PVE 配置显卡直通
今天分享的内容是 玩转 AIGC「2024」 系列文档中的 打造本地大模型地基,PVE 配置显卡直通。
运维有术
2024/05/04
1.3K0
玩转 AIGC:打造本地大模型地基,PVE 配置显卡直通
Proxmox VE 8.4 显卡直通完整指南:NVIDIA 2080 Ti 实战
PCIe Passthrough 技术允许虚拟机直接访问物理GPU设备,绕过宿主机系统,从而获得接近原生性能的图形处理能力. 参照:从Proxmox VE开始:安装与配置指南。在R740服务器完成了proxmox的安装,并且安装了一张2080ti 魔改22g显存的的显卡。现在我需要将显卡直接直通到一台vm实例上面。
对你无可奈何
2025/05/02
1.2K0
Pve虚拟机所遇到的问题以及安装过程
直通显卡显示IMMOU提示,Grub、内核、黑名单等都以及添加,但还是添加成功.折腾了三天,感觉我要放弃All in One的想法了.
团团生活志
2022/08/16
2.7K0
pve安装docker图形化_怎么安装docker
去年年底这NUC到手时,就装PVE练手,然而最后做主力挂机的是那会买的个1037U小主机
全栈程序员站长
2022/11/17
1.6K0
pve安装docker图形化_怎么安装docker
Debian 开启 IOMMU 支持
找到 GRUB_CMDLINE_LINUX_DEFAULT="quiet" 修改为
宋天伦
2023/10/21
7970
配置openstack GPU直通
首先要确定主板和CPU都支持虚拟化技术,在BIOS将VT-d、VT-x设置成enable。
cuijianzhe
2022/07/22
3.7K0
PVE虚拟化(Proxmox Virtual Environment)安装以及常规配置(lvm分区,调整swap,更改源,删除订阅弹窗)
这一步如果当前网络环境有网络并且dhcp获取到ip地址会默认获取国家跟时区直接下一步,如果没有网络环境这一步需要手动输入时区以及国家
慕阳MuYoung
2024/04/17
8.5K1
PVE虚拟化(Proxmox Virtual Environment)安装以及常规配置(lvm分区,调整swap,更改源,删除订阅弹窗)
Linux Enterprise Server 15 SP3配置安装kvm nvidia vGPU
简介: Linux Enterprise Server 15 SP3配置安装kvm nvidia vGPU
姚华
2022/06/29
1.2K0
Ubuntu+KVM显卡透传
在做之前其实我在网上查了好多资料的,但是我发现现在网上上传资料特别水,好多都是复制粘贴,或者啰里啰唆讲不清楚,所以我也是决定自己做一份清楚有效的资料给大家! 显卡透传本来是工作内容,我自己做完发现还不错挺方便的,物理机是Ubuntu,KVM下的虚拟机是WIN10,完成后一个主机两个显示屏上的内容分别是Ubuntu、Win10,用起来挺方便的。
用户8851537
2021/07/21
2K0
OVS-DPDK
若上面的操作是在vmware上操作,需要加上上面额外的参数pmu=off,为了规避vmware的bug。若不加会报下面的错误:
后端云
2022/11/25
1.8K0
OVS-DPDK
KubeVirt 探秘:一些核心问题解答
上一篇文章 KubeVirt: 耗时 7 年终将虚拟机带入 Kubernetes 世界 | MoeLove 发布后,我收到了很多留言和讨论。限于篇幅,很多回答都比较简短,我想着还是写篇文章来详细聊聊关于 KubeVirt 的一些问题好了。
Jintao Zhang
2023/09/03
9941
KubeVirt 探秘:一些核心问题解答
怎样把一台电脑变成企业级路由器+影音中心+文件中心?来吧,跟着这篇文章操作就可以了
正所谓人尽其才,物尽其用。今天我们来介绍一下,怎样把旧一台电脑变成企业级的路由器+影音中心+文件中心。
IT狂人日志
2022/05/18
2.1K0
怎样把一台电脑变成企业级路由器+影音中心+文件中心?来吧,跟着这篇文章操作就可以了
让Proxmox VE支持嵌套虚拟化
目前公司的测试环境使用Proxmox VE(PVE),PVE虚拟出来的主机CPU默认不支持vmx,即不支持嵌套虚拟化,在虚拟机中使用egrep "vmx|svm" /proc/cpuinfo验证,无输出,那么如何让他支持呢?其实PVE的内核还是采用了KVM+Qemu的方式模拟,那么参照如何让KVM支持嵌套虚拟化的方法操作,开启nested即可
星哥玩云
2022/07/25
1.9K0
linux中blacklist.conf解读
我们在linux中安装驱动,有时会遇到受限或冲突,通常解决方式都是要修改blacklist.conf, 那么如何认识和深入了解它呢?下面就解读下 一、blacklist黑名单 对内核模块来说,黑名单是指禁止某个模块装入的机制
孙杰
2019/10/29
6.1K0
Ubuntu系统运行VPP24.02系列:startup.conf配置文件解读
思科VPP(Vector Packet Processing)是一款由思科开发的商用代码,后来其开源版本被加入到Linux基金会的FD.io项目中,并成为该项目的核心。本期我们继续讲解思科VPP24.02系列专题,本期我们讲述如何运行vpp软件
通信行业搬砖工
2024/06/13
5150
Ubuntu系统运行VPP24.02系列:startup.conf配置文件解读
VFIO(Virtual Function IO)研究
VFIO的全称是Virtual Function IO,但这个名字并不能反应它的特点,以下两个假名字更能反应VFIO的特点:
Linux阅码场
2021/04/22
5.1K0
VFIO(Virtual Function IO)研究
因为n卡驱动问题导致的安装ubuntu失败的解决方法
最近终于在我的飞行堡垒上装成功了ubuntu18.04了,哎,不容易哈,大一刚接触linux的时候,我就想给电脑装ubuntu,脱坑windows,但是每次装系统的时候都会卡在ubuntu的logo那里,无奈的一批,谷歌了很多,试了很多方法都失败了。 然后昨天无意中看到一篇关于ubuntu N卡驱动导致ubuntu安装失败的解决方法的文章。
kevinfaith
2018/09/18
5.3K0
因为n卡驱动问题导致的安装ubuntu失败的解决方法
研发工程师玩转Kubernetes——启用microk8s的监控面板(dashboard)
由于dashboard是在kube-system的namespace中,我们可以使用下面指令查看它服务的地址。
方亮
2023/05/26
7530
研发工程师玩转Kubernetes——启用microk8s的监控面板(dashboard)
推荐阅读
相关推荐
PVE开启硬件显卡直通功能
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验