1、随着人工智能和AI的发展,显卡运算获得越来越广发的运用,nvidia必然是首选。如何将nvidia显卡应用于虚拟机成为一个新的需求。好处是不同虚拟机可以轮流使用显卡进行计算,缺点是不能同时使用。本次需求为硬件为戴尔工作站,里面装两块 RTX4090显卡,一个分配给windows虚拟机,一个分配给centos虚拟机,经过几天研究已成功解决。
2、首先安装esxi 7.0 U3版本,到官网下载镜像试用版,刻录到U盘,进工作站进行安装,无特殊要求。
3、安装完成后配置网络,存储等基本信息,要设置显卡直通(关键①)
4、配置完成后使用网页打开esxi界面,需要将下载好的windows 10镜像和centos 7.6镜像上传,创建虚拟机,编辑配置添加pci设备,每块显卡会有两个选项,视频和音频,可以根据需要进行选择,创建完虚拟机后需要添加参数(关键②)
pciPassthru.use64bitMMIO=TRUE
pciPassthru.64bitMMIOSizeGB=64
hypervisor.cpuid.v0= FALSE
5、配置完虚拟机后需要在虚拟机操作系统内安装nvidia驱动,每个操作系统使用的驱动版本不一样,需要到官网去按照驱动型号和操作系统版本进行下载(关键③)
6、安装驱动windows的最简单,直接安装即可,安装完在硬件管理里面能看到显卡,cmd中运行nvidia-smi能显示显卡信息即为成功。
7、安装驱动centos的要稍微复杂一些,使用命令
lspci | grep -i nvidia
首先能识别到网卡,然后需要关闭nouveau服务(关键④),不然会出现成功安装驱动但运行nvidia-smi不成功的现象
还要注意kernel-devel、kernel-header互相匹配的问题。
dmesg | grep NVRM可以查看驱动无法生效的原因,进行针对性处理
8、最后两台虚拟机能正常识别到显卡并正常运行。