在win server 2019系统中hyper-v启用显卡直通,物理显卡有2个,禁用一个。具体操作如下

在win server 2019系统中hyper-v启用显卡直通,物理显卡有2个,禁用一个。具体操作如下

在 Windows Server 2019 Hyper-V 中配置 GPU 直通(GPU Passthrough) 可以让虚拟机直接访问物理显卡,显著提升图形计算性能(如AI训练、3D渲染)。以下是详细操作步骤及注意事项:


一、前提条件

  1. 硬件要求:

    • CPU:支持 Intel VT-d(Intel)或 AMD-Vi(AMD)的处理器。

    • 主板:BIOS中启用 VT-d/AMD-Vi 和 SR-IOV(可选)。

    • GPU:

      • NVIDIA:需专业级显卡(如Tesla/Titan)或修改驱动的消费级显卡(如RTX 3090)。

      • AMD:Radeon Pro 或 Instinct 系列支持较好。

      • Intel:集成显卡通常不支持直通。

    • 系统:Windows Server 2019 Datacenter 或 Standard 版。

  2. 软件要求:

    • 安装最新版 Hyper-V 角色。

    • 下载 GPU 官方驱动(如NVIDIA GRID驱动)。


二、操作步骤

1. 启用硬件虚拟化支持

  • BIOS设置:

    1. 重启服务器,进入 BIOS/UEFI。

    2. 启用:

      • Intel VT-d 或 AMD-Vi(芯片组设置中)。

      • SR-IOV(如果显卡支持)。

    3. 保存并重启。

  • Windows 中验证:

    powershell
     
    # 检查是否启用 VT-d/AMD-Vi
    Get-WindowsOptionalFeature -Online -FeatureName *Hyper-V*

    确保 Hyper-V 和 Data Center Bridging 已启用。

2. 禁用 GPU 的 Windows 驱动

  1. 打开 设备管理器(devmgmt.msc)。

  2. 找到目标 GPU(如 NVIDIA Tesla T4),右键选择 禁用设备。

    • 注意:禁用后主机将无法使用该 GPU

3. 配置 Hyper-V 虚拟机

  1. 关闭虚拟机,编辑虚拟机设置:

    powershell
     
    
    

Stop-VM -Name "YourVMName"
Set-VMProcessor -VMName "YourVMName" -ExposeVirtualizationExtensions $true

text
 
2. **添加 PCIe 直通设备**:
 ```powershell
# 获取 GPU 的 LocationPath(需管理员权限)
Get-PnpDevice -FriendlyName "*NVIDIA*" | Select-Object FriendlyName, InstanceId

# 将 GPU 直通到虚拟机(替换 InstanceId)
Add-VMAssignableDevice -VMName "YourVMName" -LocationPath "PCIROOT(0)#PCI(0100)#PCI(0000)"
  • LocationPath 可通过 Get-PnpDevice 或 lspci(Linux工具)获取。

  1. 启用嵌套虚拟化(可选,适用于虚拟机内再运行Hyper-V):

    powershell
     
    
    

Set-VMProcessor -VMName "YourVMName" -ExposeVirtualizationExtensions $true

text
 
#### **4. 虚拟机内安装 GPU 驱动**
1. 启动虚拟机,安装对应 GPU 的官方驱动。
2. 验证 GPU 是否被识别:
 - **Windows 虚拟机**:设备管理器中查看显卡状态。
 - **Linux 虚拟机**:运行 `nvidia-smi`(NVIDIA)或 `rocminfo`(AMD)。

---

### **三、常见问题与解决**
#### **1. 错误“设备无法分配”**
- **原因**:GPU 被主机占用或未完全禁用。
- **解决**:
```powershell
# 强制解除占用
Disable-PnpDevice -InstanceId "PCI\VEN_10DE&DEV_1EB8&SUBSYS_12A210DE" -Confirm:$false

2. 性能低下

  • 优化措施:

    • 在虚拟机配置中启用 Hyper-V 第二代虚拟机。

    • 分配足够 vCPU 和内存(GPU 计算需资源均衡)。

3. NVIDIA 消费级显卡限制

  • 问题:NVIDIA 消费级显卡(如GTX/RTX)驱动会阻止在虚拟机中运行。

  • 解决:

    • 使用 Tesla/Quadro 等专业卡。

    • 或修改驱动(需破解,违反EULA,不推荐生产环境)。


四、适用场景

场景推荐 GPU 类型性能提升
AI/深度学习 NVIDIA Tesla V100/A100 支持 CUDA 和 Tensor Core
3D 渲染(Blender) AMD Radeon Pro W6800 实时渲染加速
虚拟桌面(VDI) NVIDIA GRID vGPU 多用户共享 GPU 资源

五、替代方案

如果直通复杂,可考虑:

  1. Discrete Device Assignment (DDA):
    Hyper-V 的 PCIe 直通技术(本文方法)。

  2. GPU 虚拟化(vGPU):
    需 NVIDIA vGPU 许可证(如GRID)或 AMD MxGPU。

  3. Azure Stack HCI:
    微软官方支持的 GPU 虚拟化方案。


六、总结

  • 关键步骤:BIOS 启用 VT-d → 禁用主机 GPU → 通过 PowerShell 直通设备 → 虚拟机安装驱动。

  • 注意事项:

    • 直通后主机无法使用该 GPU。

    • 生产环境建议使用专业级显卡(避免驱动限制)。

  • 验证命令:

    powershell
     
    # 查看已直通的设备
    Get-VMAssignableDevice -VMName "YourVMName"

通过以上配置,虚拟机可直接调用物理 GPU 的算力,适用于高性能计算场景。

 
 
 
posted @ 2025-07-31 14:30  zhg1016  阅读(995)  评论(0)    收藏  举报