ESXi 6.5 虚拟机直通K80显卡并安装NVIDIA显卡驱动:

您所在的位置:网站首页 WIN10虚拟机怎么安装显卡 ESXi 6.5 虚拟机直通K80显卡并安装NVIDIA显卡驱动:

ESXi 6.5 虚拟机直通K80显卡并安装NVIDIA显卡驱动:

2024-06-11 18:09| 来源: 网络整理| 查看: 265

本地环境:

Dell PowerEdge R720 2680v2 *2 ddr3 1333MHz 32G

ESXi 6.5 U2 Dell定制版

CentOS 7虚拟机 WIn10 虚拟机

K80显卡

同时还插着AMD显卡

安装驱动前的必备操作:

参考博客:

https://blog.51cto.com/5001660/2483307

按照这个设置, 能完成一大半的操作

但是还有些必备操作, 否则虚拟机开机会出问题

以下全部是我遇到的问题

虚拟机加载到42%, 然后报打开模块DevicePowerOn电源失败, 导致虚拟机无法开机

解决方法是参考这个:

VMware 官方kb:

https://kb.vmware.com/s/article/2142307

其他博客中也有提到这个方法:

https://blog.csdn.net/u012149181/article/details/112345831

这里直接在虚拟机的高级编辑参数里添加, 无需使用ssh连接

image-20210405005418077

进虚拟机安装驱动卡住, 或无法成功安装驱动

具体的表现为, win10中安装驱动读条的时候卡住不动, 设备管理器显示没有为该设备安装的驱动, 之后无法关机, 强制关机后无法开机

Linux系统(ubuntu / CentOS)能安装完成驱动, 但是nvidia-smi无法找到设备, 也就是驱动安装未成功

问题原因:

虚拟机系统的引导方式必须是UEFI

由于ESXi系统默认的虚拟机引导方式是BIOS, 在没有修改系统引导方式的前提下安装系统就是BIOS引导方式

这个是导致后续新虚拟机无法安装驱动的原因

之后创建的3个虚拟机(win10 , Ubuntu, CentOS) 均无法安装驱动(驱动安装失败)就是这个原因导致的

解决方案

将虚拟机系统的引导方式修改成UEFI, 非重装系统的方法比较复杂, 这里具体操作不细谈了, 我直接重装了win10和CentOS虚拟机

之后就能正常安装驱动了

成功安装驱动后的虚拟机在直通显卡后无法开机

我也不知道之前系统设置有问题的情况下是怎么成功安装驱动的

具体表现为, 直通显卡后打开虚拟机电源, 连vmware开机画面都不会出现, 虚拟控制台一直在转圈圈

解决方案

需要进入主板BIOS打开SR-IOV以及其他相关的虚拟化选项

详细可参考这里:

https://communities.vmware.com/t5/ESXi-Discussions/NVIDIA-Tesla-K80-Pass-Through/m-p/2731719

由于本人使用的是Dell R720服务器, BIOS中并没有找到ASPM选项, 所以仅仅打开了SR-IOV

打开之后重启系统, 之后已经成功安装驱动的虚拟机就能成功开机了

CentOS安装最后一步报错, 提示:

Error:Unable to load the 'nvidia-drm' kernel module .

这个是由于系统采用UEFI引导后, 却打开了Security BOOT选项

这个选项在Win10中是没问题的, 我在打开Security BOOT之后仍能正常安装驱动, 但在CentOS中国遇到了问题

解决方案

需要在虚拟机引导方式中将安全引导关闭, 直接进入虚拟机BIOS中是没有这个设置选项的

image-20210405003403501

Unable to determine the device handle for GPU 0000:0B:00.0: Unknown Error

CentOS中安装驱动完成, 使用nvidia-smi出现这个

解决方案:

虚拟机参数中添加老生常谈的hypervisor.cpuid.v0="FALSE"

不需要进SSH修改vmx文件, 直接在虚拟机高级参数中添加一个这个就行:

image-20210405003553478

然后注意, 要重启物理机, 单单重启虚拟机无法解决问题

重启之后, nvidia-smi就能正常显示了

win10安装驱动:

这个相比于上头的疑难杂症, 就简单的很了

直接到官网下载相应的驱动, 安装就对了, 都是图形化界面, 简单易懂

官网驱动下载地址:

https://www.nvidia.cn/Download/index.aspx?lang=cn

CentOS安装驱动:

先准备一个官网下载的驱动:

https://www.nvidia.cn/Download/index.aspx?lang=cn

这玩意的具体操作网上很多, 但有些不完整, 我多方整合汇总了一下

参考博客:

https://blog.csdn.net/tony_vip/article/details/104531383

系统切换到命令行模式:

查看当前模式:

systemctl get-default

image-20210331105759937

如果是graphical.targe, 则是图形界面模式

设置为命令行模式:

systemctl set-default multi-user.target

设置为图形界面模式:

systemctl set-default graphical.target

设置模式之后需要重启

安装基础依赖环境 yum -y install gcc kernel-devel kernel-headers 查看内核和源码版本是否一致:

查看内核版本:

[root@localhost 10:37:03 src]# ls /boot | grep vmlinu #内核版本 vmlinuz-0-rescue-628d97dc7b994787ae886db591ab8146 vmlinuz-3.10.0-957.el7.x86_64

查看源码包版本

[root@localhost 10:37:41 src]# rpm -aq |grep kernel-devel kernel-devel-3.10.0-1062.12.1.el7.x86_64

这里我遇到的问题是:

/usr/src/kernels目录为空

参考博客:

https://blog.csdn.net/qq_43479432/article/details/104742566

Linux系统中默认不安装内核源码, 需要的话得手动安装:

运行下头的命令即可:

yum install kernel-devel-内核版本 -y

有几个内核src可选:

image-20210331111035582

安装完成之后在/usr/src/kernels下既有内核src文件了:

image-20210331111125284

屏蔽自带的nouveau驱动:

这里与ubuntu有些许类似:

查看nouveau是否运行:

lsmod | grep nouveau

image-20210330104605845

可以看到nouveau正在运行

安装显卡驱动的时候就需要禁用

在/etc/modprobe.d/blacklist.conf 添加:blacklist nouveau

这一步和ubuntu相似

vim /usr/lib/modprobe.d/dist-blacklist.conf # 或 vim /lib/modprobe.d/dist-blacklist.conf

在最后加上:

blacklist nouveau options nouveau modeset=0

备份原来的 initramfs nouveau image镜像

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img

创建新的 initramfs image镜像

dracut /boot/initramfs-$(uname -r).img $(uname -r)

此操作会进行压缩, 响应较久

完成之后重启机器, 再次检测nouveau驱动

lsmod | grep nouveau

可以看到此时nouveau已经被禁用:

image-20210330112439143

重建 initramfs image 步骤 [root@localhost 10:37:41 src]# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak [root@localhost 10:37:41 src]# dracut /boot/initramfs-$(uname -r).img $(uname -r) 驱动安装:

进入到驱动所在目录, 执行安装命令;

# cd /to/your/directory/ ; 跳转到驱动所在的目录 # ./驱动文件名称 --kernel-source-path=你的内核源代码路径 -k $(uname -r)

例:

# ./NVIDIA-Linux-x86_64-384.81.run --kernel-source-path=/usr/src/kernels/3.10.0-693.5.2.el7.x86_64 -k $(uname -r)

注意, 这里后头带的一大串参数必须要, 其必须制定内核源代码路径, 不然驱动无法正常安装

许可证 -accept 这里写图片描述这里写图片描述 安装 32 位兼容库 -yes 这里写图片描述 安装速度很快 这里写图片描述 安装顺利完成 这里写图片描述

检查驱动安装情况:

直接上:

nvidia-smi

正常情况下会出现显卡信息:

$ nvidia-smi Tue Apr 27 19:27:37 2021 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 460.32.03 Driver Version: 460.32.03 CUDA Version: 11.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 Tesla K80 Off | 00000000:04:00.0 Off | 0 | | N/A 49C P0 74W / 149W | 0MiB / 11441MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ | 1 Tesla K80 Off | 00000000:1B:00.0 Off | 0 | | N/A 66C P0 61W / 149W | 0MiB / 11441MiB | 98% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+

如果没有成功显示, 则可以往上头看看是否和我遇到了相同的报错

其他的报错百度解决方案也挺多, 我就爱莫能助了



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3