Skip to main content
E-Series storage systems

Discover and connect to the storage from the host in E-Series - Linux (NVMe over TCP)

Contributors netapp-driley

Before making definitions of each host in SANtricity System Manager, you must discover the target controller ports from the host, and then establish NVMe connections.

Steps
  1. Verify that you can ping from the host to each array HIC port using the following command:

    ping <IP of array HIC port>
  2. Discover available subsystems on the NVMe-oF target for all paths using the following command:

    nvme discover -t tcp -a target_ip_address

    In this command, target_ip_address is the IP address of the target port.

    Note The nvme discover command discovers all controller ports in the subsystem, regardless of host access.
    # nvme discover -t tcp -a 192.168.134.101
    Discovery Log Number of Records 12, Generation counter 0
    =====Discovery Log Entry 0======
    trtype:  tcp
    adrfam:  ipv6
    subtype: nvme subsystem
    treq:    not specified
    portid:  0
    trsvcid: 4420
    subnqn:  nqn.1992-08.com.netapp:EF80.6d039ea0005d29280000000069ddb538
    traddr:  fe80:0:0:0:200:ff:fe00:1
    eflags:  none
    sectype: none
    =====Discovery Log Entry 1======
    trtype:  tcp
    adrfam:  ipv6
    subtype: nvme subsystem
    treq:    not specified
    portid:  0
    trsvcid: 4420
    subnqn:  nqn.1992-08.com.netapp:EF80.6d039ea0005d29280000000069ddb538
    traddr:  fd23:0:0:0:192:168:131:101
    eflags:  none
    sectype: none
  3. Repeat step 2 for any other connections.

  4. Connect to the discovered subsystem on the first path using the command: nvme connect -t tcp -n discovered_sub_nqn -a target_ip_address -Q queue_depth_setting -l controller_loss_timeout_period

    Note The command listed above does not persist through reboot. The nvme connect command will need to be executed after each reboot to re-establish the NVMe connections.
    Note Connections are not established for any discovered port inaccessible by the host.
    Note If you specify a port number using this command, the connection fails. The default port is the only port set up for connections.
    Note By default, the queue depth is set to 128. Do not change this default value as NVMe over TCP requires a queue depth of 128.
    # nvme connect -t tcp -a 192.168.134.101 -n nqn.1992-08.com.netapp:EF80.6d039ea0005d29280000000069ddb538 -Q 128 -l 3600
  5. Repeat step 4 for any other connections.

  6. Optional - Setup your host to automatically discover and connect to targets on each boot.

    1. Add the discovery parameters from step 2 and step 3 to /etc/nvme/discovery.conf using the following procedure and format:

      # echo "--transport=tcp --traddr=target_ip_address --trsvcid=4420" | sudo tee -a /etc/nvme/discovery.conf
    2. Enable the nvmf-autoconnect service after populating the /etc/nvme/discovery.conf file using the following command:

      sudo systemctl enable nvmf-autoconnect.service
What's next?

After you establish the connections, define the host.