DoraCloud云桌面使用vGPU(一)

1. 前言

1.1 应用场景

GPU在VDI的项目中有非常重要的作用。主要应用于如下场景:

办公场景:vGPU用于对操作系统和相关应用进行加速,提升用户体验,降低CPU的消耗。

在Microsoft Windows 10/11、Office 365、Web 浏览器和视频流相关的应用程序,对硬件的需求也日益严苛,会使用到GPU进行加速。在办公场景中,为桌面配置vGPU,可以提升体验,降低CPU的消耗,从而提高服务器部署的桌面的密度。

设计场景:专业的设计应用(CAD/CAM)需要使用GPU进行加速显示、渲染、模拟计算

专业的设计软件对于桌面的GPU有要求。缺少GPU将运行这些专业的应用。 比如数字媒体、设计、仿真等应用。比如 Adobe系列产品(PS、AE、AI、PR、AU)、Autocad、Revit、Maya、3Dmax、SolidWorks、Pro-E、NX/UG、Catia、Stable Diffusion、Blender 3D。 这类应用一般采用专业的图形工作站。

游戏场景:满足在线运行游戏的需求,满足游戏的实时交互体验

比如3A大作《地平线5》、《黑神话-悟空》,《元神》,以及一些网络游戏,单机游戏。

游戏场景对GPU由更高的要求,一方面游戏是实时业务,需要及时低延时和瞬时响应,以确保操作体验。另一方面游戏对于画质、实时渲染的帧率,有很高的要求。

在实际部署中,游戏场景一般采用独立显卡,并且采用高画质低延时的串流协议。

1.2 DoraCloud支持的vGPU的技术

GPU直通(GPU Passthrough)

GPU直通是最早的vGPU技术。直通方案将一个GPU的PCI地址映射到虚拟机。一个GPU只能给一个虚拟机使用。

GPU分片虚拟化(vGPU)

GPU分片虚拟化是将一个物理的GPU分割成多个实例,给不同的虚拟机使用。最初PCI规范下,一个物理GPU设备只有一个PCI地址,为了能够多个虚拟机能够使用一个GPU,需要引入一个协调者(Mediate),来协调不同虚拟机对GPU的使用。每个虚拟机使用的是一个mdev(Mediated Device)。至于IOMMU(地址空间映射)是为了实现GPU和虚拟机的高效和快速通信。

NVIDIA 安培架构之前的GPU都是采用Mediate方案。NVIDIA M10/M60/P4/P40/T4/RTX6000/RTX6000 都是这种方案。

NVIDIA 支持vGPU的显卡打包在了NVIDIA vWS 和 vPC 的方案里面。只有宣称支持vWS/vPC的显卡采用启用GPU虚拟化。并且NVIDIA会对vGPU收取License费用。

另外针对普通NVIDIA显卡不支持虚拟化的问题,业内有vgpu-unlock的方案,将普通显卡破解,实现启用vGPU。这一方案仅仅适用于图灵架构及之前的GPU。安培架构的GPU不适用于这一方案。并且vgpu-unlock的方案是否存在兼容性和稳定性问题,也无法证实。实际项目部署,不推荐使用vgpu-unlock。

基于SR-IOV的vGPU

SR-IOV:单根IO虚拟化,指的是一个PCIe物理设备,可以虚拟出多个虚拟设备,每个虚拟设备又自己的PCI地址。这样物理设备内的每个虚拟设备的实例可以分配自己的PCI地址。这样虚拟机与虚拟设备实例之间可以通过自己的PCI地址进行通信。效率大大提升,也简化了管理。

NVIDIA 的GPU从安培架构开始支持SR-IOV。比如 A2、A10、A40、A5000、A6000、L2、L20、L40。尽管支持SR-IOV,mediate的功能框架仍然保留了。

微软在Azure Stack HCI 和 Windows Server 2025中,提供了基于SR-IOV的vGPU的支持。微软称之为GPU-P。

Intel从12代CPU开始,也支持核显的SR-IOV。11代的移动处理器(比如1135G7)核显也支持SR-IOV。

AMD采用SR-IOV的vGPU技术称为 MxGPU。

DoraCloud 目前不支持 MxGPU 和 GPU-P。

1.3 DoraCloud 与 Proxmox VE 不同版本的配套关系

Proxmox VE 7.x 支持安装并启用NVIDIA vGPU 和 Intel SR-IOV Graphcis的驱动,并且在虚拟机中配置和使用这些vGPU资源。

Proxmox VE 7.x可以通过直接将GPU的PCIe地址和vGPU类型配置给虚拟机。由于PCIe地址是GPU在服务器上的物理地址,这种方式带来了两个问题:

1)如果虚拟机发生跨节点迁移(比如热迁移或者HA),新的服务器上的GPU的会不一样。导致无法进行HA和热迁移。

2)如果GPU硬件发生变化,需要调整虚拟机配置中的物理地址。 这种方式和虚拟化的隔离和解耦的思路是相违背的。增加了虚拟化系统进行资源管理和调度的难度。

Proxmox VE 8.x 中,增加了Resource Mapping的特性。

ResourceMapping 在Proxmox VE的集群层面定义了一个唯一的资源ID,这个ID关联到一组硬件(PCIE设备或者USB设备)。虚拟机的配置中,只需要记录ResouceMapping的资源ID即可。虚拟化管理系统(PVE)自动根据资源ID在ResouceMapping定义的资源集合中,匹配合适的资源。

在没有ResourceMapping特性时,DoraCloud是将同类型的GPU定义成一个资源池,并分配和这个池的资源。比如一个Proxmox VE集群中配置了4个Tesla P4卡,DoraCloud会识别出Tesla P4这种GPU类型,允许管理员在桌面池中引用这种类型的GPU,并定义vGPU。 参考下面的表格。

桌面池GPU类型vGPU类型
桌面池A Tesla P4 P4-1Q

但是这种设计,只能把同一类型的GPU当作一个池进行调度。 如果管理员系统 2块P4给桌面池A,类型为 P4-1Q,两块P4给桌面池B,类型为P4-2Q,那么DoraCloud将无法准确调度这些资源到不通过的P4显卡。 比如下面的桌面池定义,DoraCloud将无法准确的资源进行调度。

桌面池GPU类型vGPU类型
桌面池A Tesla P4 P4-1Q
桌面池B Tesla P4 P4-2Q

如果使用 ResourceMapping,可以在 Proxmox VE 的集群上定义如下Mapping

Mapping IDMapping
GPUA PVE1 card1,PVE2 card1
GPUB PVE1 card2,PVE2 card2

然后在DoraCloud的桌面池上定义:桌面池A使用Mapping:GPUA、桌面池B使用Mapping:GPUB。

桌面池GPU类型vGPU类型
桌面池A Mapping:GPUA P4-1Q
桌面池B Mapping:GPUB P4-2Q

DoraCloud与Proxmox VE 7.x对接时,不支持管理直通的GPU资源。 DoraCloud 与Proxmox VE 8.x对接时,使用ResouceMapping特性也允许DoraCloud比较容易的支持GPU直通(GPU Passthrough)。

比如:一个Proxmox VE 8.0节点配置有4个RTX 3060Ti的显卡。可以定义如下Mapping

Mapping IDMapping
RTX3060GPU PVE1 card1/card2/card3/card4

然后定义一个桌面池

桌面池GPU类型vGPU类型
游戏桌面池 Mapping:RTX3060GPU GPU Passthrough

这样游戏桌面池中的桌面就可以自动使用Proxmox VE 8.x 中定义的由4个显卡组成的RTX3060 ti的资源池。

总结一下,DoraCloud在不同的PVE版本上对几种GPU技术的支持如下表:

 DoraCloud+PVE7DoraCloud+PVE8
GPU 直通 不支持 使用ResouceMapping管理
NVIDIA vGPU 按照类型管理 按照类型管理、使用Resouce Mapping管理
Intel SR-IOV 按照类型管理 按照类型管理

1.4 支持vGPU硬件的形态

不同应用场景,不同的vGPU技术,有不同的硬件形态。

硬件A:服务器+可虚拟化显卡

以2U的服务器Dell R750服务器为例,可以支持2块双宽A40显卡,3块A10,6块T4/L2/A2。

硬件B:服务器+多块直通显卡

用于直通的服务器一般选用4U服务器,支持6-8个GPU卡进行直通。常见的为采用超微主板的机器。

硬件C:PC Farm/Blade PC

一般为5U5节点,支持带显卡。 也有一些2U6节点的机器,节点不支持显卡。

硬件D:PC(核显)

普通PC 或者工作站,选用12代以上Intel CPU。

硬件E:工作站+普通显卡

比如Dell T3680 + NVIDIA RTX A2000/A4000

硬件F:工作站+可虚拟化显卡

比如Dell T3680 + NVIDIA RTX A5000

不同硬件适用的场景如下:

类型类型名称适用vGPU技术适用场景
硬件A 服务器+可虚拟化显卡 NVIDIA vGPU 设计、办公
硬件B 服务器+多块直通显卡 GPU直通 设计、游戏
硬件C PC Farm/Blade PC GPU直通 游戏、设计
硬件D PC(核显) Intel SR-IOV GPU 办公、轻设计
硬件E 工作站+普通显卡 GPU直通 设计、旧改
硬件F 工作站+可虚拟化显卡 NVIDIA vGPU 设计、旧改

posted @ 2025-05-01 22:02  朵拉云  阅读(194)  评论(0)    收藏  举报