Loading [MathJax]/jax/output/CommonHTML/config.js
部署DeepSeek模型,进群交流最in玩法!
立即加群
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Proxmox VE 8.4 显卡直通完整指南:NVIDIA 2080 Ti 实战

Proxmox VE 8.4 显卡直通完整指南:NVIDIA 2080 Ti 实战

原创
作者头像
对你无可奈何
发布于 2025-05-02 11:32:08
发布于 2025-05-02 11:32:08
1.1K0
举报
文章被收录于专栏:运维专栏运维专栏

背景:

PCIe Passthrough 技术允许虚拟机直接访问物理GPU设备,绕过宿主机系统,从而获得接近原生性能的图形处理能力. 参照:从Proxmox VE开始:安装与配置指南。在R740服务器完成了proxmox的安装,并且安装了一张2080ti 魔改22g显存的的显卡。现在我需要将显卡直接直通到一台vm实例上面。

验证系统信息

系统版本与显卡信息如下:

代码语言:plain
AI代码解释
复制
cat /etc/os-release
pveversion -v 

****输出确认当前proxmox server 是基于debian 12 版本的 8.4.0 proxmox操作系统 :

显卡信息 2080ti的信息:

代码语言:plain
AI代码解释
复制
 lspci -nnk|grep "NVIDIA"

下面就就详细记录一下具体过程!

请注意:当前服务器cpu为intel处理器,amd处理器配置有些许不同,请注意查找一下相关资料......

Proxmox VE 8.4 显卡直通完整指南:NVIDIA 2080 Ti 实战

检查和启用IOMMU支持

IOMMU(Input-Output Memory Management Unit)是硬件辅助的虚拟化技术,为PCI设备直通提供必要的内存管理和隔离功能。

修改GRUB配置

代码语言:plain
AI代码解释
复制
# 备份原始配置
cp /etc/default/grub /etc/default/grubold
# 编辑GRUB配置
vi /etc/default/grub

编辑/etc/default/grub文件,并在GRUB_CMDLINE_LINUX_DEFAULT行中添加以下内容(使用默认,pve版本为8.4):

代码语言:plain
AI代码解释
复制
# 修改 GRUB_CMDLINE_LINUX_DEFAULT 配置为

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt initcall_blacklist=sysfb_init pcie_acs_override=downstream"

#注意:pve  7.2 以前版本使用
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt video=efifb:off,vesafb:off pcie_acs_override=downstream"

参数说明(deepseek总结的参数定义,可以个人查缺补漏):

参数说明 :

  • **intel_iommu=on **: 启用Intel平台的IOMMU支持
  • **iommu=pt **: 仅对直通设备启用IOMMU,减少性能开销
  • **initcall_blacklist=sysfb_init **: 防止宿主机占用显卡帧缓冲区
  • **pcie_acs_override=downstream **: 解决某些PCIe设备的ACS限制问题

注意 :对于AMD平台,需将 **intel_iommu=on **替换为 **amd_iommu=on **

更新grub配置:

代码语言:plain
AI代码解释
复制
update-grub

添加必要的的内核模块

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

代码语言:plain
AI代码解释
复制
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

reboot 重启 proxmox 主机

验证IOMMU是否启用

待服务器启动后,登录服务器验证IOMMU是否启用:

代码语言:plain
AI代码解释
复制
dmesg | grep -E "DMAR|IOMMU"

验证并 配置VFIO

验证VFIO模块:

代码语言:plain
AI代码解释
复制
dmesg | grep -i vfio

查看显卡id:

代码语言:plain
AI代码解释
复制
root@proxmox1:~# lspci -nn | grep NVIDIA
3b:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti Rev. A] [# 添加PCI设备
echo "options vfio-pci ids=10de:1e07 disable_vga=1" > /etc/modprobe.d/vfio.conf
] (rev a1)
3b:00.1 Audio device [0403]: NVIDIA Corporation TU102 High Definition Audio Controller [10de:10f7] (rev a1)
3b:00.2 USB controller [0c03]: NVIDIA Corporation TU102 USB 3.1 Host Controller [10de:1ad6] (rev a1)
3b:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU102 USB Type-C UCSI Controller [10de:1ad7] (rev a1)

得到显卡的id是:10de:1e07(注意这里的10de:10f7,10de:1ad6 ,10de:1ad7应该都加上去,我这里就用显卡功能无所谓了 )

将设备ID添加到 vfio.conf:

代码语言:plain
AI代码解释
复制
# 添加PCI设备
echo "options vfio-pci ids=10de:1e07 disable_vga=1" > /etc/modprobe.d/vfio.conf

注意请一定注意这里的将设备Id添加到vfio.conf操作。往上很多笔记遗忘了该部分!

验证是否支持 中断重映射

代码语言:plain
AI代码解释
复制
dmesg | grep 'remapping'

屏蔽显卡驱动 :

在proxmox主机屏蔽掉显卡的驱动:

代码语言:plain
AI代码解释
复制
echo "# NVIDIA" >> /etc/modprobe.d/blacklist.conf 
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf 
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf 
echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia_drm" >> /etc/modprobe.d/blacklist.conf
echo "" >> /etc/modprobe.d/blacklist.conf

其他有用的配置

  • 允许不安全的中断
代码语言:plain
AI代码解释
复制
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
  • 为 NVIDIA 卡添加稳定性修复和优化
代码语言:plain
AI代码解释
复制
echo "options kvm ignore_msrs=1 report_ignored_msrs=0" > /etc/modprobe.d/kvm.conf

更新内核引导文件

更新内核引导文件并重启宿主机:

代码语言:plain
AI代码解释
复制
update-initramfs -k all -u
reboot

验证是否成功:

代码语言:plain
AI代码解释
复制
lspci -nn | grep NVIDIA
lspci -nnk -s 3b:00

正常直通时,输出应显示内核驱动为 **vfio-pci **,如果未显示则需要执行 验证并配置VFIO部分。

vm实例添加显卡

等待宿主机启动后完成如下操作!

VM实例添加显卡:

这里使用了登录web控制台增加pci设备的方式,当然也可以shell登录宿主机使用命令添加的方式!

以VM实例301为例:点击vm 实例-硬件-添加-PCI设备-原始设备,找到2080TI设备选中,添加:

启动虚拟机实例:

确认当前vm实例是关闭状态,启动 VM实例:

注意,由于proxmox reboot操作过,并且我的vm实例不是开机自启动,这里可以操作后直接启动,如果是正在运行中的实例,请关闭实例后启动.

验证vm实例挂载显卡成功:

登录vm 301实例,使用如下命令确认vm实例成功挂载了显卡设备:

代码语言:plain
AI代码解释
复制
lspci | grep -i vga
lspci -nn | grep NVIDIA

ok到这里 显卡就完成了 显卡直通的相关操作!下一章节给vm实例安装显卡驱动与cuda!

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PVE开启硬件显卡直通功能
接着添加模块(驱动)黑名单,即让GPU设备在下次系统启动之后不使用这些驱动,把设备腾出来给vfio驱动用:
小陈运维
2022/08/19
3.8K0
PVE开启硬件显卡直通功能
PVE开启硬件显卡直通功能
接着添加模块(驱动)黑名单,即让GPU设备在下次系统启动之后不使用这些驱动,把设备腾出来给vfio驱动用:
小陈运维
2021/11/19
7.6K0
配置openstack GPU直通
首先要确定主板和CPU都支持虚拟化技术,在BIOS将VT-d、VT-x设置成enable。
cuijianzhe
2022/07/22
3.7K0
玩转 AIGC:打造本地大模型地基,PVE 配置显卡直通
今天分享的内容是 玩转 AIGC「2024」 系列文档中的 打造本地大模型地基,PVE 配置显卡直通。
运维有术
2024/05/04
1.3K0
玩转 AIGC:打造本地大模型地基,PVE 配置显卡直通
英伟达显卡虚拟化vGPU实践指南
在前面的一篇文章中介绍了Intel、AMD、NIVIDA三个厂家的GPU虚拟化技术,有兴趣的可以看看本号之前的文章,今天就具体的实践一下英伟达的vGPU。
虚拟化云计算
2020/09/24
5.7K0
英伟达显卡虚拟化vGPU实践指南
Ubuntu+KVM显卡透传
在做之前其实我在网上查了好多资料的,但是我发现现在网上上传资料特别水,好多都是复制粘贴,或者啰里啰唆讲不清楚,所以我也是决定自己做一份清楚有效的资料给大家! 显卡透传本来是工作内容,我自己做完发现还不错挺方便的,物理机是Ubuntu,KVM下的虚拟机是WIN10,完成后一个主机两个显示屏上的内容分别是Ubuntu、Win10,用起来挺方便的。
用户8851537
2021/07/21
2K0
Linux Enterprise Server 15 SP3配置安装kvm nvidia vGPU
简介: Linux Enterprise Server 15 SP3配置安装kvm nvidia vGPU
姚华
2022/06/29
1.2K0
PVE虚拟化(Proxmox Virtual Environment)安装以及常规配置(lvm分区,调整swap,更改源,删除订阅弹窗)
这一步如果当前网络环境有网络并且dhcp获取到ip地址会默认获取国家跟时区直接下一步,如果没有网络环境这一步需要手动输入时区以及国家
慕阳MuYoung
2024/04/17
8.2K1
PVE虚拟化(Proxmox Virtual Environment)安装以及常规配置(lvm分区,调整swap,更改源,删除订阅弹窗)
基于KVM的SRIOV直通配置及性能测试
▪ 1. SRIOV介绍 ▪ 2. 环境说明 ▪ 3. 开启SRIOV ▪ 4. 生成VF ▪ 5. VF直通 ▪ 6. 开启irqbalance ▪ 7. VM迁移 ▪ 8. 带宽限速 ▪ 9. 安全 ▪ 10. 其他使用限制 ▪ 11. 性能测试 ▪ 12. windows虚拟机使用VF ▪ 13. 运维命令 ▪ 14. 宿主屏蔽VF驱动 ▪ 附. 包转发率测试方法 ▪ 附. 参考文档
星哥玩云
2022/07/28
2.9K0
基于KVM的SRIOV直通配置及性能测试
pve安装docker图形化_怎么安装docker
去年年底这NUC到手时,就装PVE练手,然而最后做主力挂机的是那会买的个1037U小主机
全栈程序员站长
2022/11/17
1.6K0
pve安装docker图形化_怎么安装docker
KVM虚拟化之设备透传
会看到类似下面的输出,其中包含显卡的 PCI 地址,例如 0000:03:00.0:
没有故事的陈师傅
2024/12/27
2210
KVM虚拟化之设备透传
Pve虚拟机所遇到的问题以及安装过程
直通显卡显示IMMOU提示,Grub、内核、黑名单等都以及添加,但还是添加成功.折腾了三天,感觉我要放弃All in One的想法了.
团团生活志
2022/08/16
2.7K0
在 Linux 上使用 lspci 命令查看硬件情况
当你在个人电脑或服务器上运行 Linux 时,有时需要识别该系统中的硬件。lspci 命令用于显示连接到 PCI 总线的所有设备,从而满足上述需求。该命令由 pciutils 包提供,可用于各种基于 Linux 和 BSD 的操作系统。
用户9105998
2021/11/22
3.3K0
ubuntu22.04安装显卡驱动与cuda+cuDNN
紧接前文:Proxmox VE 8.4 显卡直通完整指南:NVIDIA 2080 Ti 实战。在R740服务器完成了proxmox的安装,并且安装了一张2080ti 魔改22g显存的的显卡。配置完了proxmox显卡直通,并将显卡挂载到了vm 301(ubuntu22.04)的虚拟机上面。现在需要安装显卡驱动与cuda以及cuDNN!
对你无可奈何
2025/05/03
1.2K0
虚拟化外设传输
在虚拟化云桌面中,关于外设的使用一直有两种基本功能, 设备的透传(passthrough)与重定向(redirection).
何其不顾四月天
2023/03/10
8170
Linux安装NVIDIA显卡驱动的正确姿势
可能想玩Linux系统的童鞋,往往死在安装NVIDIA显卡驱动上,所以这篇文章帮助大家以正常的方式安装NVIDIA驱动。
全栈程序员站长
2022/07/23
17K0
Linux安装NVIDIA显卡驱动的正确姿势
让Proxmox VE支持嵌套虚拟化
目前公司的测试环境使用Proxmox VE(PVE),PVE虚拟出来的主机CPU默认不支持vmx,即不支持嵌套虚拟化,在虚拟机中使用egrep "vmx|svm" /proc/cpuinfo验证,无输出,那么如何让他支持呢?其实PVE的内核还是采用了KVM+Qemu的方式模拟,那么参照如何让KVM支持嵌套虚拟化的方法操作,开启nested即可
星哥玩云
2022/07/25
1.9K0
Ubuntu系统运行VPP24.02系列:startup.conf配置文件解读
思科VPP(Vector Packet Processing)是一款由思科开发的商用代码,后来其开源版本被加入到Linux基金会的FD.io项目中,并成为该项目的核心。本期我们继续讲解思科VPP24.02系列专题,本期我们讲述如何运行vpp软件
通信行业搬砖工
2024/06/13
5040
Ubuntu系统运行VPP24.02系列:startup.conf配置文件解读
云环境中GPU配置
Ocata周期的科学技术重点之一是进一步扩展OpenStack中GPU支持的状态。这里的第一个问题是我们在讨论GPU支持时正在讨论的问题,因为使用现有的OpenStack功能(例如,Nova的PCI直通支持)已经有几种可能性和组合,允许部署者利用GPU拼凑云。这里的想法是让我们了解尽可能多的可能性,同时深入了解社区经验支持它的细节。
后端云
2018/10/24
3K0
硬件升级问题:硬件升级过程中出现问题,影响系统稳定性
是山河呀
2025/02/07
1240
相关推荐
PVE开启硬件显卡直通功能
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档