Elastic VMware Service and Everpure Cloud Dedicated NVMe-TCP Implementation Guide

Everpure Cloud Dedicated for AWS

Audience
Public
Technology Integrations
Amazon Web Services (AWS)
Source Type
Documentation

This implementation guide outlines the detailed steps required to deploy Everpure Cloud Dedicated on AWS, establish NVMe-TCP connectivity between Everpure Cloud Dedicated and Elastic VMware Service (EVS), and configure for optimal performance. It also includes integration points and best practices for ensuring a reliable and efficient deployment of both solutions.

Introduction

Elastic VMware Service (EVS) is an AWS-managed service that enables customers to deploy a fully functional VMware Cloud Foundation environment directly within their own Amazon Virtual Private Cloud (VPC). This integration offers the flexibility to connect seamlessly with native AWS services while preserving the operational consistency and feature set familiar to VMware administrators. Furthermore, the offering can be connected to on-premises VMware and Everpure FlashArray environments to facilitate data migration, disaster recovery, and other use cases.

This implementation guide outlines the detailed steps required to deploy Everpure Cloud Dedicated for AWS, establish connectivity between Everpure Cloud Dedicated and Elastic VMware Service (EVS), and configure for optimal performance. It also includes integration points and best practices for ensuring a reliable and efficient deployment of both solutions.

Everpure recommends using NVMe over TCP (NVMe-TCP) as the preferred storage transport protocol. NVMe-TCP is a modern, high-performance storage fabric that provides enhanced resiliency and throughput while simplifying deployment and management. It works out of the box with minimal configuration, making it the ideal choice for connecting Everpure Cloud Dedicated to EVS. Leveraging NVMe-TCP ensures customers achieve maximum efficiency, low latency, and seamless integration without the need for specialized networking hardware or protocols.

Deploy Everpure Cloud Dedicated for AWS

Deploy Everpure Cloud Dedicated into the same Amazon VPC as your Elastic VMware Service (EVS) instance. In addition to being in the same VPC, it is essential to deploy Everpure Cloud Dedicated in the same Availability Zone (AZ) as EVS. This colocation ensures optimal performance by minimizing network latency and reducing the number of data hops between services.

Follow the standard Everpure Cloud Dedicated deployment guide to complete the installation within your AWS environment.

Configure Everpure Cloud Dedicated with NVMe-TCP

Switch Everpure Cloud Dedicated Array from iSCSI to NVMe-TCP (required)

When a Everpure Cloud Dedicated array is initially deployed the default storage protocol in use is iSCSI. This can be easily switched to NVMe-TCP via connecting to the array via SSH and running a single command. The steps to do so are outlined below.

  1. SSH into the Everpure Cloud Dedicated array.

    Note: As a security measure, using the default pureuser login to access Everpure Cloud Dedicated via SSH requires an SSH public key. You can utilize the EC2 keypair instance you provided during Everpure Cloud Dedicated to SSH or you can manually add an array admin user by logging into the GUI and use that to SSH into the array.
  2. Confirm that there are no iSCSI-based hosts connected to the array. If there are, make sure to remove or otherwise disconnect those volumes as this change will be impactful to running iSCSI workloads.

  3. Execute the below command to change the iSCSI interfaces to NVMe-TCP. Sample output is included below.

    $ purenetwork eth setattr --servicelist nvme-tcp ct0.eth2 ct1.eth2
    Name      Enabled  Type      Subnet  Address      Mask           Gateway     MTU   MAC                Speed        Services  Subinterfaces
    ct0.eth2  True     physical  -       10.135.3.78  255.255.255.0  10.135.3.1  8500  e2:cf:35:53:c3:14  100.00 Gb/s  nvme-tcp  -
    ct1.eth2  True     physical  -       10.135.3.44  255.255.255.0  10.135.3.1  8500  32:0c:c4:0f:db:62  100.00 Gb/s  nvme-tcp  -

Check Security Groups and enable NVMe-TCP ports (required)

If you are using Security Groups, please ensure NVMe-TCP ports are configured and enabled. For more details follow this guide.

Change Everpure Cloud Dedicated MTU (optional)

Elastic VMware Service (EVS) sets the maximum transmission unit (MTU) of its Layer 2 networks to 8500 bytes. This value is fixed and cannot be increased to 9000 bytes. To maintain optimal performance and avoid potential fragmentation or packet drops, it is strongly recommended to align the MTU setting on Everpure Cloud Dedicated with that of EVS.

To update the Everpure Cloud Dedicated MTU, contact Everpure Support at support@purestorage.com. When submitting your request, include the name of the Everpure Cloud Dedicated array deployed in AWS and specify the desired MTU value of 8500.

Elastic VMware Service NVMe-TCP Setup

Establishing NVMe-TCP connectivity between Elastic VMware Service (EVS) and Everpure Cloud Dedicated involves several manual configuration steps. It is important to follow the sections outlined below in order:

EVS NVMe-TCP Network Setup

To establish NVMe-TCP connectivity between Everpure Cloud Dedicated and Elastic VMware Service (EVS), follow the steps below. The recommended and most straightforward method is to use one of the two EVS expansion subnets specified during the EVS deployment process.

  1. Identify the EVS Expansion Subnet
    • Via the VPC Console: Navigate to the VPC that EVS is attached to. From there, go to the "Subnets" section to view associated subnets and find one of the two EVS Expansion VLANs.

    • Via the AWS EVS Console: Open the EVS console, select your EVS environment, then go to "Networks and Connectivity." The expansion subnets will be listed in this section (as shown in the image below).

  2. Validate IP Address Availability

    Once the EVS expansion subnet is identified:

    • Note the following details:
      • CIDR Block

      • Subnet Mask

      • Gateway

      • VLAN ID

    • Confirm that there are two available IP addresses per EVS ESXi host within this subnet. For example, if your EVS environment has 4 ESXi hosts, you will need a total of 8 available IP addresses in the expansion subnet to support iSCSI connectivity with Everpure Cloud Dedicated.

Create EVS NVMe-TCP Port Groups and VMK Port Adapters

  1. Within the EVS vSphere Distributed Switch, create two Distributed Port Groups for NVMe-TCP traffic.

    • For both Port Groups, specify the expansion VLAN ID identified in the previous step.

    • For Port Group 1, configure Uplink 1 as 'Active' and set Uplink 2 to 'Unused'.

    • For Port Group 2, configure Uplink 2 as 'Active' and set Uplink 1 to 'Unused'.

    This asymmetric uplink configuration is required to support NVMe-TCP port binding in VMware. It ensures that each VMkernel interface used for NVMe-TCP has a unique and dedicated network path.

  2. On each ESXi host in the EVS cluster, create two VMkernel adapters; vmk3 and vmk4. Assign each adapter a unique IP address from the EVS expansion subnet information found earlier, then attach each VMkernel adapter to one of the Distributed Port Groups configured in the previous step:

    • When adding the vmk adapters, making certain to select the NVMe over TCP service option in the creation wizard.

    • Be sure to override Default Gateway to match the Gateway IP address for EVS expansion subnet.

    • vmk3 should be connected to Port Group 1.

    • vmk4 should be connected to Port Group 2.

    • When completed, the VMkernel ports should look similar to the below screenshot.

  3. Enable the NVMe-TCP adapter on each EVS ESXi host for both physical adapters by clicking on each host, going to Configure, selecting Storage Adapters and clicking Add NVMe over TCP adapter as shown in the below screenshot.

    Select the vmnic0 option and click OK.

  4. Repeat this procedure and add a second Software NVMe over TCP adapter for vmnic1. This provides additional performance and resiliency by having both physical NICs active.

Elastic VMware Service ESXi Host NVMe-TCP Setup

  1. Log into your ESXi host using a SSH client of your choice such as Putty. The typical method is to use the EC2 key pair that was provided when the EVS environment was deployed. Root passwords for EVS ESXi hosts will also be available soon in AWS Secrets Manager.

    • Before connecting, make sure the SSH service is enabled on each EVS host. You can do this through the vCenter console by selecting the host, clicking on the Configure tab, then navigating to Services. From there, start both the ESXi Shell and SSH services.

    • A sample command to login via the PEM or PPK key from your EC2 key pair might look like this:

      ssh -i /path/to/yourAWSEC2key.pem root@<ESXiHostIPAddress
  2. Upon logging in, the first step is the retrieve the EVS ESXi host NQN that will be used to configured the host object on the Everpure Cloud Dedicated array.

    esxcli nvme info get

    Copy down the NQN output from each host.

  3. For optimal performance with Pure backed devices, a claimrule needs to be added on the EVS ESXi hosts that are going to be used with NVMe-TCP. Run the following two commands to set and load the claimrule. Note that no ESXi host reboot is required.

    esxcli storage core claimrule add --rule 102 -t vendor --nvme-controller-model "Pure*" -P HPP -g "pss=LB-Latency,latency-eval-time=180000,sampling-ios-per-path=16"
    
    esxcli storage core claimrule load

Create NVMe-TCP Host Objects on Everpure Cloud Dedicated

  1. Login to the Everpure Cloud Dedicated GUI and navigate to Storage > Hosts.

  2. Create one or multiple hosts to match the number of EVS ESXi hosts in your cluster. Select the ESXi personality.

  3. For each host, paste in the unique NQN identifier retrieved from the ESXi CLI command in the previous step. Make certain to select the NQN option under host ports instead of IQN.

    A correctly configured host is shown in the below screenshot.

  4. Create a Host Group in the Everpure Cloud Dedicated GUI, and all all EVS ESXi hosts configured with NQN identifiers to it.

Connect Elastic VMware Service to Everpure Cloud Dedicated

  1. From the Everpure Cloud Dedicated GUI, go to Settings > Connectors and find one of the two NVMe-TCP service IP addresses.

  2. For each EVS ESXi host, navigate to Storage Adapters under the Configure tab. Select one of the VMware NVMe over TCP adapters (note that this process will be repeated for both adapters), go to Controllers and select Add Controller.

    • When adding a new controller, both Everpure Cloud Dedicated controllers should be added for best performance and reliability (you can search for controllers by entering the IP address of one controller and then clicking the Discover Controllers button).

    • Repeat this process for the other NVMe-TCP storage adapter (vmhba66 in the above screenshot).

    • Repeat this process for each ESXi host in the cluster.

Install and Use the Everpure vSphere Plugin with EVS

  1. Install the Everpure vSphere Plugin by following the standard deployment guide available here.

  2. Add the Everpure Cloud Dedicated Array to the vSphere Plugin

    Open the Everpure vSphere Plugin by selecting the Everpure icon from the main vSphere menu. Use the plugin to add the Everpure Cloud Dedicated array.

  3. Provision and Manage Everpure Cloud Dedicated Storage with Plugin

    With connectivity between Elastic VMware Service (EVS) and Everpure Cloud Dedicated established, you can now use the Everpure vSphere Plugin to manage Everpure Cloud Dedicated volumes directly from the vSphere interface.

    Typical operations such as volume creation, resizing, and snapshot management are fully supported and function as expected within the plugin. The notable exception for Everpure Cloud Dedicatedd is that file (e.g. NFS volumes) are not supported.

    For detailed instructions on these tasks, refer to the official documentation available here.

  4. Install VM Analytics

    Installing VM Analytics is highly recommended to gain granular visibility into the performance of your EVS and Everpure Cloud Dedicated integration. VM Analytics provides deep insight into latency, throughput, and IOPS metrics across your VMware environment.

    The setup process for VM Analytics on EVS is identical to that of an on-premises vCenter environment. For detailed installation instructions, refer to the documentation available here.

Technical Demo Video of Elastic VMware Service and Everpure Cloud Dedicated NVMe-TCP Setup

A companion technical demo video that shows the setup steps outlined in this guide is included below.