一、课程目标
本次培训面向 IT 管理员和系统运维人员,完成培训后学员应能够:
- 理解 GPU 分区(GPU-P)技术的基本原理
- 独立完成 ShareStation 工作站虚拟化的完整部署
- 正确配置两类桌面池(设计桌面池 / 办公桌面池)
- 完成 vGPU 授权配置(fastapi-dls)
- 验证虚拟桌面 GPU 加速功能正常
二、技术背景
2.1 ShareStation 方案概述
ShareStation® 是朵拉云科技针对设计行业推出的工作站虚拟化方案。核心价值是将一台高性能工作站虚拟化为多个独立的虚拟桌面,供多名用户同时使用,每个用户获得独立的 GPU 加速工作环境。
方案组成:
- 设计工作站(服务器硬件)
- 高性能云终端(DoraOS 瘦客户机)
- DoraCloud 桌面云软件
2.2 GPU 分区技术(GPU-P)
GPU-P(GPU Partitioning)是微软在 Hyper-V 平台引入的 GPU 资源分配技术,基于 SR-IOV 接口实现。
核心特点:
- 一块物理 GPU 动态划分为多个 vGPU
- 每台虚拟机独占分配的显存分区,互不干扰
- 性能接近物理 GPU 直通(Passthrough)
- Windows Server 2025 正式支持此特性
支持条件:
- 操作系统:Windows Server 2025 数据中心版
- 虚拟化:Hyper-V 角色(第二代虚拟机)
- 显卡驱动:NVIDIA vGPU 18.x Host Driver
- BIOS:开启 SR-IOV、Virtualization Technology、Memory Mapped I/O above 4G
2.3 本次部署硬件配置
| 组件 | 规格 |
|---|---|
| 处理器 | AMD 锐龙 Threadripper PRO 9975WX(24核 48线程) |
| 内存 | 128 GB DDR5 ECC |
| 系统盘 | 2 TB NVMe SSD |
| 数据盘 | 16 TB HDD × 2 |
| 显卡 | NVIDIA RTX 5000 Ada(32 GB GDDR6) |
| 网卡 | 双万兆 + 双千兆(共 4 口) |
2.4 软件版本清单
| 软件 | 版本 |
|---|---|
| Windows Server | 2025 数据中心版 |
| NVIDIA vGPU Host Driver | 18.3(570.x) |
| NVIDIA vGPU Guest Driver | 17.6 |
| DoraCloud | V4.0 for Hyper-V |
| 桌面模板 | win10gpup(Windows 10 GPU-P 专用模板) |
| 授权服务 | fastapi-dls 1.5.3 |
三、资源规划
3.1 桌面池规划
本次部署创建两个桌面池,满足不同用户群体的需求。
| 桌面池 | 用户数 | 每台显存 | 每台内存 | 适用场景 |
|---|---|---|---|---|
| 设计桌面池 | 9 台 | 2 GB | 9.5 GB | 3D 建模、CAD、渲染 |
| 办公桌面池 | 6 台 | 2 GB | 4 GB | 办公软件、轻量应用 |
| 合计 | 15 台 | — | — | — |
3.2 资源用量核算
显存核算(RTX 5000 Ada 共 32 GB):
设计池:9 台 × 2 GB = 18 GB
办公池:6 台 × 2 GB = 12 GB
合计:30 GB / 32 GB(使用率 94%)
剩余:2 GB(Host 系统保留)
✓ 显存满足,刚好用满 30/32 GB。
内存核算(服务器共 128 GB):
设计池:9 台 × 9.5 GB = 85.5 GB
办公池:6 台 × 4.0 GB = 24.0 GB
VM 合计: 109.5 GB
Host 系统预留: 16.0 GB
总需求: 125.5 GB / 128 GB(使用率 98%)
✓ 内存满足,剩余约 2.5 GB 缓冲。
vGPU Profile 选型:
两个桌面池均使用 RTX5000-Ada-2Q(每台 2 GB 显存,Q 系列对应 RTX vWS 授权)。
GPU 分区数设置:
# 32 GB ÷ 2 GB = 16 个分区
Set-VMHostPartitionableGpu -Name <GPU名称> -PartitionCount 16
四、部署过程
4.1 安装 Windows Server 2025
操作步骤:
- 使用 U 盘启动安装介质,选择"Windows Server 2025 数据中心版"
- 安装类型选择"自定义安装",选择 NVMe SSD 作为系统盘
- 安装完成后进入系统,修改计算机名,配置静态 IP 地址
注意: 必须选择数据中心版,标准版不支持 GPU 分区特性。
4.2 安装主板和网卡驱动
方法一:Windows 更新自动安装(推荐,最简便)
- 打开"设置" → “Windows 更新” → “检查更新”
- 点击"高级选项" → “可选更新” → “驱动程序更新”
- 勾选所有可用的驱动更新,点击下载并安装
- 重启服务器
Windows 更新通常能自动识别并安装 AMD 芯片组、网卡等主流硬件驱动,适合快速部署场景。
方法二:官网手动下载安装
- 从 AMD 官网下载 Threadripper PRO 9975WX 芯片组驱动
- 根据实际网卡型号,从对应厂商官网下载网卡驱动
- 依次安装,重启服务器
验证: 打开设备管理器,确认所有设备均无黄色感叹号。
注意: 无论使用哪种方式安装驱动,完成后都需要重启服务器再进行后续步骤。
4.3 安装 Hyper-V 角色
方法一:使用 DoraCloud 提供的预置脚本(推荐)
# 在管理员 PowerShell 中执行
Invoke-WebRequest -Uri "http://vdi.doracloud.cn:9000/software/Pre-Setup.ps1" -OutFile "Pre-Setup.ps1"
.\Pre-Setup.ps1
方法二:服务器管理器手动安装
打开服务器管理器 → 添加角色和功能 → 选择"Hyper-V" → 按向导完成安装
重要: Hyper-V 角色必须在 NVIDIA vGPU Host 驱动之前安装,否则驱动无法正常初始化。
4.4 BIOS 配置与显卡模式切换
在安装 NVIDIA 驱动之前,需要完成两项前置配置:BIOS 设置和显卡模式切换。
4.4.1 BIOS 配置
显示输出设置:
工作站 BIOS 中需将主显示输出配置为主板集成显卡(Onboard Graphics / IGD),而非 RTX 5000 Ada 独立显卡。
原因:RTX 5000 Ada 切换为 vGPU 模式后会关闭所有视频输出接口,服务器将通过集成显卡输出画面,确保管理员仍可通过显示器操作系统。
进入 BIOS → 找到"Primary Display"或"Boot Display Device"设置项,将其修改为:
| 设置项 | 要求值 |
|---|---|
| Primary Display / Boot Display | Onboard / IGD(集成显卡) |
| Virtualization Technology | Enable |
| SR-IOV Global Enable | Enable |
| Memory Mapped I/O above 4G | Enable |
注意: 不同品牌工作站的 BIOS 菜单名称可能有差异,请参考主板说明手册找到对应选项。
4.4.2 将 RTX 5000 Ada 切换为 vGPU 模式
NVIDIA RTX 5000 Ada 出厂默认为图形模式(Graphics Mode),此模式下显卡作为普通显卡使用,不支持 vGPU 功能。启用 vGPU 必须先将其切换为 vGPU 模式(Compute Mode)。
切换步骤:
-
从 NVIDIA 开发者网站下载 Display Mode Selector Tool:
https://developer.nvidia.com/displaymodeselector(需要 NVIDIA 开发者账号)
-
将工具上传到服务器,在命令行执行:
displaymodeselector --gpumode vgpu --auto -
重启服务器
-
重启后通过集成显卡连接显示器,确认系统正常启动
重要说明:
- 切换为 vGPU 模式后,RTX 5000 Ada 的所有视频输出接口(DisplayPort)将永久关闭,无法再直接连接显示器
- 此后对服务器的管理操作须通过集成显卡接口(主板背板)或远程管理(RDP/IPMI)进行
- 若需切换回图形模式,重新运行工具并选择
--gpumode graphics即可
4.5 安装 NVIDIA vGPU Host 驱动(18.3)
显卡切换为 vGPU 模式并重启后,安装 NVIDIA vGPU Host 驱动。
将驱动包中的 Display.Driver 目录复制到本地磁盘,在命令行执行:
pnputil /add-driver nvgridswhostserver.inf /subdirs /install /reboot
验证 GPU 分区是否启用:
Get-VMHostPartitionableGpu
有输出且显示 GPU 名称(NVIDIA RTX 5000 Ada Generation)则表示成功。
设置 GPU 分区数:
$gpu = Get-VMHostPartitionableGpu
Set-VMHostPartitionableGpu -Name $gpu.Name -PartitionCount 16
4.6 安装 DoraCloud V4.0
- 运行 DoraCloud for Hyper-V 安装程序
- 在安装向导中选择网络接口和存储池:
- 网络接口: 选择连接局域网的网卡
- VM 存储池: 选择 NVMe SSD 所在的卷(系统盘性能好,VM 启动快)
- 数据存储池: 选择 HDD 所在卷(用于用户数据盘)
- 等待安装完成
4.7 DoraCloud 初始化配置
打开浏览器,访问 DoraCloud 管理后台(默认端口 443):
https://<服务器IP>
依次完成以下初始化步骤:
| 步骤 | 配置内容 |
|---|---|
| 配置虚拟化 | 选择 Hyper-V,填写本机地址 |
| 配置资源池 | 指定 VM 存储路径和数据盘路径 |
| 配置集群 | 单节点部署,默认配置即可 |
| 配置用户数据库 | 选择本地数据库或对接 AD 域 |
4.8 下载并编辑 win10gpup 桌面模板
4.8.1 下载模板
进入 DoraCloud 后台:【模板】→【远程镜像仓库】
找到 win10gpup 模板,点击下载。
win10gpup是朵拉云官方提供的、预装 vGPU Guest 驱动(17.6)的 Windows 10 专用模板,支持 GPU-P,下载后需要编辑模板完成 vGPU 配置,才能用于创建桌面池。
等待下载完成,模板状态变为"就绪"后进入下一步。
4.8.2 编辑模板并配置 vGPU
进入 DoraCloud 后台:【模板】→【本地模板】,找到 win10gpup,点击编辑。
DoraCloud 在编辑模板时会创建一个对应的虚拟机实例,并启动该虚拟机供管理员进行配置修改。
检查虚拟机是否已启用 vGPU:
编辑模板启动虚拟机后,在 Hyper-V 宿主机上执行以下命令,检查该模板虚拟机是否已有 GPU-P 分区适配器:
$VMName = "win10gpup" # DoraCloud 编辑模板时创建的虚拟机名称
Get-VMGpuPartitionAdapter -VMName $VMName
如果无输出,说明该虚拟机实例尚未启用 vGPU,需要手动添加。
为模板虚拟机添加 vGPU:
在宿主机上以管理员身份运行 PowerShell,执行以下命令:
$VMName = "win10gpup" # 替换为实际模板虚拟机名称
# 停止虚拟机
Stop-VM -Name $VMName -Force -ErrorAction SilentlyContinue
# 清除已有 GPU 分区(避免重复添加)
Remove-VMGpuPartitionAdapter -VMName $VMName -ErrorAction SilentlyContinue
# 配置内存映射 I/O 空间(GPU-P 必须)
Set-VM -VMName $VMName `
-GuestControlledCacheTypes $true `
-LowMemoryMappedIoSpace 1GB `
-HighMemoryMappedIoSpace 40GB
# 禁用动态内存(GPU-P 不兼容动态内存)
Set-VMMemory -VMName $VMName -DynamicMemoryEnabled $false
# 添加 GPU 分区适配器
Add-VMGpuPartitionAdapter -VMName $VMName
执行完成后,重新启动虚拟机,验证 GPU 分区已正确加载:
Get-VMGpuPartitionAdapter -VMName $VMName
有输出则表示 vGPU 配置成功。
完成模板编辑:
在 DoraCloud 编辑模板界面中,完成其他必要的系统配置(如激活 Windows、安装应用软件、配置网络等),完成后点击保存模板,DoraCloud 会将虚拟机状态固化回模板。
注意: 模板编辑完成后保存的模板即包含 vGPU 配置,后续基于此模板创建的所有桌面池虚拟机无需再单独配置 GPU-P。
五、创建桌面池
5.1 创建设计桌面池
进入 DoraCloud 后台:【桌面池】→【新建桌面池】
基本配置:
| 参数 | 配置值 |
|---|---|
| 桌面池名称 | 设计桌面池 |
| 桌面模板 | win10gpup |
| 桌面数量 | 9 |
| 内存 | 9728 MB(9.5 GB) |
| vCPU | 4 核(按需调整) |
GPU 配置:
| 参数 | 配置值 |
|---|---|
| GPU 型号 | NVIDIA RTX 5000 Ada |
| vGPU 型号 | RTX5000-Ada-2Q |
| 显存 | 2 GB / 台 |
资源确认:
- 显存占用:9 × 2 GB = 18 GB
- 内存占用:9 × 9.5 GB = 85.5 GB
点击创建,进入【桌面计算机】菜单,等待 9 台虚拟机状态变为"正在运行"。
5.2 创建办公桌面池
同样进入新建桌面池:
基本配置:
| 参数 | 配置值 |
|---|---|
| 桌面池名称 | 办公桌面池 |
| 桌面模板 | win10gpup |
| 桌面数量 | 6 |
| 内存 | 4096 MB(4 GB) |
| vCPU | 4 核 |
GPU 配置:
| 参数 | 配置值 |
|---|---|
| GPU 型号 | NVIDIA RTX 5000 Ada |
| vGPU 型号 | RTX5000-Ada-2Q |
| 显存 | 2 GB / 台 |
资源确认:
- 显存占用:6 × 2 GB = 12 GB
- 内存占用:6 × 4 GB = 24 GB
等待 6 台虚拟机全部进入"正在运行"状态。
六、创建用户和群组
6.1 创建群组
进入 DoraCloud 后台:【群组】→【新建群组】
| 群组名称 | 关联桌面池 | 说明 |
|---|---|---|
| 设计部 | 设计桌面池 | 9 名设计师用户 |
| 办公部 | 办公桌面池 | 6 名普通办公用户 |
6.2 创建用户
进入**【用户】→【新建用户】**,为每位员工创建账号,分配到对应群组。
七、vGPU 授权配置
NVIDIA vGPU 软件需要有效的授权才能以完整性能运行。未获得授权的 vGPU 将以降级模式运行,功能和性能受到限制。
7.1 授权类型说明
本次部署使用的 RTX5000-Ada-2Q(Q 系列 Profile)需要 RTX Virtual Workstation(vWS) 授权。
| 授权类型 | 对应 Profile | 适用场景 |
|---|---|---|
| RTX vWS | Q 系列 | 3D 设计、CAD、渲染等专业工作站 |
| vPC | B 系列 | 普通办公、知识工作者 |
| vApps | A 系列 | 应用发布、RDSH |
7.2 授权服务器(DLS)部署要求
NVIDIA 提供两种授权服务方式:
云端授权(CLS): 授权服务由 NVIDIA 托管在云端,客户端 VM 需要能访问互联网连接 NVIDIA 授权门户。适合有稳定互联网连接的环境。
本地授权(DLS): 授权服务部署在客户内网,完全离线运行,客户端 VM 只需能访问内网的 DLS 服务器。适合内网隔离或对数据安全有要求的环境,本项目推荐使用此方式。
DLS 部署的基本要求:
- 部署形态: 以虚拟机方式部署,NVIDIA 提供官方虚拟机镜像(OVA/OVF 格式),支持 VMware ESXi、Hyper-V 等主流 Hypervisor
- 固定 IP: DLS 服务器必须配置固定 IP 地址(静态配置或 DHCP 保留均可),IP 地址不得变更
- 时间同步: 服务器时间必须准确,建议配置 NTP 时间同步
- 网络要求: 防火墙需放行 443 和 80 端口,允许 Guest VM 与 DLS 服务器之间的 HTTPS 通信
- License 文件: 需在 NVIDIA Licensing Portal 创建 License Server 并下载授权文件,上传至 DLS 实例
- 版本要求: Guest Driver 18.0 及以上版本需要 DLS 3.4 或更新版本
7.3 客户端配置 Token
DLS 部署完成后,在每台虚拟桌面内完成以下操作:
下载 Client Configuration Token:
从 DLS 管理界面或通过命令行下载 Token 文件,放置到以下路径:
C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken\
重启授权服务:
net stop NVDisplay.ContainerLocalSystem
net stop NvContainerLocalSystem
net start NvContainerLocalSystem
net start NVDisplay.ContainerLocalSystem
验证授权状态:
nvidia-smi -q | findstr "License"
输出应包含:
vGPU Software Licensed : Yes
也可查看授权日志确认:
type "C:\Users\Public\Documents\NvidiaLogging\Log.NVDisplay.Container.exe.log"
成功时日志显示:
License acquired successfully.
7.4 注意事项
- VM 时区必须与 DLS 授权服务器保持一致,时间偏差过大会导致 Token 验证失败
- Token 文件下载后有效期较短(通常 1 天),需在有效期内完成驱动注册;授权租约有效期为 90 天,VM 会在到期前自动续约
- 每次更新 Token 文件后,必须重启
NVDisplay.ContainerLocalSystem服务才能生效 - 若重建或更换 DLS 实例,所有 VM 需重新下载 Token 并重启服务
八、客户端安装与登录
8.1 下载 DoraClient
在 DoraCloud 管理后台右下角,点击下载 DoraClient 安装包,分发给各终端用户。
8.2 安装并登录
- 安装 DoraClient
- 启动后填写服务器地址(DoraCloud 服务器 IP)
- 输入用户名和密码
- 系统自动分配对应桌面池的虚拟桌面
九、验证测试
9.1 验证 vGPU 分配
登录虚拟桌面后,打开设备管理器:
显示适配器 中应显示:
NVIDIA RTX5000-Ada-2Q
9.2 验证 GPU 授权状态
nvidia-smi -q | findstr "License"
输出应包含:
vGPU Software Licensed : Yes
9.3 验证 3D 加速
打开浏览器,访问 WebGL 测试页面:
https://akirodic.com/p/jellyfish/
3D 水母动画流畅运行,同时打开任务管理器可看到 GPU 使用率实时变化。
9.4 资源使用情况汇总
| 项目 | 规划值 | 实际占用 | 剩余 |
|---|---|---|---|
| 显存 | 32 GB | 30 GB | 2 GB |
| 内存 | 128 GB | ~125.5 GB | ~2.5 GB |
| 桌面数 | 15 台 | 15 台(9+6) | — |
十、常见问题
Q1:虚拟机启动后设备管理器中看不到 NVIDIA 显卡
检查该 VM 是否为第二代(Generation 2)虚拟机,GPU-P 仅支持 Gen 2 VM。
Q2:授权日志显示 token validation failed
- 确认 VM 时区为中国标准时间
- 删除旧 Token,重新下载后 1 小时内完成服务重启
- 确认授权服务器
instance.private.pem未被重建
Q3:Get-VMHostPartitionableGpu 无输出
检查 BIOS 中 SR-IOV 是否已开启,Hyper-V 角色是否在 GPU 驱动之前安装,以及 RTX 5000 Ada 是否已通过 Display Mode Selector Tool 切换为 vGPU 模式(参考第 4.4.2 节)。
Q4:设计桌面池用户反映 3D 软件卡顿
每台 VM 分配 2 GB 显存,对于大型场景可能不足,可考虑将部分 VM 升级为 RTX5000-Ada-4Q(4 GB 显存),但同时需减少 VM 总数。
附录:快速参考
关键命令
# 查看 GPU 分区状态
Get-VMHostPartitionableGpu
# 设置分区数
Set-VMHostPartitionableGpu -Name <GPU名> -PartitionCount 16
# 为 VM 添加 GPU 分区
Add-VMGpuPartitionAdapter -VMName <VM名>
# 查看 VM GPU 分区
Get-VMGpuPartitionAdapter -VMName <VM名>
重要路径
| 用途 | 路径 |
|---|---|
| Token 存放路径 | C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken\ |
| 授权日志 | C:\Users\Public\Documents\NvidiaLogging\Log.NVDisplay.Container.exe.log |
授权服务接口
| 接口 | 地址 |
|---|---|
| 健康检查 | https://<License_Server_URL>/-/health |
| 配置查询 | https://<License_Server_URL>/-/config |
| 下载 Token | https://<License_Server_URL>/-/client-token |
文档版本:v1.3 | 适用产品:DoraCloud V4.0 + NVIDIA RTX 5000 Ada + Windows Server 2025