Back to Ceph

NVMe/TCP Initiator for VMware ESX

doc/rbd/nvmeof-initiator-esx.rst

21.0.01.9 KB
Original Source

NVMe/TCP Initiator for VMware ESX

Prerequisites

  • A VMware ESXi host running VMware vSphere Hypervisor (ESXi) 7.0U3 version or later.
  • Deployed Ceph NVMe-oF gateway.
  • Ceph cluster with NVMe-oF configuration.
  • Subsystem defined in the gateway.

Configuration

The following instructions will use the default vSphere web client and esxcli.

  1. Enable NVMe/TCP on a NIC:

    .. prompt:: bash #

    esxcli nvme fabric enable --protocol TCP --device vmnicN

    Replace N with the number of the NIC.

  2. Tag a VMKernel NIC to permit NVMe/TCP traffic:

    .. prompt:: bash #

    esxcli network uip interface tag add --interface-nme vmkN --tagname NVMeTCP

    Replace N with the ID of the VMkernel.

  3. Configure the VMware ESXi host for NVMe/TCP:

    #. List the NVMe-oF adapter:

    .. prompt:: bash #
     
       esxcli nvme adapter list
    

    #. Optional: Discover NVMe-oF subsystems:

    .. prompt:: bash #
     
       esxcli nvme fabric discover -a NVME_TCP_ADAPTER -i GATEWAY_IP -p 4420
    

    #. Connect to NVME-oF gateway subsystem:

    .. prompt:: bash #
       
       esxcli nvme fabrics discover -a NVME_TCP_ADAPTER -i GATEWAY_IP -p 8009 -c
    
      - This command discovers the NVMe-oF gateways in the gateway group and then connects to the gateways providing multipath access 
    

    #. List the NVMe/TCP controllers:

    .. prompt:: bash #
     
       esxcli nvme controller list
    

    #. List the NVMe-oF namespaces in the subsystem:

    .. prompt:: bash #
     
       esxcli nvme namespace list
    
  4. Verify that the initiator has been set up correctly:

    #. From the vSphere client go to the ESXi host. #. On the Storage page go to the Devices tab. #. Verify that the NVME/TCP disks are listed in the table.