在上一篇中职、高职3D云教室解决方案探讨我聊了如何在虚拟桌面内实现3D设计软件的流畅运行,即关键在显卡虚拟化技术上的实现。再加服务器支持GPU+虚拟化软件支持vGPU+零客户机的组合即可实现。
本节我聊一下基于显卡虚拟化技术,要组成3D云桌面系统,从服务器到客户端设备如何选型。目前可以实现显卡虚拟化技术的,在服务器端有四个平台:Citrix、VMware、华为、Microsoft
我们根据平台一一分析:
1、Citrix
思杰作为老牌的桌面虚拟化厂家,很早就推出了能够支持3D设计软件的桌面虚拟化解决方案。通过这两年的不断优化,用户体验不断提升。但有一点需要关注的是,Citrix系统上运行3D软件,用户的终端设备必须是PC机或含有独立显卡的瘦客户机。
原因是Citrix的桌面虚拟化,是由之前Citrix应用程序虚拟化演变过来的。Citrix搞应用程序虚拟化是在上世纪,那时他们绝没有想到,现在云计算解决方案里还有云终端这类产品,当初他们的用户都是使用台式电脑或笔记本电脑的。所以Citrix使用的虚拟化协议是ICA和HDX协议,这种协议可以被归为客户端解码类。客户端解码通俗的说就是,如果虚拟桌面里放一段视频,这段视频有大部分或全部内容会由后台下载到用户本地设备,然后需要依靠客户端设备的计算资源来完成播放。
在运行3D软件时,Citrix的虚拟机同样会将需要处理的3D图形数据发送到客户端本地,由客户端设备上的GPU来完成显示。这就要求客户端设备必须具备足够的GPU能力,一般近几年的PC机的CPU都内置了GPU模块。或者在瘦客户机上加载独立显卡也能实现这项功能。
2、 VMware
在服务器虚拟化领域VMware已经占据了绝对的霸主地位,拥有大量的市场份额。同时他们看到了桌面虚拟化的市场要远远大于服务器虚拟化,所以正在竭尽全力发展此方面技术,目前来看也非常成功。VMware在桌面虚拟化方面是起步较晚,但他们一开始就选择了服务端解码的虚拟化传输协议PCoIP。服务端解码通俗的说就是,如果虚拟桌面里放一段视频,这段视频完全由服务器上的GPU完成解码。解码后用户得到的是像素信息,然后这些像素通过网络传输到用户端,再被直接发送到显示器上。用户端的设备只负责像素的接受和对显示器设备的投射,除此之外不承担任何数据处理工作。
在运行3D软件时,VMware通过vGPU技术,为每个虚拟机分配一个虚拟显卡,虚拟机里的3D软件通过虚拟显卡来处理数据。当虚拟机发送像素到用户端时,用户端处理像素的能力决定了显示器的输出效果。强烈建议在VMware环境下使用ARM架构的零客户机作为用户端设备。为什么是ARM架构而不是x86架构,由于篇幅问题,我们另行讨论。ARM架构的零客户机有HP的T310、Dell的P25和ZeroTC的ZT8820。
3、华为
习大大的王炸确实太厉害了,非常佩服华为。Fusion的每次升级都会带来大量新功能。只是从之前华为和Citrix的深度合作,以及现在华为发布的产品的整体架构来看,华为的底层可能与Citrix的开源XenServer很有渊源。而华为的HDP协议可能原理上与Citrix的HDX协议类似。
4、 Microsoft
凭心而论,微软的产品确实非常容易上手。它的Hype-V的功能虽然远没有Citrix或VMware强大,但是有超强的易用性,使它成为中小企业的***。在使用Hype-V支持3D软件时需要注意以下两点:A、由于微软有主推自己的图形加速协议DirecX所以消极支持OpenGL协议。B、由于微软的传输协议RDP7.1占有的带宽太变态了,所以强烈推荐大家使用RDP8.1版本。
此外,KVM这类开源虚拟化平台,国内也有多家厂商正在试图完善自有产品对vGPU的支持。但目前还没有确切的消息听到他们有重大的突破,欢迎国内的虚拟化厂商向我拍砖,使我在学习中受益。
炙伦电信 朱俊 写于乙未中秋前