RDG:在 VMware vSphere 7.0 中使用 Pavilion 存储配置 NVMe-oF RoCE 数据存储

创建于 2020 年 10 月 5 日。本文档介绍如何在 VMware vSphere 7.0 中使用 Pavilion Hyperparallel Flash Array 系统,通过 NVIDIA Mellanox 端到端 100 Gb/s 以太网解决方案配置 NVMe-oF RoCE 数据存储。

文档目录

Created on Oct 5, 2020

Scope

本文档介绍如何在 VMware vSphere 7.0 中使用 Pavilion Hyperparallel Flash Array 系统,通过 NVIDIA Mellanox 端到端 100 Gb/s 以太网解决方案配置 NVMe-oF RoCE 数据存储。

Abbreviations and Acronyms

Term Definition Term Definition
DAC Direct Attached Cable RDMA Remote Direct Memory Access
DHCP Dynamic Host Configuration Protocol RoCE RDMA over Converged Ethernet
HFA Hyperparallel Flash Array QSG Quick Start Guide
NOS Network Operation System vDS vSphere Distributed Switch
NVMe Non-Volatile Memory express VM Virtual Machine
NVMe-oF RoCE NVMe over Fabrics over RoCE

Introduction

vSphere 7.0 新增了一项功能,可大幅提升 I/O 密集型虚拟机(如数据库或商业智能)的性能——NVMe over Fabrics (NVMe-oF)。

借助 NVMe-oF 软件,现在可以虚拟化以前需要在裸机上运行的 I/O 密集型工作负载。

NVMe-oF 还可以提高传统虚拟机的性能,允许在同一硬件上运行更多虚拟机。

Pavilion HFA 是首批通过 VMware 认证、可与 vSphere 7.0 配合使用的 NVMe-oF 全闪存阵列之一。

在本文档中,我们将介绍如何通过 NVIDIA Mellanox 端到端 100 Gb/s 以太网解决方案,在 VMware vSphere 7.0 中配置位于 Pavilion HFA 上的 NVMe-oF RoCE 数据存储。

将使用 HCI Bench v2.5.1 VDBENCH 进行基准测试,以展示在相同硬件上基于 RDMA 的 NVMe-oF 与 iSCSI 协议之间的性能提升。

References

Solution Architecture

Key Components and Technologies

  • NVMe-oF over RoCE support for VMware NVMe-oF(即 NVMe over Fabrics)是一种协议规范,旨在通过使用 NVMe 协议的网络结构将主机连接到存储。 VMware 增加了对使用 NVMe-oF 的共享 NVMe 存储的支持。对于外部连接,vSphere 7.0 支持 NVMe over RDMA。ESXi 主机可以使用 RDMA over Converged Ethernet v2 (RoCE v2)。

  • NVIDIA Cumulus Linux Cumulus Linux 是唯一一款开放网络操作系统,可让您像全球最大的数据中心运营商一样经济高效地构建和高效运营网络,为各种规模的企业解锁 Web 规模网络。

  • NVIDIA MELLANOX CONNECTX SMARTNICS 业界领先的 ConnectX® 系列智能数据中心网卡提供最广泛、最先进的硬件卸载功能。NVIDIA® 以太网网卡可为超大规模、公有云和私有云、存储、机器学习、AI、大数据和电信平台提供最高的 ROI 和最低的 TCO,每个端口的以太网数据速率可达 10GbE、25GbE、40GbE、50GbE、100GbE 和 200GbE。

  • NVIDIA Mellanox Spectrum Open 以太网交换机 Mellanox Spectrum® 交换机系列为数据中心应用日益增长的性能需求提供了最高效的网络解决方案。Spectrum 产品系列包括广泛的架顶式 (TOR) 和汇聚交换机,物理端口数量从 16 到 128 个不等,每个端口的以太网数据速率可达 1GbE、10GbE、25GbE、40GbE、50GbE、100GbE 和 200GbE。Spectrum 以太网交换机非常适合构建经济高效且可扩展的数据中心网络结构,可从几个节点扩展到数万个节点。

  • NVIDIA Mellanox LinkX Ethernet Cables and Transceivers Mellanox LinkX® 线缆和收发器使 100Gb/s 部署变得像 10Gb/s 链路一样简单和通用。由于 Mellanox 提供业界最广泛的 10、25、40、50、100 和 200Gb/s 直连铜缆 (DAC)、铜缆分支线缆、有源光缆 (AOC) 和收发器产品组合,因此可支持从 0.5m 到 10km 的每个数据中心距离。为了最大限度地提高系统性能,Mellanox 在端到端环境中测试每个产品,确保误码率低于 1e-15。1e-15 的 BER 比许多竞争对手好 1000 倍。

  • Pavilion Hyperparallel Flash Array Pavilion Hyperparallel Flash Array 是业界功能最强大、性能最高的解决方案之一,可在所有人都能触及的范围内提供实时性能。

Logical Design

image2020-12-13_13-44-58.png

Software Stack Components

本指南假定已安装以下软件和驱动程序:

  • VMware ESXi 7.0.1, build 16850804
  • vCenter 7.0.1, build 17005016
  • Distributed Switch 7.0.0
  • VM Guest OS: Ubuntu 18.04.3
  • VM Hardware Version: 18

作为网络操作系统 (NOS),我们将使用:

  • NVIDIA Cumulus Linux: 4.1.1

作为存储系统,我们将使用 Pavilion Hyper Parallel Flash Array (HFA),采用 NVMe over RoCE 协议。

  • Pavilion Data System: 2.3.3.0_11378

Bill of Materials

本指南中描述的 vSphere 环境使用以下硬件设置:

image2020-12-28_16-38-29.png

Deployment and Configuration

Wiring

布线

本文档涵盖高可用性 VMware vSphere 集群部署。

image2020-12-13_14-19-9.png

网络

前提条件

  • 交换机操作系统 NVIDIA Cumulus Linux 4.1.1
  • 网卡 ConnectX-5 及以上版本,支持 RoCE。
  • NVMe-oF 要求: ESXi 服务器中需配备支持 RDMA 的以太网网卡(RNIC),且 MTU 为 9000(巨型以太网帧)。
  • 管理网络 需要 DHCP 和 DNS 服务。组件的安装和配置不在本指南范围内。

网络配置

下表提供了 ESXi 服务器、交换机和存储系统的名称及其网络配置详情。

需要 2 个端口组NVMe-RoCE-ANVMe-RoCE-B)来支持主/备 NVMe-oF 连接,作为到存储系统的多路径。

在我们的环境中,Pavilion 存储配置为 5 个双控制器,每个控制器有 2 个 IO 端口(共 20 个端口)。

服务器 服务器名称 IP 和网卡
高速以太网网络
ESXi-01 qavmw-235 vmk1: 172.101.10.35 (NVMe-RoCE-A)vmk2: 172.101.20.35 (NVMe-RoCE-B)vmk3: 172.101.2.135 (vMotion-DPG)
ESXi-02 qavmw-237 vmk1: 172.101.10.37 (NVMe-RoCE-A)vmk2: 172.101.20.37 (NVMe-RoCE-B)vmk3: 172.101.2.37 (vMotion-DPG)
ESXi-03 qavmw-239 vmk1: 172.101.10.39 (NVMe-RoCE-A)vmk2: 172.101.20.39 (NVMe-RoCE-B)vmk3: 172.101.2.39 (vMotion-DPG)
交换机 sw-qa-sx-053
存储 qa-pavilion10 双控制器 - C1100g-1/1: 172.10.10.106 (Controller11)100g-1/2: 172.10.20.106 (Controller11)100g-1/3: 172.10.10.101 (Controller1)100g-1/4: 172.10.20.101 (Controller1)双控制器 - C2100g-2/1: 172.10.10.107 (Controller12)100g-2/2: 172.10.20.107 (Controller12)100g-2/3: 172.10.10.102 (Controller2)100g-2/4: 172.10.20.102 (Controller2). . .双控制器 - C5100g-5/1: 172.10.10.110 (Controller15)100g-5/2: 172.10.20.110 (Controller15)100g-5/3: 172.10.10.105 (Controller5)100g-5/4: 172.10.20.105 (Controller5)

RoCE 传输的网络交换机配置

NVIDIA Cumulus Linux 网络操作系统

RoCE 传输用于加速 NVMe 网络。为获得最佳效果,我们将网络配置为无损

在两台 Leaf 交换机上运行以下命令,为 NVIDIA Cumulus 4.1.1 及以上版本配置无损网络:

交换机控制台
net add interface swp13-32 storage-optimized pfc
net commit

左 Leaf 交换机上,通过运行以下命令将 VLAN 10 添加到 端口 13-32

交换机控制台
net add interface swp13-32 bridge trunk 10
net add interface swp13-32 bridge trunk vlans 10
net commit

右 Leaf 交换机上,通过运行以下命令将 VLAN 20 添加到 端口 13-32

交换机控制台
net add interface swp13-32 bridge trunk 20
net add interface swp13-32 bridge trunk vlans 20
net commit

存储

前提条件

要设置 Pavilion HFA 环境,需要满足以下条件:

  • 连接到控制台和管理接口。
  • 安装程序权限:安装需要在目标机器上具有管理员权限
  • 高速网络连接。

使用 GUI 配置 NVMe over RoCE

以下是使用 GUI 配置 Pavilion 控制器以支持 NVMe over RoCE 的详细步骤说明。

  1. 登录 Pavilion GUIConfiguring NVMe over RoCE 1.PNG

  2. 导航到 System > IO ControllerConfiguring NVMe over RoCE 2.PNG

  3. 配置控制器 12 以支持 NVMe Over RoCEConfiguring NVMe over RoCE 3.PNG

    警告:所有

controllers by default are configured for NVMe Over RoCE.

 To change protocol type for a controller, **select** the **controller** and **click** on **Configure** button displayed at the top-right corner of the page.
  1. Select the Protocol as NVMe over RoCE and click OK.

    Configuring NVMe over RoCE 4.PNG

  2. To assign a DataPort IP address for Pavilion controller.

    Select any available DataPort slot for controller 1 and click Set IP.

    Configuring NVMe over RoCE 5.PNG

  3. On the Set DataPort IP dialog box set IP address and Netmask.

    Configuring NVMe over RoCE 6.PNG

  4. Repeat steps 5 and 6 to assign a DataPort IP address for second DataPort (Sample: 172.10.20.101). image2020-11-23_13-22-20.png

  5. Repeat the above steps to configure protocol and assign IP address for all the controllers.

Creating Datastore Volumes on the Pavilion HFA

Note: Before creating volumes, ensure that controllers are configured for RoCE and media groups are created.

To create Datastore volumes:

  1. Navigate to Storage>Volumes>Create Volume.

    Configuring NVMe over RoCE 7.PNG

  2. On the Volumes page, click Create button to create a volume. Configuring NVMe over RoCE 8.PNG

  3. Fill in the details in the Create Volumes page.

    Warning: Check the Enable 512e format and Discover storage entity by name checkbox. As, VMFS requires 512-byte emulated sectors to function

    Configuring NVMe over RoCE 9.PNG

  4. Subsequently, new volume is created. Pavilion-Creating Datastore Volumes Configuring NVMe over RoCE 11.PNG

Assigning the Datastore Volumes for High Availability

Once the volume is created, it needs to be assigned to a pair of controllers to serve as active and passive controllers for High Availability.

  1. Select the volume just created and use the Pavilion GUI navigate to: Storage>Volumes>Assign.

    Configuring NVMe over RoCE 12.PNG

  2. On the Assign Volumes dialog box, tick the boxes.

    Warning: Make a note of the two IP addresses present (one from each controller), as these are required to configure the ESXi server.

    Configuring NVMe over RoCE 13.PNG

  3. The volume is assigned, and volume state is changed from unassigned to online, see image below:

    Configuring NVMe over RoCE 14.PNG

    Configuring NVMe over RoCE 15.PNG

    Warning: Save the Sub NQN.

  4. At this point the volume will be visible on the network via two different IPs and the ESXi servers can be set up.

ESXi Host Configuration

Prerequisites

  • VMware vSphere ESXi 7.0.0 or later.
  • vCenter 7.0.0 or later.
  • Installer privileges: The installation requires administrator privileges on the target machine.
  • Connection to ESXi host management interface.
  • High speed network connectivity.

Firstly, we need to create a vSphere Distributed Switch (vDS) with 2 distributed port groups with one Active and Standby uplink.

Creating a Distributed Switch for Storage Traffic

To create a new vDS:

  1. Launch the vSphere Web Client and connect to a vCenter Server instance. image2020-11-23_14-4-4.png

  2. On the vSphere Web Client home screen, select the vCenter object from the list on the left. Hover over the Distributed 交换机 from the Inventory Lists area, then click New Distributed Switch (see image below) to launch the New vDS creation wizard:

Create Distributed Switch 1.PNG

  1. 提供分布式交换机的名称,并选择要在 vCenter 清单中存储新 vDS 的位置(数据中心对象或文件夹)。 点击下一步Create Distributed Switch 2.PNG

  2. 选择要创建的 vDS版本Create Distributed Switch 3.PNG

  3. 指定上行链路端口数为 2取消选中创建默认端口组”框,并为该组命名。 Create Distributed Switch 4.PNG

  4. 点击完成Create Distributed Switch 5.PNG

  5. 设置新创建的分布式交换机的 MTU。 选择创建的交换机,转到操作并点击编辑设置Set MTU 9000 1.PNG

    Storage-DSwitch-Edit Settings 对话框中,设置 MTU9000发现协议链路层发现协议操作两者Set MTU 9000 2.PNG

将主机添加到 vDS

要将 ESXi 主机添加到现有 vDS:

  1. 启动 vSphere Web Client,并连接到 vCenter Server 实例。

  2. 导航到分布式交换机列表。

  3. 右键单击对象列表中的新分布式交换机,然后从操作菜单中选择添加和管理主机Add and Manage Hosts 1.PNG

  4. 选择添加主机”按钮,然后点击下一步Add and Manage Hosts 2.PNG

  5. 点击新主机”绿色加号图标以添加 ESXi 主机。这将打开“选择新主机”对话框。 Add and Manage Hosts 3.PNG

  6. 从新主机列表中,勾选添加vDS 的每个 ESXi 主机名称旁边的Add and Manage Hosts 4.PNG

    完成后点击确定,然后点击下一步继续。 Add and Manage Hosts 5.PNG

  7. 在下一个管理物理适配器屏幕中,配置 ESXi 主机中的 vmnic6 作为上行链路 1

for vDS.

Add and Manage Hosts 6.PNG

  1. On the Select an Uplink dialog box, select the Uplink. Make sure to check the Apply this uplink assignment to the rest of the hosts checkbox.

    Add and Manage Hosts 7.PNG

  2. Repeat steps 7 and 8 to Configure vmnic7 in a ESXi host as an Uplink 2 for vDS and click OK.

  3. Verify NICs are assigned to Uplinks and click NEXT.

    Add and Manage Hosts 10.PNG

  4. In the next Manage VMkernel adapters and Migrate VM networking screen click NEXT to continue.

    Add and Manage Hosts 11.PNG

    Add and Manage Hosts 12.PNG

  5. Click FINISH.

    Add and Manage Hosts 13.PNG

Creating Distributed Port Groups for Storage Traffic

This section lists the steps required to create 2 distributed port groups with one Active and Standby uplink.

  1. Adding VMkernel 网卡 for Distributed Port Groups Right click on Distributed switch and select Distributed Port Group > New Distributed Port Group.

    Creating Distributed Port Groups 1.PNG

  2. On the New Distributed Port Group dialog box, enter Name as and click on Next.

    Creating Distributed Port Groups 2.PNG

  3. Check Customize default policies configuration checkbox and click Next.

    Creating Distributed Port Groups 3.PNG

  4. On the Security dialog box, click NEXT.

    Creating Distributed Port Groups 4.PNG

  5. On the Traffic shaping dialog box, click NEXT.

    Creating Distributed Port Groups 5.PNG

  6. On the Teaming and failover dialog box select Uplink 1 as active uplink and set Uplink 2 to standby uplink. Click NEXT.

    Creating Distributed Port Groups 6.PNG

  7. On the Monitoring dialog box set NetFlow to Disabled, and click NEXT.

    Creating Distributed Port Groups 7.PNG

  8. On the Miscellaneous dialog box set Block All Ports to No, and click NEXT.

    Creating Distributed Port Groups 8.PNG

  9. On the Ready to complete dialog box review all the changes before you click Finish.

    Creating Distributed Port Groups 9.PNG

  10. Repeat steps 1 and 9 to create second Distributed Port Group for Storage Traffic with: The Second Port Group Name

    Creating Distributed Port Groups 10.PNG

    And in the Teaming and failover dialog box select Uplink 2 as active uplink and set Uplink 1 to standby uplink.

    Creating Distributed Port Groups 11.PNG

Note: The same steps are applicable for both the port groups.

To add VMkernel 网卡 for distributed port groups please execute following steps.

  1. Right click the distributed port group and select Add VMkernel 网卡.

Adding VMkernel 网卡 1.PNG

Adding VMkernel 网卡 8.PNG

  1. 单击添加主机。

    Adding VMkernel 网卡 2.PNG

  2. 选择主机并单击确定。

    Adding VMkernel 网卡 3.PNG

  3. 在选择主机对话框中单击下一步。

    Adding VMkernel 网卡 4.PNG

  4. 将 MTU 设置为 9000,然后单击下一步。

    Adding VMkernel 网卡 5.PNG

    Adding VMkernel 网卡 12.PNG

  5. 输入网络设置和网关详细信息,然后单击下一步。

    Adding VMkernel 网卡 6.PNG

    Adding VMkernel 网卡 13.PNG

  6. 单击完成。

    Adding VMkernel 网卡 7.PNG

    Adding VMkernel 网卡 14.PNG

完成所有 ESXi 集群网络配置后,可以在分布式交换机 > 配置 > 拓扑选项卡下验证配置。

Adding VMkernel 网卡 15.PNG

VMware 软件 NVMe over RDMA 存储适配器配置

要访问 Pavilion 卷,用户需要创建软件 NVMe over RDMA 存储适配器。

  1. 导航到主机和集群,选择 ESXi 主机,选择配置选项卡,找到存储部分,然后选择存储适配器。 单击添加软件适配器

    VMware RDMA Client Mounting 2.PNG

  2. 在添加软件适配器对话框中,选择添加软件 NVMe over RDMA 适配器,并选择 RDMA 设备,例如:vmrdma2。单击确定

    VMware RDMA Client Mounting 3.PNG

  3. 存储适配器 > 配置选项卡上,验证 DMA 存储适配器 vmhba64 已添加。

    VMware RDMA Client Mounting 4.PNG

  4. 下一步,选择添加软件 NVMe over RDMA 适配器以添加第二个 RDMA 适配器(示例:vmrdma3)

    VMware RDMA Client Mounting 5.PNG

  5. 存储适配器 > 配置选项卡上,验证 DMA 存储适配器 vmhba65 已添加。

  6. 重复步骤 3 到步骤 6,为集群中的所有主机配置 VMware NVMe over RDMA 存储适配器。

NVMe-oF 卷连接

下一步,需要连接到 NVMe-oF 卷。

  1. 要连接到 NVMe-oF 卷,选择集群中的任意主机,选择新生成的 vmhba,并使用页面底部的控制器选项卡添加控制器

  2. 您可以自动发现控制器或手动输入控制器详细信息。在此实例中,控制器是自动发现的。 输入控制器 IP、端口,然后单击发现控制器

    VMware RDMA Client Mounting 7.PNG

  3. 添加控制器对话框中,选择 NQN ...f93,然后单击添加

    VMware RDMA Client Mounting 8.PNG

  4. 验证与 IP 地址为 172.10.10.101 的控制器的连接已建立。

    VMware RDMA Client Mounting 9.PNG

  5. 现在通过另一个控制器 IP 地址进行连接。选择 NQN,然后单击添加

    VMware RDMA Client Mounting 11.PNG

  6. 如下所示,已建立通过主动和备用控制器的连接。

    VMware RDMA Client Mounting 10.PNG

VMware RDMA Client Mounting 11a.PNG

  1. 验证 PathsVMware RDMA Client Mounting 12.PNG

  2. 验证 Host 到 NVMe 设备的连接。 VMware RDMA Client Mounting 13.PNG

  3. 类似地,您可以连接到 ESX 集群中的所有主机,并验证主机是否能看到 NVMe 设备。

多路径配置

  1. 添加控制器后,导航到 Storage > Storage devices,然后选择 NVMe 设备,点击 Edit Multipathing,如下图所示页面右下角。 VMware RDMA Client Mounting 15.PNG

  2. 选择 vmhba(状态为 Active (I/O)),并将 Path selection policy 设置为 FIXEDimage2020-11-25_12-13-35.png

  3. 类似地,为 ESX 集群中的 所有主机 配置 多路径

在 Pavilion HFA 中验证启动器

要验证 Pavilion HFA 启动器,请登录 Pavilion GUI,导航到 Storage > Volumes,并在选择卷时查看页面底部的 Initiators 选项卡。 VMware RDMA Client Mounting 17.PNG

VMFS 文件系统和数据存储创建

要创建数据存储和 VMFS 文件系统:

  1. 登录 VMware® vSphere™ 客户端。

  2. 在 vCenter 中,点击 storage 图标。 Creating VMFS FS and DS 1.PNG

  3. 导航到 Actions > Storage > New DatastoreCreating VMFS FS and DS 2.PNG

  4. 在 New Datastore 对话框中,选择 Select Datastore TypeVMFS,然后点击 NEXTCreating VMFS FS and DS 3.PNG

  5. 输入 Datastore name,然后点击 NEXTCreating VMFS FS and DS 4.PNG

  6. 选择 VMFS Version,然后点击 NEXTCreating VMFS FS and DS 5.PNG

  7. 指定分区配置,然后点击 NEXTCreating VMFS FS and DS 6.PNG

  8. 验证数据存储信息,然后点击 FINISHCreating VMFS FS and DS 7.PNG

  9. 现在,验证新数据存储 NVME-Datastore 已创建并可供使用。 Creating VMFS FS and DS 8.PNG

向虚拟机添加 NVMe-oF 磁盘

作为经验法则,对于 I/O 密集型工作负载,只要客户操作系统支持 NVMe 技术,虚拟机的虚拟磁盘应使用 VMware vNVMe Controller 连接,而不是标准的 VMware SCSI 或 SATA 控制器。

现代 Microsoft Windows Server 和 Linux 发行版都原生支持 NVMe,因此对于新部署来说这不是问题。但是,对于不支持 NVMe 的旧版 Microsoft Windows Server 发行版,VMware 半虚拟化 SCSI 或 SATA,甚至模拟的 LSI SATA 控制器仍然可以工作,但性能潜力会降低。

要继续创建 VM,请确保选择 Pavilion 数据存储。本节列出了执行该操作的步骤。

  1. VMware® vSphere™ 中导航回 Host and Clusters关闭 VM 电源,然后右键单击 Virtual Machineimage2020-11-25_12-40-24.png

  2. Virtual Hardware 中,点击 ADD NEW DEVICE,然后选择 网卡image2020-11-25_12-43-42.png

  3. New Network 设置为 Browse,选择 Network,然后点击 NEXTimage2020-11-25_12-50-42.png image2020-11-25_12-51-28.png

  4. 添加新的 Hard Disk 并指定 size。点击 OKimage2020-11-25_12-53-13.png

  5. 选择 ADD NEW DEVICE

button and select NVMe Controller. Click OK.

image2020-11-25_12-55-27.png

  1. Open the New Hard Disk line item and select the new NVMe controller just added. Click OK.

image2020-11-25_12-58-4.png

  1. Power On the VM.

  2. With the virtual NVMe controller, the hard drives will not appear in Linux under the typical /dev/sd[a-z] or /dev/hd[a-z] device nodes. Instead, they appear under the new device nodes /dev/nvme0n1. To verify the same, enter the following command:

    VM console

    nvme list
    

    Optimizing VMs for NVMe-oF DS 16.PNG

Disconnecting from a NVMe Datastore

The following steps are required to disconnect from a NVMe datastore.

  1. Login to vCenter and navigate to VMs and Templates.

    Disconnecting from a NVMe DS 1first.PNG

  2. Power Off the VM.

    Disconnecting from a NVMe DS 1.PNG

  3. Change Hard disk 2 NVMe controller controller to SCSI controller.

    image2020-11-25_17-2-51.png

  4. Remove the VM Network adapter 2.

    image2020-11-25_17-0-59.png

  5. Migrate the VM to another Datastore.

    image2020-11-25_16-50-38.png image2020-11-25_16-52-12.png image2020-11-25_16-58-58.png

  6. Navigate to Storage. Right click the datastore and select Unmount Datastore,

    Disconnecting from a NVMe DS 2.PNG

  7. Select all the Hosts in the cluster and click OK.

    Disconnecting from a NVMe DS 3.PNG

  8. Select the datastore and right click to Delete Datastore.

    Disconnecting from a NVMe DS 4.PNG

  9. Make sure VMs are migrated to another datastore before you click YES.

    Disconnecting from a NVMe DS 5.PNG

  10. From any host in the cluster navigate to Storage 网卡, select the NVMe device and click Detach.

    Caution: Be cautious before you proceed with the step.

    Disconnecting from a NVMe DS 6.PNG

  11. On the Detach Device dialog box, select all the hosts in the ESXi Cluster.

    Disconnecting from a NVMe DS 7.PNG

  12. For each vmhba select the controllers and click Remove.

    Caution: Be cautious before you proceed with the step. Click REMOVE.

    Disconnecting from a NVMe DS 8.PNG

  13. Perform above steps to Remove controllers for the second adapter vmhba65.

    Disconnecting from a NVMe DS 9.PNG

  14. In a similar manner, Remove Controllers from all hosts in the ESX cluster.

Done!

Appendix

Test Environment

Hardware and Software Components

硬件和软件组件

被测主机:

  • Dell PowerEdge™ R740 主机,配备 2 个 Intel® Xeon® Gold 5218R CPU(每个 20 核,2.10 GHz),96GB 内存。
  • 双端口 NVIDIA ConnectX®-6 Dx 网卡,使用默认驱动程序版本。
  • VMware ESXi™ 7.0 Update 1

Pavilion HFA:

  • Pavilion HFA v2.3.3.0_11378

网络:

  • NVIDIA Spectrum® SN3700 开放式以太网交换机
    • Cumulus Linux 4.2 网络操作系统
  • NVIDIA MCP1650-H001E30 无源铜缆 InfiniBand HDR,最高 200Gb/s QSFP56 LSZH 1m 黑色拉片 30AWG

虚拟机与基准配置

我们使用 HCI Bench v2.5.1 VDBENCH 基准测试工作负载,在以下虚拟机(Ubuntu 18.04)和 VDBENCH 参数配置下测量性能:

image2020-12-28_17-0-45.png

性能结果

HCI Bench 使用随机读取和随机写入 IO 模式,IO 大小从 4 KB 到 512 KB。 我们比较了 Pavilion HFA 上 NVMe over RoCE 和 iSCSI 目标的 IOPS、吞吐量和延迟。 基准测试将虚拟磁盘放置在两个包含 10 个控制器的介质组上。

image2020-12-28_18-47-39.png

image2020-12-28_18-54-24.png

image2020-12-28_18-54-40.png

注意: 这些结果是在我们的实验室配置下使用 VDBENCH 基准测试获得的。其他配置、ESXi 服务器数量下的性能可能会有所不同。

结论

本性能研究中的基准测试结果表明,对于所有测试的块大小,NVMe over RoCE 协议始终优于 iSCSI,并且 NVMe over RoCE 能够实现两倍的 IOPS 和 50% 以上的吞吐量,同时延迟更低。 NVMe over RoCE 还允许在同一硬件上运行更多虚拟机。

作者

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