了解如何使用 NVMe 存储准备 ESXi 环境。配置要求可能会因使用的 NVMe 传输类型而异。如果使用 NVMe over RDMA (RoCE v2),除了常规要求外,还必须配置无损以太网网络。
NVMe over PCIe 的要求
ESXi 存储环境必须包含以下组件:
- 本地 NVMe 存储设备。
- 兼容的 ESXi 主机。
- 硬件 NVMe over PCIe 适配器。安装该适配器后,ESXi 主机会检测到该适配器并将其作为存储适配器 (vmhba) 显示在 vSphere Client 中,且将协议指示为 PCIe。无需配置该适配器。
NVMe over RDMA (RoCE v2) 的要求
- 支持 NVMe over RDMA (RoCE v2) 传输的 NVMe 存储阵列。
- 兼容的 ESXi 主机。
- 支持无损网络的以太网交换机。
- 支持聚合以太网 RDMA (RoCE v2) 的网络适配器。要配置该适配器,请参见在 ESXi 上配置 NVMe over RDMA (RoCE v2)。
- 软件 NVMe over RDMA 适配器。必须在 ESXi 主机上启用该软件组件,并将其连接到相应的网络 RDMA 适配器。有关信息,请参见添加软件 NVMe over RDMA 或 NVMe over TCP 适配器。
- NVMe 控制器。配置软件 NVMe over RDMA 适配器后,必须添加控制器。请参见为 NVMe over Fabrics 添加控制器。
- 无损以太网。请参见为 NVMe over RDMA 配置无损以太网。
NVMe over Fibre Channel 的要求
- 支持 NVMe 的光纤通道存储阵列。有关信息,请参见将 ESXi 与光纤通道 SAN 配合使用。
- 兼容的 ESXi 主机。
- 硬件 NVMe 适配器。通常,它是支持 NVMe 的光纤通道 HBA。安装该适配器后,ESXi 主机会检测到该适配器并将其作为标准光纤通道适配器 (vmhba) 显示在 vSphere Client 中,且将存储协议指示为 NVMe。您无需配置硬件 NVMe 适配器即可进行使用。
- NVMe 控制器。无需配置该控制器。安装所需的硬件 NVMe 适配器后,它会自动连接到当前可访问的所有目标和控制器。您可以稍后断开这些控制器的连接,或者连接在主机引导期间不可用的其他控制器。请参见为 NVMe over Fabrics 添加控制器。
NVMe over TCP 的要求
- 支持 NVMe over TCP 传输的 NVMe 存储阵列。
- 兼容的 ESXi 主机。
- 以太网适配器。要配置该适配器,请参见在 ESXi 上配置 NVMe over TCP。
- 软件 NVMeover TCP 适配器。必须在 ESXi 主机上启用该软件组件,并将其连接到相应的网络适配器。有关详细信息,请参见添加软件 NVMe over RDMA 或 NVMe over TCP 适配器。
- NVMe 控制器。配置软件 NVMe over TCP 适配器后,必须添加控制器。请参见为 NVMe over Fabrics 添加控制器。
VMware NVMe over Fabrics 共享存储支持
在
ESXi 环境中,NVMe 存储设备的显示类似于 SCSI 存储设备,并且可用作共享存储。使用 NVMe-oF 存储时,请遵循以下规则。
- 请勿混合使用传输类型来访问同一个命名空间。
- 确保将活动路径提供给主机。在发现活动路径之前,无法注册命名空间。
共享存储功能 | SCSI over Fabric 存储 | NVMe over Fabric 存储 |
---|---|---|
RDM | 支持 | 不受支持 |
核心转储 | 支持 | 支持 |
SCSI-2 预留 | 支持 | 不受支持 |
集群 VMDK | 支持 | 支持 |
带多写入者标志的共享 VMDK | 支持 | 支持 (vSphere 7.0 Update 1 及更高版本)。 有关详细信息,请参见知识库文章。 |
Virtual Volumes | 支持 | 支持 在 vSphere 8.0 及更高版本中。 有关详细信息,请参见vSphere 中的 NVMe 和 Virtual Volumes。 |
具有 VAAI 插件的硬件加速 | 支持 | 不受支持 |
默认 MPP | NMP | HPP(NMP 无法声明 NVMe-oF 目标) |
为 NVMe over RDMA 配置无损以太网
ESXi 中的 NVMe over RDMA 需要使用无损以太网网络。
要建立无损网络,您可以选择一个可用的 QoS 设置。
启用全局暂停流量控制
在此网络配置中,请确保在网络交换机端口上启用了全局暂停流控制。此外,请确保主机中支持 RDMA 的网卡可自动协商以使用正确的流控制。
要检查流量控制,请运行以下命令:
#esxcli network nic get -n vmnicX Pause RX: true Pause TX: true
如果以上命令选项未设置为 true,请运行以下命令。
#esxcli network nic pauseParams set -r true -t true -n vmnicX
启用优先级流控制
要确保 RoCE 流量无损,必须在物理交换机和主机中将 PFC 优先级值配置为 3。可以通过两种方式在
ESXi 主机中配置 PFC:
- 自动配置。如果 RNIC 驱动程序支持 DCB 和 DCBx,则在主机 RNIC 上自动应用 DCB PFC 配置。
您可以通过运行以下命令验证当前的 DCB 设置:
#esxcli network nic dcb status get -n vmnicX
- 手动配置。在某些情况下,RNIC 驱动程序提供了一种使用驱动程序特定的参数手动配置 DCB PFC 的方法。要使用此方法,请参阅供应商特定的驱动程序文档。例如,在 Mellanox ConnectX-4/5 驱动程序中,可以通过运行以下命令,然后重新引导主机,将 PFC 优先级值设置为 3。
#esxcli system module parameters set -m nmlx5_core -p "pfctx=0x08 pfcrx=0x08"
启用基于 DSCP 的 PFC
基于 DSCP 的 PFC 是配置无损网络的另一种方式。在物理交换机和主机中,必须将 DSCP 值设置为 26。要使用此选项,请参阅供应商特定的驱动程序文档。例如,在 Mellanox ConnectX-4/5 驱动程序中,可以通过运行以下命令将 DSCP 标记值设置为 26。
- 启用 PFC 和 DSCP 信任模式。
#esxcli system module parameters set -m nmlx5_core -p "pfctx=0x08 pfcrx=0x08 trust_state=2"
- 将 DSCP 值设置为 26。
#esxcli system module parameters set -m nmlx5_rdma -p "dscp_force=26"
- 验证要检查的参数,以确认设置是否正确并且已设置。
esxcli system module parameters list -m nmlx5_core | grep 'trust_state\|pfcrx\|pfctx'
- 重新引导主机。