直通设备可提供有效的方式来使用资源并提高环境性能。
在 vSphere 8.0 及更低版本中,仅当虚拟机关闭电源时才会添加或移除直通设备。当前版本的 vSphere 对 VMDirectPathI/O 设备提供了热添加和热移除支持。热添加是指在虚拟机打开电源时添加直通设备的过程。
对于 VMDirectPathI/O 设备的热添加和热移除支持,可用使用以下功能。
- 通过 vSphere API 将启用了直通的设备热添加到虚拟机。您可以通过下列方法之一执行此操作:
- 您可以为 ESXi 引导时发现的现有设备启用直通,并将该设备热添加到虚拟机。
- 或者,也可以通过物理方式将新设备热添加到主机的空 PCIe 热插拔插槽,为新添加的设备启用直通,然后将该设备热添加到虚拟机。
注: 此功能需要对服务器进行 PCIe 本机热插拔认证。
- 通过 vSphere API 从虚拟机热移除直通设备。
- 可通过物理方式从主机中拔出虚拟机正在使用的直通设备,从而意外热移除该设备。
注: 此功能需要对服务器进行 PCIe 本机意外热插拔认证。注: 仅 NVMe 设备支持热添加和热移除 VMDirectPath I/O。 vSphere Client 不支持热添加和热移除 VMdirectPathI/O。
启用了直通热插拔的虚拟机不支持以下功能:
- 向客户机操作系统公开输入-输出内存管理单元 (IOMMU)。
- CPU 热插拔。
- 内存热插拔。
- 动态 Direct Path I/O。
- 支持 vCPU 数量大于 128 的虚拟机。
- 对于启用了直通热插拔的虚拟机,可能会禁用虚拟中断(也称为中断发布)。
- 不支持通过物理方式从主机正常热移除直通设备。
- UI 对热添加和热移除的支持。
- 虚拟机 Direct Path I/O 不可用的所有功能。
平台、设备和客户机操作系统的要求
服务器和设备要求
- 确保服务器原始设备制造商 (OEM) 支持热添加和热移除 VMDirectPath I/O 设备功能。
- 服务器平台固件必须是 Unified Extensible Firmware Interface (UEFI)。
- 确保服务器平台和设备符合 KB 2142307 中所述的要求。
- 应对服务器进行虚拟机 Direct Path I/O 认证。
- 如果从虚拟机中意外热移除直通设备,服务器型号应经过 PCIe 本机意外热插拔认证。
注: 有关服务器认证的详细信息,请参见
VMware 兼容性指南。
客户机操作系统要求
- 确保客户机操作系统支持 NVMe 热插拔和 NVMe 意外热移除。
- 使用最新且稳定的 GOS 发行版,其中包含 NVMe 驱动程序 I/O 堆栈的所有修复。
vCenter 和 ESXi 要求
ESXi 和 vCenter 版本必须为 8.0 Update 1 或更高版本。
限制
- 在单个
ReconfigureVM
API 调用中最多可以热添加 1 个直通设备。 - 在单个
ReconfigureVM
API 调用中最多可以热移除 1 个直通设备。 - 请求热添加或热移除直通设备时,无法在同一
ReconfigureVM
API 调用中请求其他虚拟机重新配置更改。 - 一个虚拟机最多支持 32 个 NVMe 直通设备。
启用 VMDirectPath I/O 设备的热添加和热移除
您可以通过准备 vCenter 和 ESXi 主机来启用 VMDirectPath I/O 设备的热添加和热移除。
前提条件
准备 vCenter 和
ESXi 主机。
- 使用内部版本组合部署 vCenter 和有状态安装 ESXi。
- 设置 VMKernel 引导参数。
set -s maxIntrCookies -v 4096
- 重新启动 ESXi 主机。
- 部署数据中心并添加主机。
过程
- 在 vSphere Client 中浏览到某台主机。
- 在配置选项卡上,展开硬件并单击 PCI 设备。
- 选择 NVMe PCI 设备,然后按切换直通。
下一步做什么
准备并配置虚拟机。
准备并配置虚拟机
直通设备可提供有效的方式来使用资源并提高环境性能。您可以准备和配置虚拟机。
部署和配置虚拟机(UEFI 引导)
过程
下一步做什么
验证热插拔操作是否成功。
使用 vSphere Client 验证热插拔操作是否成功
要检查热添加、热移除和意外热移除操作是否成功,可以使用 vSphere Client 进行验证。
过程
- 在 vSphere Client 中找到虚拟机。
- 选择数据中心、文件夹、集群、资源池或主机,然后单击“虚拟机”选项卡。
- 单击虚拟机,然后从列表中单击虚拟机。
- 在 PCI 设备表中,验证以下内容:
选项 描述 验证通过 vSphere API 将启用了直通的设备热添加到虚拟机是否成功。
显示热添加的直通设备。
验证通过 vSphere API 从虚拟机热移除直通设备是否成功。
不显示热移除的直通设备。
验证从 ESXi 主机对虚拟机的直通设备执行意外热移除(物理热移除)是否成功。
- 将不显示意外热移除的设备。
- 在主机视图中,
- 在 vSphere Client 中浏览到某台主机。
- 在配置选项卡上,展开硬件并单击 PCI 设备。
- 确认未显示意外热移除的设备。
使用虚拟机验证热插拔操作是否成功
要检查热添加、热移除和意外热移除操作是否成功,可以使用虚拟机进行验证。
过程
- 在虚拟机中,打开与客户机操作系统的 SSH 连接。
- 以 root 用户身份登录。
- 运行命令 lspci。
- 验证结果。
选项 描述 验证通过 vSphere API 将启用了直通的设备热添加到虚拟机是否成功。
显示热添加的直通设备。注: 直通设备的 Spotfire 二进制数据文件 (SBDF) 地址可能与主机上的地址不同。验证通过 vSphere API 从虚拟机热移除直通设备是否成功。
不显示热移除的直通设备。
验证从 ESXi 主机意外热移除(物理热移除)虚拟机的直通设备是否成功。
不显示意外热移除的设备。