🇨🇳 Proxmox VE 9.1 国产信创集群实战:在兆芯服务器上启用 NVIDIA A10 GPU 直通—— Proxmox VE 9.1 完整指南
环境 :5 台国产信创服务器(兆芯 KX-6000/KX-7000 + Intel 芯片组)
GPU :双 NVIDIA A10(GA102GL,PCI ID10de:2236)
虚拟化平台 :Proxmox VE 9.1 (基于 Debian Bookworm,内核 ≥6.8)
目标 :在信创环境中实现企业级 GPU 虚拟化,支撑 AI 推理、视频编码等高性能业务
核心突破 :打破“国产 CPU 不支持 IOMMU”迷思,实测验证 兆芯 + Intel VT-d = 完整 PCIe 直通能力
📋 先决条件
-
Proxmox VE 9.1 已安装并联网(官方 ISO)
-
NVIDIA A10 显卡已物理安装
-
BIOS 中虚拟化相关配置已启用 (部分国产主板默认关闭)

🔧 步骤 1:确认 IOMMU 已激活(信创关键!)
dmesg | grep -i "DMAR\|IOMMU"
✅ 成功标志 :
[ 4.926818] DMAR: IOMMU enabled
[ 4.927001] DMAR-IR: IOAPIC id 15 under DRHD base 0xfe98c000 IOMMU 6
💡 即使 CPU 是
CentaurHauls(兆芯),只要芯片组来自 Intel,VT-d 就可用!
检查设备隔离性:
find /sys/kernel/iommu_groups/ -type l | grep -E "(a1:00.0|21:00.0)"
确保每张 A10 独占一个 IOMMU Group (无其他设备混入)→ 可安全直通。
🔍 步骤 2:获取 GPU 的精确 PCI ID
lspci | grep -i nvidia
# 示例输出:
# a1:00.0 3D controller: NVIDIA Corporation GA102GL [A10] (rev a1)
# 21:00.0 3D controller: NVIDIA Corporation GA102GL [A10] (rev a1)
lspci -n -s a1:00.0
# 输出:a1:00.0 0302: 10de:2236 (rev a1)
记下 10de:2236 (A10 在部分固件中为 2236,非 2237,属正常变体)。
🛑 步骤 3:彻底禁用 nouveau 并绑定 vfio-pci
PVE 9.1 默认仍会加载 nouveau,必须强制拦截:
# 禁用开源驱动
cat <<EOF > /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
blacklist nvidiafb
options nouveau modeset=0
EOF
# 绑定 A10 到 vfio-pci
echo 'options vfio-pci ids=10de:2236 disable_vga=1' > /etc/modprobe.d/vfio.conf
# 确保模块开机加载
echo "vfio-pci" >> /etc/modules
⚠️ 务必替换
10de:2236为你的实际设备 ID!
🔄 步骤 4:更新 initramfs 并重启(PVE 9.1 注意事项)
# PVE 9.1 使用较新内核,需更新所有镜像
update-initramfs -u -k all
# 重启生效
reboot
💡 PVE 9.1 的
pve-kernel-6.8对 vfio 兼容性更好,无需额外 patch。
✅ 步骤 5:验证 GPU 是否被 vfio-pci 接管
重启后执行:
# 手动加载 vfio-pci(PVE 通常自动处理)
modprobe vfio-pci
# 检查驱动状态
lspci -k -s a1:00.0
✅ 理想输出 :
Kernel driver in use: vfio-pci

同时确认无残留:
lsmod | grep nouveau # 应无输出
🖥️ 步骤 6:在 PVE 9.1 Web UI 中直通 GPU
-
关闭目标虚拟机
-
进入Hardware → Add → PCI Device
-
选择你的 A10(如
a1:00.0) -
勾选:
☑️All Functions (即使只有 .0)
☐Primary GPU (除非需物理显示输出)

-
启动 VM
💡 若设备未显示,刷新页面或执行:
systemctl restart pvedaemon
🐧 步骤 7:虚拟机内安装 NVIDIA 驱动(信创兼容版)
Linux(以Ubuntu 22.04为例 )

# 添加官方仓库(PVE 9.1 推荐使用 server 驱动)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
# 安装长期支持驱动
sudo apt install nvidia-driver-535-server
sudo reboot
验证:
nvidia-smi # 应显示 A10 信息

Windows Server / Win10/11

- 从NVIDIA 企业驱动页 选择:
- Product Type : Data Center / Tesla
- Product Series : A-Series
- Operating System : 你的 Windows 版本
- 安装后无 Code 43 错误 ✅(A10 为专业卡,官方支持虚拟化)


忽略 NVIDIA 显卡警告
NVIDIA GPU 在 Windows 中可能会在使用类似GeForce Experience Passmark Performance Test SiSoftware Sandra 应用时发出警告。
为避免这种情况,在 /etc/modprobe.d/kvm.conf 中添加:
options kvm ignore_msrs=1 report_ignored_msrs=0
🏗️ 信创集群架构:混合部署最佳实践
目前已有 5 台兆芯+A10 节点 + 5 台 Intel 无 GPU 节点,合并为单一 PVE 9.1 集群 :
| 节点类型 | 用途 | CPU 配置建议 |
|---|---|---|
| 兆芯 + A10 | GPU 计算(AI/渲染) | host 或 kvm64 |
| Intel 无 GPU | 通用业务(Web/DB/中间件) | kvm64(最大兼容) |
HA 策略配置(避免乱迁移):
# 创建 GPU 专用 HA 组
pve-ha-manager add group gpu-group --nodes node171,node172,node173,node174,node175
# 将 GPU VM 加入该组
pve-ha-manager add vm:101 --group gpu-group
📌 GPU VM 无法 Live Migration,但 HA 可在同组节点故障恢复(需手动启动)
⚠️ 重要限制与规避方案
| 限制 | 说明 | 规避方案 |
|---|---|---|
| 不支持 Live Migration | PCIe 直通设备无法热迁移 | 固定 VM 到节点 + 应用层冗余 |
| HA 不能自动转移 | PVE 无法跨物理 GPU 迁移 | 使用 HA Group + 手动恢复脚本 |
| 兆芯 CPU 性能差异 | 相比 Intel 同频性能略低 | GPU 密集型任务不受影响 |
| 驱动兼容性 | 需使用官方企业驱动 | 避免社区版驱动 |
🏁信创不是妥协,而是可控的创新
在 兆芯 + Proxmox VE 9.1 上成功直通 NVIDIA A10,证明:
- 国产硬件完全可支撑高性能 GPU 虚拟化
- 信创环境不必牺牲技术先进性
- 关键在于理解底层机制,而非盲目相信“不支持”