AI服务器GPU直通配置:让虚拟机独占物理显卡的实操步骤

GPU直通是把一张物理显卡完整交给某台虚拟机独占使用,宿主机不再加载它的常规驱动。
和vGPU共享、MIG切分不同,直通后虚拟机内看到的是一张完整GPU,CUDA性能接近裸机。
适用条件是服务器CPU和主板支持VT-d/AMD-Vi,且显卡本身允许直通(多数数据中心卡支持,部分消费卡有复位问题)。

先确认硬件和系统是否具备直通条件

直通依赖IOMMU(输入输出内存管理单元),它负责把PCIe设备的安全访问权限隔离给虚拟机。
登录宿主机后按顺序检查:

  1. 确认CPU虚拟化与IOMMU已在BIOS/UEFI中开启。Intel平台找 VT-d,AMD平台找 IOMMU,通常位于Advanced或Chipset菜单。
  2. 确认内核已启用IOMMU。编辑GRUB配置:
# Intel平台
GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt"
# AMD平台
GRUB_CMDLINE_LINUX="amd_iommu=on iommu=pt"

更新后重启并验证:

update-grub   # Debian/Ubuntu,CentOS用 grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
dmesg | grep -i iommu

看到 DMAR: IOMMU enabled 或 AMD-Vi: Interrupt remapping enabled 才算正常。

  1. 确认显卡所在IOMMU分组。执行 for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*}; printf 'IOMMU Group %s ' "$n"; lspci -nns "${d##*/}"; done,找到GPU及其音频功能是否在同一组。如果GPU和网卡、SATA控制器同组,直通会连带隔离其他设备,需要调整PCIe插槽或接受无法直通。

把GPU从宿主机解绑并交给vfio-pci

宿主机不能同时用NVIDIA驱动和vfio驱动管理同一张卡。
先获取GPU的PCI地址:

lspci -nn | grep -i nvidia
# 输出示例:01:00.0 3D controller [0302]: NVIDIA Corporation GA100 [A100] [10de:20b2]

记录 01:00.0 和厂商设备ID 10de:20b2,音频功能通常是 01:00.1。
然后做两件事:

  • 在 /etc/modprobe.d/vfio.conf 写入 options vfio-pci ids=10de:20b2,如果有音频功能一并加入。
  • 在 /etc/modprobe.d/blacklist.conf 中屏蔽宿主机NVIDIA驱动:blacklist nouveau 和 blacklist nvidia。

更新initramfs并重启:

update-initramfs -u -k all   # CentOS用 dracut -f
reboot

重启后验证绑定结果:

lspci -nnk -s 01:00.0
# 应看到 Kernel driver in use: vfio-pci

如果仍显示 nvidia,说明屏蔽顺序或initramfs未生效,检查 dmesg | grep -i vfio 是否有绑定失败记录。

在KVM虚拟机中挂载直通GPU

以libvirt管理的KVM为例,用 virsh edit 虚拟机名 编辑XML,在 段加入:


  
    

如果虚拟机使用UEFI启动,还需要在 中启用 ,避免NVIDIA驱动检测到虚拟化环境后拒绝加载。
保存后启动虚拟机,进入系统执行 nvidia-smi,能列出GPU型号和显存即表示直通成功。

常见失败原因和避坑提醒

  • 虚拟机启动报“Failed to assign device”:多为IOMMU分组不干净或设备仍被宿主机占用。回到宿主机用 lsof /dev/nvidia* 检查是否有进程占用,必要时先卸载宿主机驱动。
  • 虚拟机内nvidia-smi报“No devices were found”:检查XML中PCI地址是否写错,以及虚拟机是否使用了与宿主机冲突的驱动版本。
  • 直通后宿主机无法再用该GPU:这是预期行为。直通是独占模式,宿主机监控工具看不到该卡属正常现象,不要误判为掉卡。
  • 消费级显卡直通后虚拟机重启失败:部分GeForce卡存在复位bug,需要在XML中加 或使用厂商提供的直通ROM,企业级卡通常无此问题。

直通配置完成后,建议在虚拟机内跑一次 nvidia-smi -q 和简单的CUDA样例,确认算力可用。
如果后续需要多虚拟机共享同一张卡,应改用vGPU或MIG方案,而不是反复切换直通绑定。

分享到:
上一篇
AI服务器GPU vGPU配置:让虚拟机共享显卡的实操步骤
下一篇
AI服务器GPU SR-IOV配置:虚拟机共享物理显卡的实操步骤
1
系统公告

关于香港云优质服务器IP地址更换的通知

尊敬的客户: 因原IP运营商大幅涨价,为避免成本转嫁至用户,我司决定更换IP服务商。本次更换后,您的续费价格将保持不变,且新IP网络质量与服务标准不受影响。新IP已分配至后台,即刻生效(更换的新IP都是香港原生IPv4)。 涉及 IP 段: 45.192.x.x 旧 IP 停用时间: 2026 年 12 月 1 日
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意