iSCSI Performance Tuning on EVS and Everpure Cloud Dedicated

Everpure Cloud Dedicated for AWS

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

This guide covers how to add additional iSCSI sessions between Elastic VMware Service and Everpure Cloud Dedicated to scale throughput beyond the default configuration. It outlines the required setup for session cloning steps, and key considerations for maintaining sessions after a reboot. Use it to fine-tune iSCSI connectivity based on your workload needs.

Before diving into the steps outlined here, make sure you have gone through the EVS and Everpure Cloud Dedicated implementation guide. That guide covers the foundational setup for basic iSCSI connectivity between Elastic VMware Service and Everpure Cloud Dedicated, and it should be treated as a prerequisite prior to following the steps outlined in this article.

Prior to being able to add iSCSI sessions or change buffer sizes, make sure at least one VMFS or vVols volume has been created and mounted between Everpure Cloud Dedicated and the EVS cluster. This is required because iSCSI paths will not show up in an active state on the EVS ESXi hosts until a volume is provisioned and attached.

Introduction to iSCSI Sessions

By default, VMware ESXi hosts using the software iSCSI adapter will create two paths for each external array connection. That setup works for basic functionality, but if your environment is pushing higher bandwidth or larger block sizes, whether from a single virtual machine or from multiple virtual machines running in parallel, you will likely need to add more. Increasing the number of iSCSI sessions per EVS ESXi host can help fully utilize the available connection bandwidth between EVS and Everpure Cloud Dedicated.

There is no universal session count that works best for every workload. The right number depends on several factors, including average IO size, how much load a single virtual machine is generating, and how many virtual machines are pushing large scale workloads at the same time. Expect some trial and error as you tune your configuration. That said, internal testing using synthetic workloads suggests that eight iSCSI sessions per EVS ESXi host is a good place to start.

How to Duplicate iSCSI Sessions

  1. Log into your ESXi host using a SSH client of your choice such as Putty

    Connect to each EVS ESXi host in your cluster using SSH. 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.

    1. Enable the SSH service on each EVS ESXi host.

      Before connecting, make sure the SSH service is enabled on each EVS host where you plan to add more iSCSI sessions. 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, as shown in the screenshot below.

    2. 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. After logging in, the first thing to do is list the current iSCSI sessions.
    esxcli iscsi session list
    You should see output similar to the following:
    esxcli iscsi session list
    vmhba64,iqn.2010-06.com.purestorage:flasharray.7477581979604f64,00023d000001
       Adapter: vmhba64
       Target: iqn.2010-06.com.purestorage:flasharray.7477581979604f64
       ISID: 00023d000001
       ...
    
  3. For a single Everpure Cloud Dedicated array connected, you should expect to see four active sessions. Each physical NIC on the EVS ESXi host is connected to the Everpure Cloud Dedicated instance, which results in four sessions total between the two environments.

    To clone additional sessions, gather the following values from the output above:

    • ISID

    • Target

    • HBA Name

  4. The command syntax to add a new session looks like this:
    esxcli iscsi session add --name=<iqn.xxxx> --isid=<session_id> --adapter=<iscsi_adapter>
    Using the example output:
    • ISID: 00023d000001

    • Target: iqn.2010-06.com.purestorage:flasharray.7477581979604f64

    • Adapter: vmhba64

    Your command would look like this:
    esxcli iscsi session add --name=iqn.2010-06.com.purestorage:flasharray.7477581979604f64 --isid=00023d000001 --adapter=vmhba64
    Repeat this command as many times as needed to reach your target number of sessions. For example, to scale to eight sessions per EVS ESXi host, you would run the command four additional times on each host.
    Run the below command again to confirm the new session count:
    esxcli iscsi session list
    For more detail on session duplication and similar operations, check Broadcom's official documentation
Important:

If an EVS ESXi host is rebooted, any additional duplicated sessions will be removed. These sessions are ephemeral and do not persist across reboots. That means you will need to reapply this procedure each time a host restarts in order to restore your intended session count. Because of this, when possible it is recommended to use NVMe over TCP, which does not require this manual setup.