Administrator
发布于 2026-02-07 / 7 阅读
0
0

📝 PVE 8.x 部署 Tesla P4 vGPU (显卡拆分) 全流程记录

核心逻辑区别:

  • 直通 (Passthrough):PVE 把卡“吐”出来,给某一个 VM 独占。PVE 宿主机看不到显卡。

  • 拆分 (vGPU):PVE 宿主机安装 NVIDIA 驱动“接管”显卡,然后切片分给多个 VM。PVE 宿主机必须能看到卡。


第一阶段:PVE 宿主机环境准备

1. 基础环境与依赖

vGPU 驱动需要编译安装,必须先安装内核头文件和编译工具。

Bash

# 更新源
apt update

# 安装依赖 (核心步骤)
apt install pve-headers-$(uname -r) build-essential dkms unzip mdevctl

2. 开启 IOMMU (硬件直通基础)

编辑 Grub 配置:

Bash

nano /etc/default/grub

修改 GRUB_CMDLINE_LINUX_DEFAULT

Bash

# Intel CPU:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"

更新 Grub:

Bash

update-grub

3. 屏蔽开源驱动 (Nouveau)

必须禁用 Linux 自带的 Nouveau 驱动,否则官方驱动装不上。

Bash

echo "blacklist nouveau" >> /etc/modprobe.d/pve-blacklist.conf
echo "options nouveau modeset=0" >> /etc/modprobe.d/pve-blacklist.conf
update-initramfs -u

4. 关键差异:不要绑定 vfio-pci!

注意: 如果你之前做过直通,配置过 vfio.conf 绑定了显卡 ID,必须删掉!

因为做 vGPU 拆分时,需要让 NVIDIA 的宿主机驱动抓住这张卡,而不是让 vfio 隔离它。

Bash

# 检查是否存在,存在则删除或注释掉内容
rm /etc/modprobe.d/vfio.conf 
# 或者检查 /etc/modprobe.d/pve-blacklist.conf 里有没有写 id

完成后重启 PVE: reboot


第二阶段:安装 NVIDIA vGPU Host 驱动 (拆分核心)

这一步是将 Tesla P4 变成“母鸡”的关键。下载链接里的 Linux 版本驱动(通常以 .run 结尾,例如 NVIDIA-Linux-x86_64-535.247.02-grid.run)。

1. 上传并安装驱动

.run 文件上传到 PVE 的 /root 目录。

Bash

# 赋予执行权限
chmod +x NVIDIA-Linux-x86_64-535.247.02-grid.run

# 运行安装程序
./NVIDIA-Linux-x86_64-535.247.02-grid.run

安装过程中的选项:

  • Accept License: Yes

  • Install 32-bit compatibility libraries? No (一般不需要)

  • Would you like to run the nvidia-xconfig? No (PVE不需要X服务)

2. 验证驱动安装

安装完成后,输入以下命令。如果能看到 Tesla P4 的信息列表,说明宿主机配置成功!

Bash

nvidia-smi

3. 启用 vGPU 服务 (SR-IOV / MDEV)

确保 vGPU 管理服务已启动:

Bash

systemctl status nvidia-vgpu-mgr
systemctl status nvidia-vgpud

第三阶段:配置虚拟机 (分配 vGPU 切片)

PVE 8.x 对 vGPU 的支持已经非常完善,直接在 UI 操作即可。

1. 创建/配置 Windows 虚拟机

  • Machine: q35

  • BIOS: OVMF (UEFI)

  • CPU: host

2. 添加 vGPU 设备

在虚拟机 硬件 (Hardware) -> 添加 (Add) -> PCI 设备

  1. Raw Device: 选择你的 NVIDIA Tesla P4 (例如 0000:04:00.0)。

  2. MDev Type (关键): 这里就是“拆分”的选项。点击下拉菜单,你会看到不同的配置文件,例如:

    • nvidia-62 (P4-1Q, 1GB显存, 允许开 8 台 VM)

    • nvidia-63 (P4-2Q, 2GB显存, 允许开 4 台 VM)

    • nvidia-65 (P4-8Q, 8GB显存, 独占完整性能)

    • 建议选择 nvidia-65 (P4-8Q) 给主力机,或者按需切分。

  3. Primary GPU: ❌ 不要勾选 (这很重要,防黑屏)。

  4. PCI-Express: ✅ 勾选。


第四阶段:Windows 虚拟机内部设置

1. 解决“黑屏”隐患 (RDP 准备)

  • 在安装显卡驱动前,确保你已经开启了 Windows 远程桌面 (RDP)

  • 确保你知道虚拟机的 IP 地址。

2. 安装 Guest 驱动

  • 通过 PVE 控制台或 RDP 进入虚拟机。

  • 将配套的 Windows 版本驱动 (例如 535.247.01_grid_win10_...exe) 拷贝进去安装。

  • 注意版本匹配:Guest 驱动版本必须严格匹配 Host 驱动版本(主版本号一致)。

3. 授权与模式 (License)

你下载的 535.xx 系列 Grid 驱动通常需要授权服务器。

  • 情况 A (你是正版/企业环境):填写 License Server 地址。

  • 情况 B (个人/Homelab 破解)

    • 通常使用 FastAPI-DLS 搭建本地授权服务。

    • 或者该驱动版本是特殊的“免授权/硬改”版本。

    • 如果设备管理器里显卡状态正常,运行 nvidia-smi 显示授权状态为 LicensedUnlicensed (Unrestricted),则无需理会。

4. 解决“有驱动无画面” (虚拟显示器)

安装完 vGPU 驱动重启后,PVE 网页控制台可能会卡死或黑屏。

  1. 使用 RDP 远程连接进入系统。

  2. 下载并安装 USBMMIDD (虚拟显示器驱动)。

  3. 运行 usbmmidd.bat 添加一个虚拟屏幕。

  4. 在显示设置里,将这个虚拟屏幕设为“扩展”或“仅显示在2”。


💡 总结:直通 vs vGPU 步骤差异表

步骤

直通 (Passthrough)

vGPU (拆分)

IOMMU

开启

开启

Nouveau

屏蔽

屏蔽

vfio-pci 绑定

需要 (隔离显卡)

严禁 (驱动要接管显卡)

PVE 驱动

不需要安装

必须安装 NVIDIA Host 驱动

VM 添加设备

选 Raw Device (直通)

MDev Type (切分 Profile)

Guest 驱动

普通 DataCenter 驱动

Grid / vGPU 专用驱动


评论