Discovery-client Command Failed

Scenario 1

DescriptionDiscovery-client command failedVersion 2.x
Symptoms

Command:

discovery-client connect/connect-all <parameters>

Command output:

Error: discover failed. err: something wrong happened. failed to open file: "/dev/nvme-fabrics". err: open /dev/nvme-fabrics: no such file or directory

Root Causenvme-tcp module is not loaded.
Resolution

modprobe nvme-tcp

Verify that the nvme-tcp module is loaded by running the command: lsmod | grep nvme

Command output:

nvme_tcp 32768 0

nvme_fabrics 24576 1 nvme_tcp

nvme_core 102400 2 nvme_tcp,nvme_fabrics

Scenario 2

DescriptionDiscovery-client command failedVersion 2.x
Symptoms

Run the command: discovery-client connect-all -t tcp -a <one of the data IPs> -s 8009 -q <client-hostnqn-id> -p

This results in the following error:

discover failed. err: write failed: "nqn=nqn.2014-08.org.nvmexpress.discovery,transport=tcp,traddr=<one of the data IPs>,trsvcid=8009,hostnqn=<client-hostnqn-id>". err: write /dev/nvme-fabrics: connection refused

Root Cause

The discovery service on the node with the data IP mentioned in the command is not working.

Looking at the service status (systemctl status discovery-service.service) -

as well as in the discovery-service.log files - will help to find the root cause.

Resolution

Restart the discovery service: systemctl restart discovery-service.service\

Check the status of the service after it starts:

systemctl status discovery-service.service

Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard