跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI

PVE 配置显卡直通指南:本地部署 AI 大模型基础环境

在 Proxmox VE 虚拟化环境中配置 NVIDIA 显卡直通的具体步骤,包括宿主机 IOMMU 开启、VFIO 模块加载、内核参数调整以及虚拟机内显卡驱动的安装与验证。通过该方案可实现物理显卡资源直接分配给 AI 计算任务,为本地运行大语言模型提供必要的硬件加速支持,并包含常见故障排查建议。

steve发布于 2025/2/7更新于 2026/7/2965 浏览
PVE 配置显卡直通指南:本地部署 AI 大模型基础环境

PVE 配置显卡直通指南:本地部署 AI 大模型基础环境

本文将详细介绍如何在虚拟化平台 Proxmox Virtual Environment(PVE)中配置显卡直通,将宿主机上的物理显卡直接分配给 AI 虚拟机使用。通过此方案,可以充分利用 GPU 算力运行本地大语言模型(LLM),避免云端调用的延迟与成本。

1. 环境介绍

1.1 硬件环境

  • 服务器主板/芯片组:支持 VT-x/VT-d 虚拟化扩展的 Intel 或 AMD 平台
  • 内存:建议 32GB 及以上,确保宿主机与虚拟机均有充足资源
  • 显卡:NVIDIA P104-100(或其他支持 CUDA 的 NVIDIA 显卡)
  • BIOS 设置:必须开启 Intel VT-x、Intel VT-d (或 AMD-Vi) 以及 Above 4G Decoding

注意:本文以 NVIDIA P104-100 为例,配置逻辑适用于大多数消费级及专业级 NVIDIA 显卡。AMD 显卡直通原理类似,但驱动配置有所不同。

1.2 软件环境

  • 虚拟化平台:Proxmox VE 8.0.x 系列
  • 客户机系统:Ubuntu 22.04 LTS(推荐用于 AI 开发环境)
  • 内核版本:PVE 默认内核通常已包含 VFIO 支持,无需额外编译

2. 配置 PVE 宿主机开启显卡直通

在 PVE 宿主机上完成底层配置是直通成功的关键,主要涉及 IOMMU 开启、VFIO 模块加载及驱动屏蔽。

2.1 开启 IOMMU 功能

IOMMU(Input-Output Memory Management Unit)允许操作系统管理设备的 DMA 访问,是实现设备隔离和直通的基础。

  1. 编辑 Grub 配置文件 使用 root 权限编辑 /etc/default/grub:

    vi /etc/default/grub
    
  2. 修改启动参数 找到 GRUB_CMDLINE_LINUX_DEFAULT 行,添加以下参数:

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

    参数说明:

    • intel_iommu=on:启用 Intel IOMMU 支持。
    • iommu=pt:Performance mode,提高性能并防止 Linux 错误地直通不支持的设备。
    • initcall_blacklist=sysfb_init:禁用系统帧缓冲初始化,避免冲突(替代旧版的 video=efifb:off,vesafb:off)。
    • pcie_acs_override=downstream:强制覆盖 PCIe ACS 能力,便于拆分 IOMMU 组,使更多设备可被单独直通。

    *注:若使用 AMD CPU,请将 intel_iommu=on 替换为 amd_iommu=on。

  3. 更新 GRUB 配置

    update-grub
    

    执行后应显示生成 grub 配置文件成功。

  4. 加载 VFIO 内核模块 确保 VFIO 相关模块在启动时自动加载:

    echo vfio >> /etc/modules
    echo vfio_pci >> /etc/modules
    echo vfio_iommu_type1 >> /etc/modules
    # PVE 8.0+ 通常不需要手动添加 vfio_virqfd
    
  5. 重启系统

    reboot
    
  6. 验证 IOMMU 状态 重启后检查日志确认 IOMMU 已启用:

    dmesg | grep -E "DMAR|IOMMU"
    

    预期输出包含 DMAR: IOMMU enabled。

  7. 验证 VFIO 模块

    dmesg | grep -i vfio
    

    预期输出包含 VFIO - User Level meta-driver version: 0.3。

  8. 验证中断重映射

    dmesg | grep 'remapping'
    

    若看到 Enabled IRQ remapping 则说明中断重映射正常。部分老旧主板即使 BIOS 开启 X2APIC 也可能报错,此时需参考 2.3 节配置。

2.2 屏蔽宿主机默认驱动

为了防止宿主机占用显卡,必须在直通前屏蔽其默认驱动。

  1. 创建黑名单文件

    vi /etc/modprobe.d/blacklist.conf
    
  2. 添加屏蔽规则 根据显卡品牌选择对应内容:

    # NVIDIA 显卡屏蔽
    blacklist nouveau
    blacklist nvidia
    blacklist nvidiafb
    blacklist nvidia_drm
    
    # AMD 显卡屏蔽(如需)
    # blacklist amdgpu
    # blacklist radeon
    

    保存后执行 update-initramfs -k all -u 更新镜像。

2.3 其他关键配置

允许不安全的中断

某些硬件环境下,IOMMU 可能无法完美处理所有中断请求,导致直通失败。可添加以下配置允许不安全中断:

echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
NVIDIA 稳定性优化

为防止虚拟机异常导致宿主机崩溃,可调整 KVM 参数:

echo "options kvm ignore_msrs=1 report_ignored_msrs=0" > /etc/modprobe.d/kvm.conf
  • ignore_msrs:忽略未处理的 MSR 写入。
  • report_ignored_msrs:不报告此类异常。

2.4 更新内核引导文件并重启

update-initramfs -k all -u
reboot

3. 创建虚拟机并配置硬件

  1. 创建 Ubuntu 虚拟机 在 PVE 界面新建 VM,分配足够的 CPU 核心和内存(建议至少 4 核 8G)。

  2. 添加 PCI 设备

    • 选中虚拟机 -> 硬件 -> 添加 -> PCI 设备。
    • 点击 扫描 PCI 设备,找到对应的 NVIDIA 显卡(Vendor ID 通常为 10de)。
    • 勾选 All Functions(所有功能),确保声卡等附属设备也被直通。
    • 勾选 Primary GPU(可选,视需求而定)。
    • 点击 添加 并启动虚拟机。

4. 虚拟机内部驱动安装与验证

虚拟机启动后,需要安装 NVIDIA 专有驱动才能识别显卡。

4.1 准备环境

进入 Ubuntu 虚拟机终端,更新源并安装必要工具:

sudo apt update
sudo apt install build-essential dkms linux-headers-$(uname -r)

4.2 安装 NVIDIA 驱动

推荐使用官方 .run 文件或 PPA 源。以下以官方驱动为例:

  1. 下载驱动 前往 NVIDIA 官网下载对应版本的 Linux 驱动包(如 550.xx 版本)。

  2. 停止图形界面服务

    sudo systemctl stop gdm3  # 或使用 lightdm
    
  3. 安装驱动

    chmod +x NVIDIA-Linux-x86_64-550.54.15.run
    sudo ./NVIDIA-Linux-x86_64-550.54.15.run --no-opengl-files
    

    注意:安装过程中若提示保留当前配置,选择 No;若询问是否注册内核模块,选择 Yes。

  4. 重启虚拟机

    sudo reboot
    

4.3 验证显卡状态

驱动安装完成后,执行以下命令检查:

nvidia-smi

若能看到显卡型号(如 P104-100)、显存大小及驱动版本,说明直通成功。

示例输出:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA P104-100       On  | 00000000:00:10.0 Off |                  N/A |
| 72%   35C    P8              6W /  180W |       2MiB /   8192MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

4.4 AI 框架测试

若需运行 LLM,建议进一步测试 PyTorch 是否识别到 GPU:

import torch
print(torch.cuda.is_available())
print(torch.cuda.get_device_name(0))

若输出 True 及显卡名称,则环境配置完全就绪。

5. 常见问题排查

5.1 无法找到 PCI 设备

  • 检查 BIOS 中 VT-d/IOMMU 是否开启。
  • 检查 dmesg 是否有 vfio-pci 绑定成功的日志。
  • 尝试调整 pcie_acs_override 参数为 downstream,multifunction。

5.2 虚拟机启动黑屏

  • 可能是显卡被宿主机占用,检查 /etc/modprobe.d/blacklist.conf 是否正确生效。
  • 尝试移除虚拟机的 VGA 显示设备,仅保留直通显卡。

5.3 驱动安装失败

  • 确保虚拟机内核头文件版本与运行内核一致。
  • 检查是否启用了 Secure Boot,如有请关闭或在驱动签名中导入密钥。

6. 总结

通过上述步骤,我们成功在 PVE 平台上实现了 NVIDIA 显卡的直通,为本地 AI 大模型推理提供了硬件加速基础。该方案不仅降低了算力成本,还保证了数据隐私安全。后续可根据实际需求进一步优化网络配置、存储挂载及容器化部署(如 Docker + Kubernetes),构建更完善的私有化 AI 基础设施。

目录

  1. PVE 配置显卡直通指南:本地部署 AI 大模型基础环境
  2. 1. 环境介绍
  3. 1.1 硬件环境
  4. 1.2 软件环境
  5. 2. 配置 PVE 宿主机开启显卡直通
  6. 2.1 开启 IOMMU 功能
  7. 2.2 屏蔽宿主机默认驱动
  8. 2.3 其他关键配置
  9. 允许不安全的中断
  10. NVIDIA 稳定性优化
  11. 2.4 更新内核引导文件并重启
  12. 3. 创建虚拟机并配置硬件
  13. 4. 虚拟机内部驱动安装与验证
  14. 4.1 准备环境
  15. 4.2 安装 NVIDIA 驱动
  16. 4.3 验证显卡状态
  17. 4.4 AI 框架测试
  18. 5. 常见问题排查
  19. 5.1 无法找到 PCI 设备
  20. 5.2 虚拟机启动黑屏
  21. 5.3 驱动安装失败
  22. 6. 总结
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Vue Vant van-uploader 文件上传接口封装方法
  • Trae 高峰期模型排队问题及无问芯穹接入方案
  • 大模型提示词工程核心技巧与实战应用指南
  • Stream-Omni:多模态交互的视觉、语音、文本融合
  • 2025 年 10 大 AI 模型 API 中转聚合平台横评:多模型智能调度方案
  • 安装 Conda + VSCode 配置 Python 开发环境
  • AI 写作助手 Prompt 设计:从提纲生成到全文创作实战
  • Stable Diffusion WebUI 启动报错:MessageFactory GetPrototype 修复方案
  • Go 语言开发 AI 智能体实战:字节开源 Eino 框架详解与教程
  • 豆包 vs 扣子:字节两大 AI 产品定位与场景对比
  • LeetCode 761. 特殊的二进制字符串
  • OpenClaw 对接 QQ 机器人:本地与腾讯云部署实战
  • LeetCode 49. 字母异位词分组:两种高效 C++ 解法
  • 自然语言处理在客户服务领域的应用与实战
  • Docker Compose 常用命令详解
  • 使用 UI UX Pro Max 构建现代前端 UI 工作流
  • AI 如何革新 PCB 设计:PADS 软件智能辅助功能解析
  • Llama3.1 原模型与中文微调模型效果对比分析
  • UI UX Pro Max:让 AI 编码助手具备专业前端设计能力
  • 贪心算法专题:最大子段和与纪念品分组详解

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online