如何在 VMware ESXi 6.x 上将 NVIDIA 网络设备配置为 VMDirectPath I/O 直通模式

创建于 2019 年 6 月 9 日。本文介绍如何在 VMware ESXi 6.x 上将 NVIDIA 网络设备配置为 VMDirectPath I/O 直通模式以及从该模式恢复的步骤。

文档目录

创建于 2019 年 6 月 9 日

简介

本文介绍如何在 VMware ESXi 6.x 上将 NVIDIA 网络设备配置为 VMDirectPath I/O 直通模式以及从该模式恢复的步骤。

参考资料

关于 VMDirectPath I/O 直通设备

每个虚拟机支持的直通设备最大数量为:

  • ESXi 6.5:16 个设备
  • ESXi 6.7:16 个设备

1.png

配置 NVIDIA 网络设备直通

在配置 PCI 直通设备之前,请确保平台和设备满足 PCI 直通要求,请参见 VMware vSphere VMDirectPath I/O: Requirements for Platforms and Devices (2142307)

在 ESX/ESXi 主机上配置直通设备的步骤:

  1. 选择 ESXi 主机(在 VMware vSphere Client 的清单中)。
  2. 进入维护模式 该 ESXi 主机。
  3. 导航器中单击管理硬件PCI 设备。直通配置页面列出所有可用的直通设备。
  4. 选择设备并单击切换直通

2.png

  1. 重新启动主机以使更改生效。重启后,设备将标记为绿色图标并已启用。

注意: 配置更改保存在 /etc/vmware/esx.conf 文件中。

设备连接的 PCI 插槽号02:00.1。记录如下:

/device/00000:002:00.1/owner = = "passthru"
  1. 验证

UI 方式

a. 选择 ESX\ESXi 主机(在 VMware vSphere Client 的清单中)。 b. 在导航器中单击管理、硬件和 PCI 设备。直通配置页面列出所有可用的直通设备。 c. 验证

3.png

CLI 方式

a. 启用 SSH 访问 ESXi 服务器。 b. 以 root 权限登录 ESXi vSphere 命令行界面。 c. 查看 /etc/vmware/esx.conf 文件,将 PCI 设备的所有者从 passthru 更改为 vmkernel。

ESXi 控制台

# vi /etc/vmware/esx.conf

找到 /device/<PCI_ID>/owner = "passthru"

d. 检查

ESXi 控制台

/device/00000:002:00.1/owner = = "passthru"
  1. 重新启动 ESXi 主机。
  2. 退出维护模式 该 ESXi 主机。

在虚拟机上配置 PCI 设备

  1. 在 vSphere Client 的导航器中,右键单击虚拟机并单击编辑设置
  2. 选择 虚拟硬件选项卡。
  3. 单击添加其他设备

4.png

选择 PCI 设备

5.png

单击保存

注意: 分配设备后,虚拟机必须预留全部配置内存大小的内存。

6.png

配置非直通 NVIDIA 网络设备

要强制更改为非直通模式,请完成以下步骤:

  1. 启用 SSH 访问 ESXi 服务器。

  2. 以 root 权限登录 ESXi vSphere 命令行界面

  3. 进入维护模式 该 ESXi 主机。

  4. 编辑 /etc/vmware/esx.conf 文件,将 PCI 设备的所有者从 passthru 更改为 vmkernel。

    ESXi 控制台

    # vi /etc/vmware/esx.conf
    
  5. 找到 /device/<PCI_ID>/owner = "passthru"写入

    ESXi 控制台

    /device/00000:002:00.1/owner = "vmkernel"
    
  6. 重新启动 ESXi 主机。

  7. 退出维护模式 该 ESXi 主机。

/passthru

  1. 更改 从: /device/00000:002:00.1/owner = = "***passthru***" 更改为: /device/00000:002:00.1/owner = = "***vmkernel***"

  2. 重启 ESXi 主机。

  3. 验证

ESXi 控制台

# lspci | grep Mellanox

0000:02:00.0 Network controller: Mellanox Technologies MT28800 Family [ConnectX-5 Ex] [vmnic2]
0000:02:00.1 Network controller: Mellanox Technologies MT28800 Family [ConnectX-5 Ex] [vmnic3]

7.png

  1. 退出维护模式 ESXi 主机。

完成!

作者

BK.jpg Boris KovalevBoris Kovalev 过去几年担任解决方案架构师,专注于 NVIDIA Networking/Mellanox 技术,负责复杂的机器学习、大数据和基于 VMware 的高级云研究与设计。Boris 此前在多家公司担任高级顾问和解决方案架构师超过 20 年,最近在 VMware 工作。他撰写了多份涵盖 VMware、机器学习、Kubernetes 和容器解决方案的参考设计,可在 NVIDIA 文档网站上获取。