首页> 系统技术> VMWARE虚拟化环境下对GPU的配置说明

[文章]VMWARE虚拟化环境下对GPU的配置说明

收藏
0 5000 0

设计部门的同事开始对虚拟化是一种很复杂的心情,羡慕嫉妒虚拟化易于管理的好处,但又对3D差距的呲之以鼻。希望在保证高性能 3D 显示效果的同时,享受到虚拟桌面的便捷、安全、稳定等等好处。VMware针对 3D 显示,提供了 3 种不同的图形加速技术,分别是 Software 3D、vSGA 和 vDGA。

1、Soft 3D - 自 View 5.0 时引入。软件实现的 3D 渲染使用了 Soft 3D 图形驱动程序。在 Windows 7 的 Horizon View 虚拟桌面中安装 VMware Tools 时,Soft 3D 程序就被自动安装。Soft 3D 不需要在 ESXi 主机上安装任何硬件 GPU 配件,使用软件来加速 3D 图形。

2、vSGA - 自 View 5.2 引入。vSGA 是虚拟共享图形加速(Virtual Shared Graphics Acceleration)的缩写。这种技术允许虚拟机共享安装在 ESXi 主机上的物理 GPU。vSGA 也使用了 Soft 3D 图形驱动程序,同样是在安装 VMware Tools 时被自动安装进来。

3、vDGA。自 View 5.3 时引入。vDGA 是虚拟专有图形加速(Virtual Dedicated Graphics Acceleration)的缩写。与 Soft 3D 和 vSGA 不同,vDGA 使用由显卡厂家提供的显卡驱动程序,并将一个单独的虚拟机映射到 ESXi 主机上的一个单独的物理 GPU 上。


vDGA 利用硬件进行 3D 渲染,为 Horizon View 的 3D 图形加速提供了最强大的解决方案,而 Soft 3D 利用软件进行 3D 渲染,为轻量级工作负载的虚拟桌面提供了最直接的解决方案。vSGA 有一个很独特的定位:vSGA 通过几种不同的图形加速选项,以它的灵活性和便捷性,为虚拟桌面中的 3D 图形加速提供了最高可用的解决方案。但是 vSGA 的配置需要对用户的环境和虚拟化技术有非常好的了解。



vSGA 技术分析


为何说 vSGA 可以提供最高可用性的 3D 图形加速解决方案呢?原因在于它使用的 Soft 3D 图形驱动。管理员可以把使用了 vSGA 技术的虚拟机设为 Automaic,在这个选项下,虚拟机可以自由的在硬件渲染和软件渲染之间切换,无需重新配置。另外,通过内置的 Soft 3D 图形驱动,vSGA 允许虚拟机使用 vMotion 功能迁移到其它 ESxi 主机上。


要配置 vSGA,可以从两个地方开始:(1)vSphere Client(或者vSphere Web Client)和(2) View 的 Pool Settings。下面我们分别看一下两种方式。


利用 Horizon View 的 Pool Settings 来配置 vSGA


Pool Settings 的 3D Renderer 有以下五种选项 :


Manage using vSphere Client (通过 vSphere Client 管理)– 顾名思议,用这种方案,就不能对整个 Pool 来设置,而是在 vSphere 中针对单个虚拟机一个一个手工设置。这个选项在测试的时候特别有用。


Automatic (自动)– 有硬件 GPU 资源时就用硬件 3D 渲染,否则就切换到软件 3D 渲染。这个选项允许虚拟机使用当前最合适的方式来进行图形渲染。


Software (软件)– 即使有硬件 GPU 资源,也要使用软件方式渲染。


Hardware (硬件)– 仅使用硬件 GPU。使用这个选项后,如果 ESXi 上没有硬件 GPU 资源,虚拟机将无法启动。其它主机上的虚拟机也无法迁移到此主机上。这个选项可以保证虚拟机永远使用硬件加速,但是也限制了虚拟机只能运行在有硬件 GPU 的主机上。


Disabled (禁用)– 不使用任何 3D 渲染技术。这个选项用来确保没有图形工作负载的桌面池不会占用不需要的资源。


注意:如果选择了使用 vSphere Client 管理的方式,VMware 建议使用 vSphere Web Client 而非传统的 vSphere Client。因为传统的 vSphere Client 上只有 Enable/Disable 3D 功能,没有其它三种渲染方式。而 vSphere Web Client 上有完整的选项(参见下面这种方式)。


使用 vSphere Web Client 来配置非常简单,看图就一目了然

系统技术
最近热帖
{{item.Title}} {{item.ViewCount}}
近期热议
{{item.Title}} {{item.PostCount}}