ESXi 主机上的适配器配置过程涉及到为 RDMA 网络适配器设置 VMkernel 绑定,然后添加软件 NVMe over RDMA 适配器。之后,可以添加 NVMe 控制器。

整个配置过程包括以下操作。
操作 描述
查看 RDMA 网络适配器 ESXi 主机上,安装支持 RDMA (RoCE v2) 的网络适配器。例如,Mellanox Technologies MT27700 Family ConnectX-4。

安装网络适配器后,使用 vSphere Client 查看 RDMA 适配器和物理网络适配器。

为 RDMA 适配器配置 VMkernel 绑定 NVMe over RDMA 的端口绑定包括创建交换机以及将物理网络适配器和 VMkernel 适配器连接到交换机。RDMA 适配器将通过此连接绑定到 VMkernel 适配器。在配置中,可以使用 vSphere 标准交换机或 vSphere Distributed Switch。
添加软件 NVMe over RDMA 适配器 使用 vSphere Client 激活 NVMe over RDMA 软件存储适配器。
为 NVMe over Fabrics 添加控制器 使用 vSphere Client 添加 NVMe 控制器。添加控制器后,与该控制器关联的 NVMe 命名空间将可用于您的 ESXi 主机。表示 ESXi 环境中命名空间的 NVMe 存储设备将显示在存储设备列表中。

以下视频将指导您完成配置 NVMe over RDMA 适配器的步骤。

查看 RDMA 网络适配器

ESXi 主机上安装支持 RDMA (RoCE v2) 的网络适配器后,请使用 vSphere Client 查看 RDMA 适配器和物理网络适配器。

过程

  1. ESXi 主机上,安装支持 RDMA (RoCE v2) 的适配器,例如,Mellanox Technologies MT27700 系列 ConnectX-4。
    主机将发现此适配器,并且 vSphere Client 将显示它的两个组件:一个 RDMA 适配器和一个物理网络适配器。
  2. vSphere Client 中,确认您的主机已发现 RDMA 适配器。
    1. 导航到主机。
    2. 单击配置选项卡。
    3. 网络下,单击 RDMA 适配器
      在此示例中,RDMA 适配器在列表中显示为 vmrdma0配对上行链路列会将网络组件显示为 vmnic1 物理网络适配器。

      RDMA 适配器在列表中显示为 vmrdma0。“配对上行链路”列将网络组件显示为 vmnic1。

    4. 要验证适配器的描述,请从列表中选择 RDMA 适配器,然后单击属性选项卡。

为 RDMA 适配器配置 VMkernel 绑定

NVMe over RDMA 的端口绑定包括创建交换机以及将物理网络适配器和 VMkernel 适配器连接到交换机。RDMA 适配器将通过此连接绑定到 VMkernel 适配器。在配置中,可以使用 vSphere 标准交换机或 vSphere Distributed Switch。

下图显示了 NVMe over RDMA 适配器的端口绑定。

此图显示 NVMe over RDMA 适配器的端口绑定。

有关创建交换机的详细信息,请参见《vSphere 网络连接》文档中的“创建 vSphere 标准交换机”“创建 vSphere Distributed Switch”

具有 NVMe over RDMA 的网络拓扑示例

在此示例中,两个 vSphere 标准交换机和两个上行链路(支持 RDMA 的网卡)提供了高可用性。它们连接到两个子网中的两个控制器对。

通过多个 vSwitch 和多个上行链路 (RNIC) 实现 HA

此图显示两个 vSphere 标准交换机和两个上行链路提供高可用性。

使用 vSphere 标准交换机配置 VMkernel 绑定

可以使用 vSphere 标准交换机和每个交换机一个上行链路为 RDMA 适配器配置 VMkernel 端口绑定。配置网络连接包括为各个物理网络适配器创建虚拟 VMkernel 适配器。可以在每个虚拟和物理网络适配器之间使用 1:1 映射。

过程

  1. 创建具有 VMkernel 适配器和网络组件的 vSphere 标准交换机。
    1. vSphere Client 中,选择您的主机,然后单击网络选项卡。
    2. 单击操作 > 添加网络
    3. 选择 VMkernel 网络适配器,然后单击下一步
    4. 选择新建标准交换机,然后单击下一步
    5. 分配的适配器下,单击 +
      将显示可用物理适配器的列表。
    6. 选择所需的物理适配器 vmnic,然后单击确定
      注: 确保选择与 RDMA 适配器对应的物理网络适配器。要查看 RDMA 适配器 vmrdma 与物理网络适配器 vmnic 之间的关联,请参见 查看 RDMA 网络适配器
    7. VMkernel 端口设置下,输入所需的值。
      如果要对存储路径使用 VLAN,请输入 VLAN ID。
    8. IP 设置列表中,输入 VMkernel IPv4 设置。
    9. 在“可用服务”下,选择 NVMe over RDMA
  2. 验证交换机是否已正确配置。
    1. 配置选项卡上,选择网络下的虚拟交换机
    2. 展开交换机并验证其配置。

      下图显示物理网络适配器和 VMkernel 适配器连接到了 vSphere 标准交换机。通过此连接,RDMA 适配器已绑定到 VMkernel 适配器。

      此图显示 vSphere 标准交换机的物理网络适配器和 VMkernel 适配器配置。

  3. 验证 RDMA 适配器的 VMkernel 绑定配置。
    1. 网络列表下,单击 RDMA 适配器,然后从列表中选择 RDMA 适配器。
    2. 单击 VMkernel 适配器绑定选项卡,然后验证关联的 VMkernel 适配器是否显示在页面上。
      在此示例中, vmrdma0 RDMA 适配器与 vmnic1 网络适配器进行配对并连接到 vmk1 VMkernel 适配器。

      此图显示 RDMA 适配器的 VMkernel 绑定配置。

使用 vSphere 标准交换机和网卡绑定配置 VMkernel 绑定

可以使用具有网卡绑定配置的 vSphere 标准交换机为 RDMA 适配器配置 VMkernel 端口绑定。您可以使用网卡绑定来实现网络冗余。您可以将两个或多个网络适配器(网卡)配置为一个组来提供高可用性和负载均衡。

过程

  1. 创建具有 VMkernel 适配器和采用网卡绑定配置的网络组件的 vSphere 标准交换机。
    1. vSphere Client 中,选择您的主机,然后单击网络选项卡。
    2. 单击操作 > 添加网络
    3. 选择 VMkernel 网络适配器,然后单击下一步
    4. 选择新建标准交换机,然后单击下一步
    5. 分配的适配器下,单击 +
      将显示可用物理适配器的列表。
    6. 选择所需的物理适配器 vmnic,然后将其添加到活动适配器下。
    7. 选择另一个物理适配器 vmnic,然后将其添加到未用的适配器下。
    8. VMkernel 端口设置下,输入所需的值。
      如果要对存储路径使用 VLAN,请输入 VLAN ID。
    9. IP 设置列表中,指定 VMkernel IPv4 设置。
    10. 在“可用服务”下,选择 NVMe over RDMA
    重复步骤 1 以配置现有标准交换机。
  2. 为交换机配置网卡绑定配置。
    1. 单击配置选项卡,然后选择网络下的虚拟交换机
    2. 选择相应的 VMkernel 适配器。
    3. 从右键单击菜单中,单击编辑设置
    4. 选择绑定和故障切换
    5. 活动适配器下,移动所需物理适配器 vmnic
    6. 备用适配器 > 故障切换顺序下,移动其他物理适配器。
    7. 设置合适的负载平衡和其他属性。
    8. 重复上述步骤以配置其他 VMkernel 适配器。
  3. 重复步骤 1 和 2,添加并配置一组额外的绑定 rnic。要验证适配器是否已配置,请单击配置选项卡,然后选择 VMkernel 适配器

使用 vSphere Distributed Switch 配置 VMkernel 绑定

可以使用 vSphere Distributed Switch 按每个交换机分配一个上行链路的方式为 RDMA 适配器配置 VMkernel 端口绑定。配置网络连接包括为各个物理网络适配器创建虚拟 VMkernel 适配器。可以在每个虚拟和物理网络适配器之间使用 1:1 映射。

过程

  1. 创建具有 VMkernel 适配器和网络组件的 vSphere Distributed Switch。
    1. vSphere Client 中,选择数据中心,然后单击网络选项卡。
    2. 单击操作,然后选择 Distributed Switch > 新建 Distributed Switch
    3. 选择交换机的名称。
      确保主机中存在数据中心的位置,然后单击 下一步
    4. 选择兼容的 ESXi 版本,然后单击下一步
    5. 输入所需的上行链路数,然后单击完成
  2. 将一个或多个主机添加到分布式虚拟交换机。
    1. vSphere Client 中,选择数据中心,然后单击 Distributed Switch
      此时将显示可用 DSwitch 的列表。
    2. 右键单击 DSwitch,然后从菜单中选择添加和管理主机
    3. 选择添加主机,然后单击下一步
    4. 选择您的主机,然后单击下一步
    5. 选择分配上行链路
    6. 输入相关上行链路以分配 vmnic
    7. 分配 VMkernel 适配器,然后单击下一步
    8. vSphere Client 中,选择 DSwitch,然后单击端口选项卡。
      您可以在此处查看为交换机创建的上行链路。
  3. 为 NVMe over RDMA 存储路径创建分布式端口组。
    1. vSphere Client 中,选择所需的 DSwitch。
    2. 单击操作,然后选择分布式端口组 > 新建分布式端口组
    3. 配置设置下,输入端口组的常规属性。
      如果配置了特定的 VLAN,请将其添加到 VLAN ID 中。
      注: 如果未正确配置 VLAN,则可能会出现网络连接问题。
  4. 配置 VMkernel 适配器。
    1. vSphere Client 中,展开 DSwitch 列表,然后选择分布式端口组。
    2. 单击操作 > 添加 VMkernel 适配器
    3. 选择成员主机对话框中,选择您的主机,然后单击确定
    4. 配置 VMkernel 适配器对话框中,确保 MTU 与交换机 MTU 匹配。
    5. 可用服务下,选择 NVMe over RDMA 以进行适当的标记。
    6. 单击完成
    7. 重复步骤 b 和步骤 c,添加多个支持 RDMA 的网卡。
  5. 为分布式端口组设置网卡绑定策略。
    1. 分布式端口组中,单击操作 > 编辑设置
    2. 单击绑定和故障切换,然后验证活动上行链路。
    3. 将一个上行链路分配为端口组的活动上行链路,将另一个上行链路分配为未使用
      对创建的每个端口组重复步骤 c。

下一步做什么

完成配置后,单击 配置,然后验证主机上的物理适配器选项卡是否列出所选网卡的 DVSwitch。

添加软件 NVMe over RDMA 或 NVMe over TCP 适配器

ESXi 支持 NVMe over RDMA 和 NVMe over TCP 软件适配器。可以使用 vSphere Client 为 NVMe over RDMA 或 NVMe over TCP 添加软件存储适配器。

前提条件

过程

  1. vSphere Client 中,导航到 ESXi 主机。
  2. 单击配置选项卡。
  3. 存储下,依次单击存储适配器添加软件适配器图标。
  4. 根据需要选择适配器类型。
    • NVMe over RDMA 适配器
    • NVMe over TCP 适配器
  5. 根据第 4 步中的选择,从下拉菜单中选择相应的 RDMA 适配器或 TCP 网络适配器 (vmnic)。
    注: 如果收到错误消息阻止您创建软件适配器,请确保已正确配置适配器的 VMkernel 绑定。有关详细信息,请参见 为 RDMA 适配器配置 VMkernel 绑定为 NVMe over TCP 适配器配置 VMkernel 绑定

结果

NVMe over RDMA 和 NVMe over TCP 软件适配器将作为 vmhba 存储适配器显示在列表中。如果需要释放底层 RDMA 和 TCP 网络适配器用于其他目的,则可以移除这些适配器。请参见 从 ESXi 主机中移除软件 NVMe 适配器

为 NVMe over Fabrics 添加控制器

使用 vSphere Client 添加 NVMe 控制器。添加控制器后,与该控制器关联的 NVMe 命名空间将可用于您的 ESXi 主机。表示 ESXi 环境中命名空间的 NVMe 存储设备将显示在存储设备列表中。

前提条件

注: 对于 NVMe over Fibre Channel,在安装所需的适配器后,它会自动连接到当前可访问的所有目标。您可以稍后重新配置适配器并断开其控制器连接,或者连接在主机引导期间不可用的其他控制器。

过程

  1. vSphere Client 中,导航到 ESXi 主机。
  2. 单击配置选项卡。
  3. 存储下,单击存储适配器,然后选择要配置的适配器 (vmhba#)。
  4. 单击控制器选项卡,然后单击添加控制器
  5. 添加控制器对话框中,选择以下发现方法之一。
    选项 描述
    自动 此选项表示主机可以自动发现控制器并接受与任何可用控制器的连接。
    1. 指定以下参数以发现控制器。
      • 对于 NVMe over RDMA (RoCE v2),指定 IP 地址和传输端口号。
      • 对于 NVMe over TCP,指定 IP 地址、传输端口号和摘要参数。
    2. 单击发现控制器
    3. 从控制器列表中,选择要使用的控制器。
    手动 使用此方法,您可以手动输入控制器详细信息。主机请求使用您指定的参数连接到特定控制器:
    • 子系统 NQN
    • 目标端口标识。
      • 对于 NVMe over RDMA (RoCE v2),指定 IP 地址和传输端口号(可选)。
      • 对于 NVMe over TCP,指定 IP 地址、传输端口号(可选)和摘要参数(可选)。
      • 对于 NVMe over Fibre Channel,指定 WorldWideNodeName 和 WorldWidePortName。
    • 管理队列大小。指定控制器的管理队列大小的可选参数。默认值为 16。
    • 保持活动超时。一个可选参数,用于指定适配器与控制器之间的保持活动状态超时(以秒为单位)。默认超时值为 60 秒。
    注: “IO 队列大小”和“IO 队列编号”是可选参数,只能通过 esxcli 设置。

结果

控制器将显示在控制器列表中。现在,您的主机可以发现与该控制器关联的 NVMe 命名空间。表示 ESXi 环境中命名空间的 NVMe 存储设备将显示在 vSphere Client 中的存储设备列表上。