pve虚拟机VGPU方案简析
先说3个东西
vSGA 、 vDGA 、 sVGA
1.1什么是vSGA?
vSGA指“Virtual Shared Graphics Acceleration”(虚拟共享图形加速)。vSGA的功能是利用在ESXi主机中本机安装的物理GPU(图形处理单元,也称为显卡)为众多虚拟桌面提供硬件加速3D图形。
1.2什么是vDGA?
vDGA是VmwareView提供的专有硬件图形加速功能,用于为需要独立GPU的使用情形提供高端工作站显卡。使用vDGA时,利用VMware Direct PathI/O将安装在底层主机中的图形适配器分配给虚拟机。将独立GPU分配给虚拟机会让整个GPU专供该虚拟机使用。
1.3什么是sVGA?
SVGA是与VMwareTools一同安装在Windows7虚拟桌面上的VMwareWDDM(Windows显示驱动程序模型)驱动程序。不使用任何硬件显卡资源,它容易与vSGA混淆,因为二者的缩写字母和字母排列都非常接近。
3者区别
sVGA是软件模拟。vDGA是显卡的共享,vSGA是显卡本身的虚拟化。
性能是vSGA > vDGA >sVGA
PVE中的VGPU方案
PVE的VGPU方案和上面的3种大同小异。
1、VGA模拟
有3种模式,普通的VGA/vmware vga /virtio VGA
这3种都是软件模拟VGA。性能只能用来显示而已。
2、SPICE
Spice是高性能的远程协议。
相对于以上3种,spice更加的出色,功能更强。前提是为vm启用spice,并且安装qxl驱动
更重要的是Spice让pve vm有3D加速功能
Spice有两种驱动,一种是QXL。另一种是QXL-DOD
前者是vga模拟的升级版
后者qxl-dod驱动,让spice支持软件模拟3D。使用的是WDDM 1.3。
从下图中,可以看到dx加速都能够启用。也就是3D功能已经开启了。然而这样的软件模拟3D性能还是特别弱的。不过能够运行需要3D的软件了。
qxl-dod驱动有个弊端就是,只支持WIN8.1以上,不支持WIN7,不然win7就能开启AERO特效了。
3、virt gl
当升级到Proxmox VE 7.2版本的时候,你可以使用一个叫做virt gl的显卡。这个显卡能够调用PVE宿主机的显卡,进行OpenGL加速。
如下,但也仅仅是Opengl加速而已。
4、直通
直通,这里又要分成2种,一种是GPU完全直通(vDGA),第二种是利用GPU本身的虚拟化进行直通(vGPU)。第二种需要特定的硬件,amd 的s7150 x2。intel-GVT等等
所以要在PVE上实现3D效果,需要很高的成本。当然,对于虚拟化来讲,成本都是很高的
4.1 GVT-d
Intel核显可以直通到虚拟机中,虚拟机从而可以获得和物理机相近的解码能力、计算能力和3D能力。
但是此种方案只能针对小型消费级平台。同时一个核显同一时间只能被一台虚拟机独享。
4.2 IGD GVT-g/SR-IOV
intel 5-10代核显可以开启gvt-g,11代核显以上理论上可以开启SR-IOV。此种方式可以将核显进行切片,和nvdia-vgpu类似。可以使多个虚拟机同时获得显卡加速。此方案也限制到消费平台。
Proxmox VE 11代-12代-13代开启核显虚拟化Sriov
4.3 MXGPU
AMD有开源的显卡虚拟化实现,如MXGPU,
参考
https://www.amd.com/zh-hans/graphics/workstation-virtualization-solutions-csp
https://pve.proxmox.com/wiki/MxGPU_with_AMD_S7150_under_Proxmox_VE_5.x
4.4 独显直通
将独显直通到虚拟机,虚拟机可以获得显卡加速。但是直通只能独享,无法共享显卡资源。例如有5台虚拟机,需要显卡资源,你需要准备5张独显分别直通。
4.5 Nvidia-vGPU
Proxmox VE基于KVM平台,兼容Nvidia-vGPU技术。这无疑是PVE中vgpu的最佳方案了。
无奈高昂的软件授权费用,成为企业的难点。
第一章 认识vGPU — Proxmox VE Nvidia-vGPU 文档 (pve-doc-cn.readthedocs.io)
在Proxmox VE 7.1 中开启vGPU_unlock,实现显卡虚拟化
在Proxmox VE 7.2 中开启vGPU_unlock,实现显卡虚拟化
5 虚拟机中调用显卡加速
如果实施了上面几种方案的话,那么调用显卡加速则是一个问题。
对于消费者领域,推荐使用Parsec进行串流,可以或者显卡加速。
参考
对于企业vdi领域,推荐使用Xendesktop配合。
PVE和citrix平台的Xendesktop完全兼容。ICA协议,可以在vdi中调用显卡,实现显卡加速。具体方案可以参考本网页上方,标题栏【云桌面】-Proxmox VE与Citrix XenDesk集成 (buduanwang.vip),如果需要商务合作,可以点击联系我 (buduanwang.vip)与我取得联系。
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/pve/573.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
fantasy
V
佛西@V