Esxi8.0设置nvidia显卡直通安装最新驱动

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设备中的显卡
选择PCI设备

设置EFI并关闭安全引导

第一个坑,没有关闭安全引导导致显卡驱动不能安装

关闭UEFI安全引导

配置虚拟机的参数

路径:虚拟机选项-高级-配置参数-编辑配置
设置参数

参数说明:

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:~$ 

大功告成!

<think>嗯,用户想了解在ESXi 8.0中如何启用显卡的SR-IOV功能。首先,我需要回忆一下SR-IOV的基本概念。SR-IOV允许物理设备(比如GPU)被虚拟化为多个虚拟功能,这样多个虚拟机可以共享同一块物理GPU,提高资源利用率。不过,并不是所有显卡都支持SR-IOV,所以第一步需要确认用户的GPU型号是否在VMware的兼容性列表里。例如,NVIDIA的某些企业级GPU如A100可能支持,而消费级的可能不支持。 接下来,用户需要在ESXi主机上启用SR-IOV。这通常涉及到在ESXi的配置中修改相关设置。可能需要通过SSH连接到ESXi主机,然后使用命令行工具,比如esxcli,来配置PCI设备。这里要具体说明步骤,比如找到GPU的BDF(总线、设备、功能号),然后启用SR-IOV并设置虚拟功能的数量。需要提醒用户注意,修改这些设置可能会导致主机需要重启,影响正在运行的虚拟机,所以建议在维护窗口操作。 另外,安装合适的驱动程序也很重要。VMware可能需要特定的VIB(vSphere Installation Bundle)驱动来支持SR-IOV功能。用户需要确保安装了正确版本的驱动,并检查是否加载成功。 配置虚拟机时,用户需要将虚拟功能作为PCI设备直通给虚拟机。这里要提到如何在vSphere Client中添加PCI设备,并且可能需要调整虚拟机的硬件兼容性设置。此外,每个虚拟机的操作系统也需要安装对应的驱动,以正确识别和使用虚拟化的GPU功能。 可能遇到的问题包括硬件不支持、驱动不兼容或者配置错误。需要建议用户检查日志,比如/var/log/vmkernel.log,查看是否有相关错误信息。同时,确保ESXi版本和驱动版本匹配,VMware的兼容性指南是重要的参考资料。 最后,生成相关问题时要考虑用户可能进一步的需求,比如性能优化、兼容性检查或者特定型号GPU的配置步骤。这样可以帮助用户更全面地理解和解决潜在的问题。</think>### 如何在ESXi 8.0中启用显卡的SR-IOV功能? #### 1. **确认硬件兼容性** - SR-IOV需要显卡硬件支持,例如NVIDIA A100/A30/T4等企业级GPU或AMD Instinct系列[^1]。 - 检查VMware兼容性列表:[VMware Compatibility Guide](https://www.vmware.com/resources/compatibility)(搜索设备型号 + "SR-IOV")。 #### 2. **启用ESXi主机的SR-IOV支持** ```bash # 通过SSH登录ESXi主机 esxcli system module parameters set -m nvidia -p "enable_sriov=1" # 重启主机生效 reboot ``` - 若使用AMD GPU,需替换模块名为`amdgpu`。 #### 3. **配置PCI设备虚拟功能** ```bash # 查看GPU的PCI设备地址(如0000:3b:00.0) lspci -v | grep NVIDIA # 启用SR-IOV并分配虚拟功能数量(例如16) esxcli hardware pci pcifunc sriov set -d 0000:3b:00.0 -e true -n 16 ``` #### 4. **虚拟机配置** - 在vSphere Client中编辑虚拟机设置: 1. 添加PCI设备时选择对应的虚拟功能(VF)。 2. 确保虚拟机硬件版本≥15。 - 安装GPU厂商提供的虚拟机驱动(如NVIDIA vGPU驱动)。 #### 5. **验证功能** ```bash # 检查虚拟功能是否激活 esxcli hardware pci list | grep "SR-IOV" # 查看虚拟机内GPU识别状态(需登录虚拟机) nvidia-smi # 或对应命令 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值