在vSphere平台下安装vGPU驱动之前需要打开ESXi的SSH服务,方便来传输vib驱动安装包以及后面一些命令行的操作。
ESXi需要加入vCenter,vGPU相关的一些配置都需要在vCenter下来修改。
使用WinSCP把驱动压缩包中Host_Drivers目录下相关文件传到ESXi的/tmp目录下,根据驱动版本不同,文件夹下文件也不同,对于目前的长周期支持分支vGPU 13.x(ESXi 7.0 推荐使用,不支持ESXi 8.0),Host_Drivers仅有一个NVD-VGPU开头的驱动包,对于最新的产品分支vGPU 15.x及之后(支持ESXi 8.0) ,还会有一个nvd-gpu-mgmt-daemon开头的文件,Host_Drivers下的NVD-VGPU开头的驱动zip文件不需要再次解压,请把文件直接拷过去。
对于nvd-gpu-mgmt文件,在最新的15.3版本中做了2次打包,所以nvd-gpu-mgmt-daemon_525.125.03-0.0.0000_21816754-package.zip这个文件需要解压,然后把解压得到的nvd-gpu-mgmt-daemon_525.125.03-0.0.0000_21816754.zip文件拷过去,注意我们需要的安装文件是不带package结尾的,之前的版本如15.2不用解压直接拷过去就行,最新16.0版本驱动也直接可用,总之,安装之前先检查一下。
安装驱动之前先检查一下GPU是否被正常识别到,SSH到ESXi,使用命令:lspci | grep NVIDIA 来检查。
确保相关文件已经传到/tmp目录下,然后使用esxcli命令进行安装,注意ESXi主机需要处于维护模式,可以在网页图形界面上修改(推荐),也可以用命令行:
esxcli system maintenanceMode set --enable true
主机进入维护模式以后开始安装驱动,
对于vGPU 13.x:
esxcli software vib install -d /tmp/NVD-VGPU*.zip
对于vGPU 15.x及之后:
esxcli software vib install -d /tmp/NVD-VGPU*.zip
esxcli software vib install -d /tmp/nvd-gpu-mgmt-daemon*.zip
对于ESXi 7.0及之后的版本,也可以使用:
esxcli software component apply -d /tmp/NVD-VGPU*.zip
esxcli software component apply -d /tmp/nvd-gpu-mgmt-daemon*.zip
component apply命令同样适用于升级,命令与安装相同,区别是升级驱动之前需要停止nvdGpuMgmtDaemon服务:
/etc/init.d/nvdGpuMgmtDaemon stop
esxcli software component apply -d /tmp/NVD-VGPU*.zip
esxcli software component apply -d /tmp/nvd-gpu-mgmt-daemon*.zip
等待几分钟,安装成功以后会有提示信息,可能在安装信息中提示不需要重启,但是强烈建议重启一下主机来验证驱动是否正常,有碰到过重启以后驱动报错的情况。
重启完主机以后使用 nvidia-smi 命令来验证驱动是否正常,正常情况下能看到类似如下信息:
特别注意2点:1、ECC模式是否显示off 2、默认情况下vSphere会使用vsga模式,而不是vGPU模式,所以能看到最下面xorg条目,这个我们后面改。
在部分时候,特别是使用全新的GPU,可能会看到nvidia-smi信息里面ECC区域不是off状态,而是0,这说明你现在的ECC是启用的状态,并不是所有vgpu都可以使用ECC,如果你不能确认你的环境是否需要启用ECC,那建议先关闭ECC。
使用命令来关闭ECC,注意,启用或者关闭ECC都需要重启主机。
nvidia-smi -e 0
更多关于ECC的信息,请参考:
主机驱动全部配置完成以后就可以退出维护模式(同样可以通过图形界面操作):
esxcli system maintenanceMode set --enable false
最后我们还要改一下主机图形设置,登陆vCenter,定位到主机-配置-图形,编辑主机图形设置,可以看到默认是共享模式,也就是vsga,我们需要切换到“直接共享“才能使用vGPU。
2种GPU分配策略,在有多个GPU的时候生效。
默认最佳性能模式,会在所有可能的GPU上去运行虚拟机,即VM1运行在GPU1、VM2运行在GPU2,以此类推,尽可能平均的分布虚拟机,不会让GPU闲着。
GPU整合模式,会在一个GPU核心上运行先启动的虚拟机,直到当前GPU没有资源才会去使用下一个GPU核心,这个模式多用在同一台服务器上运行多个vGPU profile的情况下。
除了主机的图形选项,针对每个GPU也都可以单独设置共享模式,第一次使用需要在这里再切换一下,主要是需要重启xorg服务来改变配置,不同vSphere版本界面可能不能,部分早期版本需要手动重启xorg服务。
更改成功以后就没有xorg条目了,可以开始使用vGPU了!
42 comments
请问丁老师,能否不依赖vcenter,只使用esxi的webui和ssh,实现给虚拟机添加vGPU?
因为我只有一个物理机做host,没有集群,装一个VCSA占用有些大。
esxi8.0U2 ,tesla P100显卡,驱动16.5,目前阶段是通过nvidia-smi -s能看到vgpu profile的列表,xorg不在nvidia-smi的输出中了。
但是在esxi host client网页中,给虚拟机分配pci设备是灰色的
不能,需要通过VC才能添加
您好!我esxi8.0打上了驱动,安装win10虚拟机,在win下,只要一打驱动就会蓝屏,然后无限重启蓝屏,请问该如何排查和解决,谢谢您的分享,万分期待您的回复
你解决没有 我也是 WIN10蓝屏 WIN11黑屏 远程不管用 ESXI8 P4
虚拟机蓝屏?先考虑一下兼容问题,找到你用的版本,然后看一下支持列表 https://docs.nvidia.com/grid/
我ESXI添加新设备的时候PCI设备为灰色,没有共享PCI设备,再vsphere里添加有PCI设备,没有共享PCI设备,添加PCI设备的时候也有vgpu的profile,但是无法开机提示“vmkernel 不允许直通设备“pciPassthru0”vGPU“grid_k180q”: 故障。”
K1实在太老了。。。先检查下驱动和ESXi的兼容性,然后检查一下vGPU的主机配置,默认装完是vsga模式,你用nvidia-smi可以看到有xorg条目,需要ESXi主机选项下改成共享直通模式,然后重启xorg服务,确保nvidia-smi下面看不到有xorg在使用的条目,那就切换成功了。
nvidia-smi 切换成功的 显示是no running…… 我又重新安装了ESXI和vcenter 还是这个报错。
我ESXI添加新设备的时候PCI设备为灰色,没有共享PCI设备,再vsphere里添加有PCI设备,没有共享PCI设备,添加PCI设备的时候也有vgpu的profile,但是无法开机提示“vgpu故障。”
我的虚拟机添加新设备的时候只有PCI设备,没有共享PCI设备,添加PCI设备的时候也有vgpu的profile,但是添加之后点击确定会提示“这个具有 vGPU 设备的虚拟机不支持使用虚拟 IOMMU。”
现在都是在PCI设备这个选项下;至于IOMMU的问题,你看一下你虚拟机CPU高级选项是不是勾选了这个。
你好,A6000的显卡,安装完esxi后,在主机管理界面看不到nvidia的PCIe设备,但是物理机上nvidia-smi是正常的,检查了BIOS都是正确配置,会是什么问题呢?
在VC下看不见吗?
虚拟机可以使用2个vgpu嘛,我只有在16q这种模式下可以使用两个
可以使用多vGPU,但是每个vGPU设备必须都是完整的GPU规格,不能添加多个切分后的vGPU
你好!请教下:我们物理服务器安装vmware esxi 7.0,一块V100 PCIe 32G的显卡。有企业试用license,在企业账号网站下载了vib驱动。安装之后nvidia-smi提示报错NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.换了各个版本驱动都是如此。其余操作基本都是按照你网站上的流程,但是现在有工程师说不用安装vib驱动,只需要在虚拟机系统(windows)下安装驱动即可。当然license server不能少。vmware下lspci能看到显卡信息就行。直接跳过vib驱动环节。这样是否可行?望解惑答疑。
同样错误,大哥解决了吗
这个报错大概率是bios设置问题,可以按照以下思路进行排查:
1.检查GPU与服务器的兼容性
2.检查vsphere版本与驱动兼容性
3.升级到最新bios
4.检查BIOS选项,打开VT-D,SR-IOV,Above 4G decoding(各服务器可能名称略有区别),同时由于vsphere的限制,需要把MMIO HBASE设置成小于16T的数值。
我在A800上也遇到了这个问题,华三的机器,BIOS中的VT-D,SR-IOV,Above 4G decoding都打开了,MMIO High Base由原来的56T修改为512G,还有一个MMIO High Granularity Size是4096G没有修改,但是安装了vGPU15.4的驱动后esxi主机上还是报同样的错,博主能帮忙看看吗
A800不支持使用vGPU驱动,原有vcs也没了。对A100/A800/A30/H100/H800的虚拟化功能现在需要使用NVIDIA AI Enterprise
你好,没有把MMIO HBASE设置成小于16T的值会有什么异常尼?我用的戴尔服务器
驱动可能不正常
我的A16显卡vPC的授权用了-a的用户文件,在改成-b以后,虚拟机提示无可用资源启动,望丁老师解惑啊
大佬我搞定了,sr-iov没开导致的
这么判断esxi版本和vgpu版本的对应关系
每个vGPU驱动版本对应有一些差别,最新版本参考:https://docs.nvidia.com/grid/latest/product-support-matrix/index.html
大佬请问A40的卡一样配置 ,驱动正常,添加pci正常,但是虚机启动不起来 报错怎么办,另一个物理资源用的T4的卡是正常的
先看驱动及系统兼容性,再考虑服务器BIOS配置问题
设置后 启动虚拟机切换到VGPx显示器就黑屏怎么回事啊
正常现象,提前把远程桌面开起来
你好,驱动要到哪里下载
安装提示成功,lspci也能看到信息,但是nvidia-msi却没有信息,求助!
是nvidia-smi
驱动能给个下载地址么
需要NVIDIA企业账号,申请测试或者正式购买
可以通过邮箱联系我,dingqian@dingqian.net
可以帮忙看一下吗?谢谢。出现下面这个提示 是那个环节出问题了。
Installation Result
Message: Host is not changed.
Reboot Required: false
VIBs Installed:
VIBs Removed:
VIBs Skipped: NVIDIA_bootbank_NVIDIA-VMware_ESXi_6.7_Host_Driver_390.57-1OEM.670.0.0.7535516
已安装这个驱动
请看我另外一篇指导下载的,需要NVIDIA企业账号。
只有这个信息没办法判断