0 回复 最新回复: Dec 10, 2017 6:50 PM Leo Li RSS

vGPU? 没问题中的没问题!

Leo Li

着超融合概念的兴起,同时也伴随着显卡虚拟化vGPU技术的日渐成熟。如今,制造,媒体,政府,教育等行业vGPU VDI需求又如雨后春笋般重新被挖掘。VxRail V470正是应用到此场景的超融合解决方案产品,可以支持NVIDIA M10/M60等vGPU显卡。

 

 

但是,vGPU如同所有SDDC软件定义数据中心概念,比如软件定义存储、软件定义网络一样,愿望是美好的,现实是骨感的。由于软件定义的产品需要调用底层物理设备,因此必须要与底层物理设备有一定的耦合性,也就是需要有兼容性列表,并不是可以拿来就用,用户往往容易忽视这点:


  • 以往应用层,并不是程序有多么强悍,而是微软Windows帮我们做了兼容性这一层。不得不说几十年Windows的强大统治力,以至于所有非专业领域的硬件做出来第一件事就是要有Windows驱动。哪怕排第二的Linux,即使安装在常用PC上也会经常出现无驱动无法使用的问题。
  • 而有的超融合产品宣称可以支持所有硬件平台,我想那并不是因为超融合软件做的多么适用性,而是底层的vSphere多年来相当于成为了虚拟化的一个标准,并且有广泛的兼容性。超融合软件只不过是vSphere的一个虚拟机。

对于vGPU也并不是拿来显卡,插到一台留有PCIe插槽的服务器就用的。根据以往的经验总结,至少要考虑以下方面:服务器和Hypervisor兼容性首先,就是服务器兼容性检查,不是所有服务器都可以使用vGPU卡,NVIDIA官网有详细的列表。http://www.nvidia.cn/object/grid-certified-servers-cn.html 除了确认硬件兼容性,运行在服务器上的Hypervisor虚拟化层的软件和版本也是有要求的。显卡和服务器散热方式还要特别注意服务器的散热方式,与所要购买的显卡散热方式是否相同,GPU是非常强劲的芯片,发热量可观,如果出风口位置不同,散热出现问题,会引起vGPU卡甚至整个机箱温度过高,工作不正常。然后,就是PCI-E槽位的类型和速率一定要匹配。vGPU卡供电另外一个容易忽视的问题就是vGPU卡的供电。vGPU卡功率较大,一般需要单独供电,既要有服务器厂家机箱内部的电源线,也要使用vGPU卡附带的转接线。在供电不正常的情况下,同样会出现莫名其妙的问题。BIOS设置优化然后是BIOS的设置和优化,不同厂家服务器的BIOS不同,配置的细节选项也是各不相同。如果配置不正确,vGPU卡会不工作。vGPU卡工作模式切换还有切换显卡模式, M60和M10同时支持计算模式和图形模式,经常使用到的vGPU是图形模式,而显卡出厂时一般默认是计算模式。所以就需要在使用前,利用原厂工具在Hypervisor底层将显卡都切换为图形模式。以上可以看到,vGPU使用时需要大量的注意点,而这些往往又是最容易忽视的。而且每个服务器不一样,又没有统一的标准。某个细节方面没有注意到,就可能花费大量时间调试,甚至无法正常工作。VxRail V470超融合正是解决了这一难题,底层包括软硬件兼容性、散热方式,供电问题,BIOS调试都已经预设好。并且出厂就将vGPU设置成了图形模式,不需要再由用户切换。当然,vGPU软件的相关安装工作还是少不了的。从测试来讲,仅需要四步vGPU相关的安装步骤:

  • 下载vGPU软件和测试许可
  • 安装vSphere vGPU插件
  • 安装许可证服务器
  • 安装VDI虚拟机驱动

 

下载vGPU软件和测试许可

访问:http://www.nvidia.com/grid-eval


 


输入相关信息注册用户

 

注册成功后,NVIDIA会发送邮件到邮箱,其中有许可激活代码。再登录网站:https://nvid.nvidia.com/dashboard/ ,输入激活代码就可以得到测试许可。

 

然后可以下载相关的软件,请注意好版本。另外,建议将 GPU Mode Switch Tool,License Manager,vGPU Manager Pack也下载。

 

 

安装vSphere vGPU插件

首先确认下载的VIB包没有问题。(其余的exe文件是安装在VDI桌面的驱动)


然后将ESXi置于维护模式,再通过比如SCP工具将VIB拷贝到ESXi目录,执行以下命令安装VIB。重启ESXi。

 

安装许可证服务器

安装一台Windows 2008或以上,作为License Server。然后提前安装Java,注意:虽然提示Java 7及以上支持,但建议安装Java 8,因为Java 7碰到过坑。

 

基本就是一路Next安装下来。唯一注意就是将此两个默认端口选上,并且环境中保证7070通信端口和8080管理端口开放。

 

安装好后,可以访问http://10.99.2.20:8080/licserver/,就可以上传License了。

 

 

安装VDI虚拟机驱动

现在有了vSphere vGPU底层插件和License服务器,只差一步就可以使用vGPU啦。注意,想要配置vGPU的虚拟机一定要运行在安装了vGPU卡的节点上,在编辑设置里,添加Shared PCIe设备,就可以看到NVIDIAGRID vGP设备了,并可以在下面选择具体的vGPU型号。

 

打开虚拟机,可以看到有两个显卡设备,但其中有一个没有安装驱动。

 

在下载的包中,包含了不同平台的驱动,选择正确的安装,一路Next,重启。

 

重启后,在NVIDIA控制面板中输入License Server的地址。再打开设备管理器,vGPU显卡已经出现啦!

 

请注意,安装好vGPU驱动后,vSphere Web Client就已经不显示虚拟机的Console了,所以安装驱动时最好使用RDP远程桌面或VNC等工具。

 

很简单吧,后续还会有更详细的评测报告。想了解详细配置步骤的朋友请给我留言吧!

 

附:常用调试命令

Putty登录到ESXi主机。

 

~: nvidia-smi 可以查看到vGPU显卡每个芯片的工作状态,入当前功率,绑定CPU槽,使用显存情况,虚拟机占用情况等。

 


~:nvidia-smi vgpu -l 可实时查看每台虚拟机对vGPU的利用率和所用CPU核

 

~:nvidia-smi vgpu -p 可实时查看所有虚拟机中每个程序对vGPU的占用情况。