The adapter configuration process on the ESXi host involves setting up VMkernel binding for a TCP network adapter, and then adding a software adapter for NVMe over TCP. After that, you can add an NVMe controller.
Action | Description |
---|---|
On your ESXi host, install an adapter that supports NVMe over TCP technology | For example, i40en. |
Configure VMkernel Binding for the NVMe over TCP Adapter | VMkernel binding for NVMe over TCP involves creating a virtual switch and connecting the physical network adapter and the VMkernel adapter to the virtual switch. Through this connection, the TCP adapter becomes bound to the VMkernel adapter. In the configuration, you can use a vSphere standard switch or a vSphere distributed switch. |
Add the Software NVMe over TCP Adapter | Use the vSphere Client to enable the software storage adapters for NVMe over TCP. |
Add Controllers for NVMe over Fabrics | Use the vSphere Client to add an NVMe controller. After you add the controller, the NVMe namespaces associated with the controller become available to your ESXi host. The NVMe storage devices that represent the namespaces in the ESXi environment appear on the storage devices list. |
Configure VMkernel Binding for the NVMe over TCP Adapter
Port binding for NVMe over TCP involves creating a virtual switch and connecting the physical network adapter and the VMkernel adapter to the virtual switch. Through this connection, the TCP adapter becomes bound to the VMkernel adapter. In the configuration, you can use a vSphere standard switch or a vSphere distributed switch.
The following diagram displays the port binding for the NVMe over TCP adapter.
For more information about creating switches, see Create a vSphere Standard Switch or Create a vSphere Distributed Switch in the vSphere Networking documentation.
Example of Network Topology with NVMe over TCP
In this example, two vSphere standard switches and two network adapters (vmnic) on the host provide high availability. They connect to two external switches.
Configure VMkernel Binding for the TCP Adapter with a vSphere Standard Switch
You can configure VMkernel binding for the TCP adapter using a vSphere standard switch and one uplink per switch. Configuring the network connection involves creating a virtual VMkernel adapter for each physical network adapter. You use 1:1 mapping between each virtual and physical network adapter.
Procedure
Configure VMkernel Binding for the TCP Adapter with a vSphere Distributed Switch
You can configure VMkernel port binding for the TCP adapter using a vSphere distributed switch and one uplink per switch. Configuring the network connection involves creating a virtual VMkernel adapter for each physical network adapter. You use 1:1 mapping between each virtual and physical network adapter.
Procedure
What to do next
Add Software NVMe over RDMA or NVMe over TCP Adapters
ESXi supports NVMe over RDMA and NVMe over TCP software adapters. Use the vSphere Client to add the software storage adapters for NVMe over RDMA or NVMe over TCP.
Prerequisites
- On your ESXi host, install an adapter that supports the following types of storage.
- NVMe over RDMA adapter. For example, Mellanox Technologies MT27700 Family ConnectX-4.
- NVMe over TCP adapter. For example, i40en.
- Configure the VMkernel binding for your adapters.
- For NVMe over RDMA, see Configure VMkernel Binding for the RDMA Adapter.
- For NVMe over TCP, see Configure VMkernel Binding for the NVMe over TCP Adapter.
Procedure
Results
Add Controllers for NVMe over Fabrics
Use the vSphere Client to add an NVMe controller. After you add the controller, the NVMe namespaces associated with the controller become available to your ESXi host. The NVMe storage devices that represent the namespaces in the ESXi environment appear on the storage devices list.
Prerequisites
- Make sure that your ESXi host has appropriate adapters for your type of storage. See Requirements for VMware NVMe Storage.
- If you use NVMe over RDMA (RoCE v2) storage, perform these tasks:
- If you use NVMe over TCP storage, perform these tasks:
Procedure
- In the vSphere Client, navigate to the ESXi host.
- Click the Configure tab.
- Under Storage, click Storage Adapters, and select the adapter (vmhba#) to configure.
- Click the Controllers tab, and click Add Controller.
- On the Add controller dialog box, select one of the following discovery methods.
Option Description Automatically This option indicates that your host can discover controllers automatically and accept connection to any available controller. - Specify the following parameters for to discover controllers.
- For NVMe over RDMA (RoCE v2), the IP address and transport port number.
- For NVMe over TCP, the IP address, transport port number, and the digest parameter.
- Click Discover Controllers.
- From the list of controllers, select the controller to use.
Manually With this method, you manually enter controller details. The host requests a connection to a specific controller using the parameters you specify: - Subsystem NQN
- Target port identification.
- For NVMe over RDMA (RoCE v2), the IP address and transport port number (optional).
- For NVMe over TCP, the IP address, transport port number (optional), and the digest parameter (optional).
- For NVMe over Fibre Channel, the WorldWideNodeName and WorldWidePortName.
- Admin queue size. An optional parameter that specifies the size of the admin queue of the controller. A default value is 16.
- Keepalive timeout. An optional parameter to specify in seconds the keep alive timeout between the adapter and the controller. A default timeout value is 60 seconds.
Note: IO Queue Size and IO Queue Number are optional parameters that can be set only through esxcli. - Specify the following parameters for to discover controllers.
Results
The controller appears on the list of controllers. Your host can now discover the NVMe namespaces that are associated with the controller. The NVMe storage devices that represent the namespaces in the ESXi environment appear on the storage devices list in the vSphere Client.