ESXI8.0设置显卡直通
在某些情况下,我们需要多次切换操作系统,以测试软件是否适用于特定系统和环境,减少多次重装系统的麻烦
ESXI8.0安装包
通过网盘分享的文件:ESXi-8.0U2-22380479-USB-NVME-集成网卡镜像.iso
链接: https://pan.baidu.com/s/1KKcOlK5oVYW-nafrCphuGQ?pwd=34qh 提取码: 34qh
–来自百度网盘超级会员v6的分享
关闭ESXI显卡调用
问题:ESXI8.0直通1030显卡每次重启宿主机会显示已启用需要重新引导
esxcli system settings kernel set -s vga -v FALSE
设置之后,需要重新引导
设置ESXI显卡直通
路径: 主机-管理-硬件-PCI设备
选择你的显卡设备,一般是以:NVIDIA 开头的,然后点击切换直通,然后我们就直接点击 重新引导主机
添加Ubuntu虚拟机
预留所有内存,并添加PCI设备中的显卡
设置EFI并关闭安全引导
第一个坑,没有关闭安全引导导致显卡驱动不能安装
配置虚拟机的参数
路径:虚拟机选项-高级-配置参数-编辑配置
参数说明:
hypervisor.cpuid.v0
值为FALSE
pciPassthru.use64bitMMIO
值为TRUE
pciPassthru.64bitMMIOSizeGB
值为24
(这个数字填写 显卡数 乘以 GPU显存总量。例如我的3090ti显存24G,这里填写24 * 1 =24即可)
Ubuntu配置
开始配置Ubuntu虚拟机
查看ubuntu中是否检测到显卡
lspci | grep VGA
输出如下:
ubuntu@ubuntu:~$ lspci | grep VGA
00:0f.0 VGA compatible controller: VMware SVGA II Adapter
02:02.0 VGA compatible controller: NVIDIA Corporation Device 2203 (rev a1)
显卡驱动前置编译库安装
sudo apt update
sudo apt install build-essential
sudo vim /etc/modprobe.d/nvidia.conf
编辑 nvidia.conf 文件,这个选项是用来启用对不受支持的 NVIDIA GPU 设备的开放式资源管理支持。默认情况下,NVIDIA 驱动程序可能会禁用对某些较旧或不常见的 GPU 设备的支持。通过设置这个选项为 1,可以允许驱动程序在不支持的 GPU 设备上启用资源管理。
文件 /etc/modprobe.d/nvidia.conf 内容:
options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
下载显卡驱动
地址:https://www.nvidia.cn/drivers/lookup/
我这边下载的是:NVIDIA-Linux-x86_64-550.144.03.run
默认ESXI不支持>=470版本的驱动,如果使用sudo ./NVIDIA-Linux-x86_64-550.144.03.run安装,会提示No devices were found。
使用开放式内核模式安装
在esxi安装虚拟机的情况下,在驱动版本大于470的情况下,一般会提示 No devices were found 所以我们需要采用开放内核模式安装
修改显卡驱动安装的命令,增加 -m=kernel-open。这个参数指定 NVIDIA 安装程序以开放式内核模式运行。在这种模式下,安装程序将尝试编译和安装适用于当前 Linux 内核版本的内核模块。这通常用于在系统中使用自定义或非常规的内核版本。
sudo chmod +x NVIDIA-Linux-x86_64-550.144.03.run
sudo ./NVIDIA-Linux-x86_64-550.144.03.run -m=kernel-open
为什么需要额外参数-m=kernel-open
-m=kernel-open
参数可指示安装程序以开放模式构建和加载内核模块。- Ubuntu系统内核不断更新,不同版本内核在接口、机制等方面存在差异。
- NVIDIA显卡驱动默认安装时,其内核模块基于特定内核环境编译和适配。
- 当系统内核版本与驱动默认适配版本不一致,会出现兼容性问题导致安装失败。
-m=kernel-open
允许以开放源码方式重新编译内核模块,适配当前系统内核版本,解决兼容性问题,实现驱动正常安装。
重启系统检测是否安装成功
重启系统
sudo reboot
执行 nvidia-smi
nvidia-smi
输出如下:
ubuntu@ubuntu:~$ nvidia-smi
Sat Feb 15 11:45:22 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.144.03 Driver Version: 550.144.03 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| 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 NVIDIA GeForce RTX 3090 Ti Off | 00000000:02:02.0 Off | Off |
| 30% 33C P0 67W / 450W | 1MiB / 24564MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
ubuntu@ubuntu:~$
大功告成!