VMware vSphere设置GRID K2虚拟显卡(vGPU)与共享显卡(vSGA)共存

天锦 发表于 女票们的新建与保养 分类,标签:

NVIDIA GRID K2是英伟达为虚拟化平台推出的一款虚拟显卡,支持直通、vSGA模式和vGPU模式。从官方的资料来看,这款显卡只能在三中模式中选择一种,ESXi主机使用vGPU模式的话就不能使用这张显卡用于vSGA模式。而我的机器中正好就有Linux和Windows两种系统的虚拟机,GRID K2显卡的vGPU只支持Windows系统,Linux系统下没有对应的显卡驱动,只能使用vSGA模式。而使用vSGA模式又会有很大的性能上的降低。如此就陷入了进退两难的地步。

不撞南墙心不死

官网的文档都是说了只能选一种模式,可是K2可是有两颗物理GPU的,实际情况又是如何呢,好奇心和卡到不行的桌面环境逼着我最终淘了一张GRID K2来实测一下。经过上手实测,确认可以将一个GPU设置为vGPU模式,另一个用于vSGA模式。

安装

将ESXi主机停机,把GRID K2显卡安装的机器上之后,开启ESXi服务器,系统启动后开启SSH服务。

到NVIDIA官网下载GRID K2显卡的驱动,我下载的是NVIDIA-vGPU-kepler-vSphere-6.5-367.134-370.41,将其解压,将压缩包内的vib文件上传的ESXi的存储中。通过SSH登录ESXi主机,使用esxcli命令安装驱动。

[root@esxi:~] esxcli software vib install -v directory/NVIDIA-vGPU-kepler-vSphere-6.5-367.134-370.41.vib

安装完成后重启服务器。待重启完成后登陆SSH,运行nvidia-smi 可以看到已安装的GRID显卡,至此基本安装完成。

[root@node0:~] nvidia-smi 
Thu Jan  7 12:19:53 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.134                Driver Version: 367.134                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GRID K2             On   | 0000:06:00.0     Off |                  Off |
| N/A   36C    P8    29W / 117W |      9MiB /  4095MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GRID K2             On   | 0000:07:00.0     Off |                  Off |
| N/A   30C    P8    28W / 117W |     18MiB /  4095MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    1   2099970    G   Xorg                                             7MiB |
+-----------------------------------------------------------------------------+

到vCenter中选择对应的ESXi主机>配置>硬件>图形>图形设备 中可以看到有两个NVIDIAGRID K2显卡,在“主机图形”中系统默认的是VMware 共享虚拟图形,把它改为直接共享,再在图形设备中选中两张K2显卡的第一张,将其改为直接共享,并勾选重新启动X.Org服务器,第二张K2保持“共享”不变。此时,显卡设置完成。

Linux虚拟中启用3D图形,3D渲染器选择自动,Windows系统中添加新的共享PCI设备,选择GRID K2显卡和配置对应的虚拟显卡型号,开启Windows系统后安装vGPU驱动。

此时运行nvidia-smi 可以看到,Linux系统和Windows系统都有在这张GRID K2显卡进行加速,GPU0分配给了Windows系统,GPU1给Linux系统和其他系统共享使用:

[root@node0:~] nvidia-smi 
Fri Jan  8 07:06:58 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.134                Driver Version: 367.134                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GRID K2             On   | 0000:06:00.0     Off |                  Off |
| N/A   43C    P8    29W / 117W |   4075MiB /  4095MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GRID K2             On   | 0000:07:00.0     Off |                  Off |
| N/A   38C    P0    53W / 117W |     20MiB /  4095MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0   2114316  C+G   cxy.lab.pypy.fun                              2032MiB |
|    0   2114835  C+G   edp.lab.pypy.fun                              2032MiB |
|    1   2099970    G   Xorg                                             7MiB |
|    1   2115524    G   ldp.lab.pypy.fun                                 1MiB |
+-----------------------------------------------------------------------------+

再到vCenter中查看,两个Windows系统使用的vGPU调用的是第一颗物理核心,Linux系统则是使用的第二颗物理GPU。

0 篇评论

发表我的评论