随机
Enter 搜索 ↑↓ 切换 Esc 清空

pve-open-sr-iov

命令

PVE 开启 Intel 核显 SR-IOV 完整指南

pve-open-sr-iov

PVE 开启 Intel 核显 SR-IOV 完整指南

补充说明

本文档记录在 Proxmox VE 环境下,为 Intel 11/12/13/14 代核显开启 SR-IOV(Single Root I/O Virtualization)的完整操作流程。SR-IOV 允许将物理核显划分为多个虚拟功能(VF),直接分配给不同的虚拟机使用。

前置条件

条件 说明
系统要求 Proxmox VE (PVE)
硬件要求 Intel 11/12/13/14 代核显
网络要求 能访问 GitHub(用于下载驱动)
权限要求 root 权限

一键脚本

bash <(curl -sL gitee.com/meimolihan/linux-command_sh/raw/master/pve_install_sr-iov.sh)

脚本功能概览

模块 功能 说明
内核管理 查看内核版本 显示当前 PVE 内核版本
查看可用内核 列出可安装的 PVE 内核
安装内核并固化 安装指定内核并设为默认启动
重启应用新内核 重启系统使新内核生效
SR-IOV 管理 修改 GRUB 参数 配置内核引导参数
安装 i915 SR-IOV 驱动 自动下载并安装 strongtz 驱动
更新 initramfs 更新初始化内存盘
检查 SR-IOV 状态 查看 PF/VF 设备和 DKMS 状态
其他 查看核显使用率 实时监控 GPU 使用情况
PVE 优化脚本 运行社区优化工具

快速开始

第一步:确认系统环境

ls /var/lib/vz/template/iso   # 存在此目录说明是 PVE
pveversion
uname -r

第二步:修改 GRUB 引导参数

sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="quiet iommu=pt i915.enable_guc=3 i915.max_vfs=7"/' /etc/default/grub
update-grub

参数说明:

参数 作用
iommu=pt 开启 IOMMU 直通模式
i915.enable_guc=3 启用 GuC/HuC 固件
i915.max_vfs=7 最大虚拟功能数量

第三步:安装 i915 SR-IOV 驱动

# 安装依赖
apt update && apt install -y jq curl wget pve-headers-$(uname -r)

# 自动获取最新版本号
VER=$(curl -sL https://github.com/strongtz/i915-sriov-dkms/releases/latest | grep -E 'tag/[^"]+' -o | head -n1 | sed 's/tag\///')

# 下载最新deb包
wget "https://github.com/strongtz/i915-sriov-dkms/releases/download/${VER}/i915-sriov-dkms_${VER}_amd64.deb"

# 安装
dpkg -i "i915-sriov-dkms_${VER}_amd64.deb"

# 修复依赖
apt install -fy

# 清理安装包
rm -f "i915-sriov-dkms_${VER}_amd64.deb"

第四步:更新 initramfs 并重启

update-initramfs -u -k all
reboot

第五步:验证 SR-IOV 状态

# 查看 PF(物理功能)
lspci -nn | grep -i 'HD Graphics'

# 查看 VF(虚拟功能)
lspci -nn | grep -iE 'HD Graphics.*Virtual Function|8086:56[0-9a-f]'

# 查看 DKMS 状态
dkms status | grep i915

# 查看 VF 数量
cat /sys/class/drm/card0/device/sriov_numvfs
cat /sys/class/drm/card0/device/sriov_totalvfs

虚拟机配置

创建虚拟机时添加 PCI 设备:

qm set <VM_ID> -hostpci0 <VF_BDF>,pcie=on
# 示例:将 VF 00:10.0 分配给 VM 100
qm set 100 -hostpci0 00:10.0,pcie=on

Web 界面操作:选择虚拟机 → 硬件 → 添加 → PCI 设备 → 选择 VF → 勾选 PCI-Express 和所有功能。

支持的内核版本

PVE 版本 内核版本 SR-IOV 支持
PVE 7.x 5.15.x 有限支持
PVE 8.0 6.2.x 良好支持
PVE 8.1 6.5.x 完全支持
PVE 8.2 6.8.x 完全支持

常见问题

Q:安装驱动时提示无法获取最新版本?

网络问题或 GitHub API 限制。可设置代理 export https_proxy=http://代理地址:端口 或手动从 strongtz/i915-sriov-dkms/releases 下载 DEB 包。

Q:内核头文件安装失败?

apt update
apt install -y pve-headers-$(uname -r)
# 或安装全部头文件
apt install -y pve-headers

Q:重启后 VF 未生效?

cat /proc/cmdline               # 检查内核参数
update-grub                      # 重新配置 GRUB
proxmox-boot-tool refresh        # UEFI 环境需刷新引导

Q:DKMS 编译失败?

dkms status
cat /var/lib/dkms/i915-sriov-dkms/build/make.log
apt install -y pve-kernel-6.2.16-20-pve   # 尝试降级内核
proxmox-boot-tool kernel pin 6.2.16-20-pve
reboot

Q:检测不到 VF 设备?

echo 7 > /sys/class/drm/card0/device/sriov_numvfs   # 手动启用
cat /sys/class/drm/card0/device/sriov_totalvfs        # 若返回 0 说明硬件不支持

参考资料

安全提示

操作前请备份重要数据,建议先在测试环境验证,生产环境操作请选择维护窗口,确保有应急恢复方案(如 IPMI / 远程管理卡)。