|
Packit Service |
b7b338 |
nvme-discover(1)
|
|
Packit Service |
b7b338 |
================
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
NAME
|
|
Packit Service |
b7b338 |
----
|
|
Packit Service |
b7b338 |
nvme-discover - Send Get Log Page request to Discovery Controller.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
SYNOPSIS
|
|
Packit Service |
b7b338 |
--------
|
|
Packit Service |
b7b338 |
[verse]
|
|
Packit Service |
b7b338 |
'nvme discover'
|
|
Packit Service |
b7b338 |
[--transport=<trtype> | -t <trtype>]
|
|
Packit Service |
b7b338 |
[--traddr=<traddr> | -a <traddr>]
|
|
Packit Service |
b7b338 |
[--trsvcid=<trsvcid> | -s <trsvcid>]
|
|
Packit Service |
b7b338 |
[--host-traddr=<traddr> | -w <traddr>]
|
|
Packit Service |
b7b338 |
[--hostnqn=<hostnqn> | -q <hostnqn>]
|
|
Packit Service |
b7b338 |
[--hostid=<hostid> | -I <hostid>]
|
|
Packit Service |
b7b338 |
[--raw=<filename> | -r <filename>]
|
|
Packit Service |
b7b338 |
[--keep-alive-tmo=<sec> | -k <sec>]
|
|
Packit Service |
b7b338 |
[--reconnect-delay=<#> | -c <#>]
|
|
Packit Service |
b7b338 |
[--ctrl-loss-tmo=<#> | -l <#>]
|
|
Packit Service |
b7b338 |
[--hdr_digest | -g]
|
|
Packit Service |
b7b338 |
[--data_digest | -G]
|
|
Packit Service |
b7b338 |
[--nr-io-queues=<#> | -i <#>]
|
|
Packit Service |
b7b338 |
[--nr-write-queues=<#> | -W <#>]
|
|
Packit Service |
b7b338 |
[--nr-poll-queues=<#> | -P <#>]
|
|
Packit Service |
b7b338 |
[--queue-size=<#> | -Q <#>]
|
|
Packit Service |
b7b338 |
[--persistent | -p]
|
|
Packit Service |
b7b338 |
[--quiet | -S]
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
DESCRIPTION
|
|
Packit Service |
b7b338 |
-----------
|
|
Packit Service |
b7b338 |
Send one or more Get Log Page requests to a NVMe-over-Fabrics Discovery
|
|
Packit Service |
b7b338 |
Controller.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
If no parameters are given, then 'nvme discover' will attempt to
|
|
Packit Service |
b7b338 |
find a /etc/nvme/discovery.conf file to use to supply a list of
|
|
Packit Service |
b7b338 |
Discovery commands to run. If no /etc/nvme/discovery.conf file
|
|
Packit Service |
b7b338 |
exists, the command will quit with an error.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
Otherwise, a specific Discovery Controller should be specified using the
|
|
Packit Service |
b7b338 |
--transport, --traddr, and if necessary the --trsvcid flags. A Diѕcovery
|
|
Packit Service |
b7b338 |
request will then be sent to the specified Discovery Controller.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
BACKGROUND
|
|
Packit Service |
b7b338 |
----------
|
|
Packit Service |
b7b338 |
The NVMe-over-Fabrics specification defines the concept of a
|
|
Packit Service |
b7b338 |
Discovery Controller that an NVMe Host can query on a fabric
|
|
Packit Service |
b7b338 |
network to discover NVMe subsystems contained in NVMe Targets
|
|
Packit Service |
b7b338 |
which it can connect to on the network. The Discovery Controller
|
|
Packit Service |
b7b338 |
will return Discovery Log Pages that provide the NVMe Host
|
|
Packit Service |
b7b338 |
with specific information (such as network address and unique
|
|
Packit Service |
b7b338 |
subsystem NQN) the NVMe Host can use to issue an
|
|
Packit Service |
b7b338 |
NVMe connect command to connect itself to a storage resource
|
|
Packit Service |
b7b338 |
contained in that NVMe subsystem on the NVMe Target.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
Note that the base NVMe specification defines the NQN (NVMe Qualified
|
|
Packit Service |
b7b338 |
Name) format which an NVMe endpoint (device, subsystem, etc) must
|
|
Packit Service |
b7b338 |
follow to guarantee a unique name under the NVMe standard.
|
|
Packit Service |
b7b338 |
In particular, the Host NQN uniquely identifies the NVMe Host, and
|
|
Packit Service |
b7b338 |
may be used by the the Discovery Controller to control what NVMe Target
|
|
Packit Service |
b7b338 |
resources are allocated to the NVMe Host for a connection.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
A Discovery Controller has it's own NQN defined in the NVMe-over-Fabrics
|
|
Packit Service |
b7b338 |
specification, *nqn.2014-08.org.nvmexpress.discovery*. All Discovery
|
|
Packit Service |
b7b338 |
Controllers must use this NQN name. This NQN is used by default by
|
|
Packit Service |
b7b338 |
nvme-cli for the 'discover' command.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
OPTIONS
|
|
Packit Service |
b7b338 |
-------
|
|
Packit Service |
b7b338 |
-t <trtype>::
|
|
Packit Service |
b7b338 |
--transport=<trtype>::
|
|
Packit Service |
b7b338 |
This field specifies the network fabric being used for
|
|
Packit Service |
b7b338 |
a NVMe-over-Fabrics network. Current string values include:
|
|
Packit Service |
b7b338 |
+
|
|
Packit Service |
b7b338 |
[]
|
|
Packit Service |
b7b338 |
|=================
|
|
Packit Service |
b7b338 |
|Value|Definition
|
|
Packit Service |
b7b338 |
|rdma|The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc)
|
|
Packit Service |
b7b338 |
|fc |*WIP* The network fabric is a Fibre Channel network.
|
|
Packit Service |
b7b338 |
|loop|Connect to a NVMe over Fabrics target on the local host
|
|
Packit Service |
b7b338 |
|=================
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-a <traddr>::
|
|
Packit Service |
b7b338 |
--traddr=<traddr>::
|
|
Packit Service |
b7b338 |
This field specifies the network address of the Discovery Controller.
|
|
Packit Service |
b7b338 |
For transports using IP addressing (e.g. rdma) this should be an
|
|
Packit Service |
b7b338 |
IP-based (ex. IPv4) address.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-s <trsvcid>::
|
|
Packit Service |
b7b338 |
--trsvcid=<trsvcid>::
|
|
Packit Service |
b7b338 |
This field specifies the transport service id. For transports using IP
|
|
Packit Service |
b7b338 |
addressing (e.g. rdma) this field is the port number. By default, the IP
|
|
Packit Service |
b7b338 |
port number for the RDMA transport is 4420.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-w <traddr>::
|
|
Packit Service |
b7b338 |
--host-traddr=<traddr>::
|
|
Packit Service |
b7b338 |
This field specifies the network address used on the host to connect
|
|
Packit Service |
b7b338 |
to the Discovery Controller.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-q <hostnqn>::
|
|
Packit Service |
b7b338 |
--hostnqn=<hostnqn>::
|
|
Packit Service |
b7b338 |
Overrides the default host NQN that identifies the NVMe Host.
|
|
Packit Service |
b7b338 |
If this option is not specified, the default is read from
|
|
Packit Service |
b7b338 |
/etc/nvme/hostnqn first. If that does not exist, the autogenerated
|
|
Packit Service |
b7b338 |
NQN value from the NVMe Host kernel module is used next.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-I <hostid>::
|
|
Packit Service |
b7b338 |
--hostid=<hostid>::
|
|
Packit Service |
b7b338 |
UUID(Universally Unique Identifier) to be discovered which should be
|
|
Packit Service |
b7b338 |
formatted.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-r <filename>::
|
|
Packit Service |
b7b338 |
--raw=<filename>::
|
|
Packit Service |
b7b338 |
This field will take the output of the 'nvme discover' command
|
|
Packit Service |
b7b338 |
and dump it to a raw binary file. By default 'nvme discover' will
|
|
Packit Service |
b7b338 |
dump the output to stdout.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-k <#>::
|
|
Packit Service |
b7b338 |
--keep-alive-tmo=<#>::
|
|
Packit Service |
b7b338 |
Overrides the default dealy (in seconds) for keep alive.
|
|
Packit Service |
b7b338 |
This option will be ignored for the discovery, and it is only
|
|
Packit Service |
b7b338 |
implemented for completeness.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-c <#>::
|
|
Packit Service |
b7b338 |
--reconnect-delay=<#>::
|
|
Packit Service |
b7b338 |
Overrides the default delay (in seconds) before reconnect is attempted
|
|
Packit Service |
b7b338 |
after a connect loss.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-l <#>::
|
|
Packit Service |
b7b338 |
--ctrl-loss-tmo=<#>::
|
|
Packit Service |
b7b338 |
Overrides the default controller loss timeout period (in seconds).
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-g::
|
|
Packit Service |
b7b338 |
--hdr_digest::
|
|
Packit Service |
b7b338 |
Generates/verifies header digest (TCP).
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-G::
|
|
Packit Service |
b7b338 |
--data_digest::
|
|
Packit Service |
b7b338 |
Generates/verifies data digest (TCP).
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-i <#>::
|
|
Packit Service |
b7b338 |
--nr-io-queues=<#>::
|
|
Packit Service |
b7b338 |
Overrides the default number of I/O queues create by the driver.
|
|
Packit Service |
b7b338 |
This option will be ignored for the discovery, and it is only
|
|
Packit Service |
b7b338 |
implemented for completeness.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-W <#>::
|
|
Packit Service |
b7b338 |
--nr-write-queues=<#>::
|
|
Packit Service |
b7b338 |
Adds additional queues that will be used for write I/O.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-P <#>::
|
|
Packit Service |
b7b338 |
--nr-poll-queues=<#>::
|
|
Packit Service |
b7b338 |
Adds additional queues that will be used for polling latency sensitive I/O.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-Q <#>::
|
|
Packit Service |
b7b338 |
--queue-size=<#>::
|
|
Packit Service |
b7b338 |
Overrides the default number of elements in the I/O queues created
|
|
Packit Service |
b7b338 |
by the driver which can be found at drivers/nvme/host/fabrics.h.
|
|
Packit Service |
b7b338 |
This option will be ignored for the discovery, and it is only
|
|
Packit Service |
b7b338 |
implemented for completeness.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-p::
|
|
Packit Service |
b7b338 |
--persistent::
|
|
Packit Service |
b7b338 |
Persistent discovery connection.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
-S::
|
|
Packit Service |
b7b338 |
--quiet::
|
|
Packit Service |
b7b338 |
Suppress already connected errors.
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
EXAMPLES
|
|
Packit Service |
b7b338 |
--------
|
|
Packit Service |
b7b338 |
* Query the Discover Controller with IP4 address 192.168.1.3 for all
|
|
Packit Service |
b7b338 |
resources allocated for NVMe Host name host1-rogue-nqn on the RDMA network.
|
|
Packit Service |
b7b338 |
Port 4420 is used by default:
|
|
Packit Service |
b7b338 |
+
|
|
Packit Service |
b7b338 |
------------
|
|
Packit Service |
b7b338 |
# nvme discover --transport=rdma --traddr=192.168.1.3 \
|
|
Packit Service |
b7b338 |
--hostnqn=host1-rogue-nqn
|
|
Packit Service |
b7b338 |
------------
|
|
Packit Service |
b7b338 |
+
|
|
Packit Service |
b7b338 |
* Issue a 'nvme discover' command using a /etc/nvme/discovery.conf file:
|
|
Packit Service |
b7b338 |
+
|
|
Packit Service |
b7b338 |
-----------
|
|
Packit Service |
b7b338 |
# Machine default 'nvme discover' commands. Query the
|
|
Packit Service |
b7b338 |
# Discovery Controller's two ports (some resources may only
|
|
Packit Service |
b7b338 |
# be accessible on a single port). Note an official
|
|
Packit Service |
b7b338 |
# nqn (Host) name defined in the NVMe specification is being used
|
|
Packit Service |
b7b338 |
# in this example.
|
|
Packit Service |
b7b338 |
-t rdma -a 192.168.69.33 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
|
|
Packit Service |
b7b338 |
-t rdma -a 192.168.1.4 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
At the prompt type "nvme discover".
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
------------
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
SEE ALSO
|
|
Packit Service |
b7b338 |
--------
|
|
Packit Service |
b7b338 |
nvme-connect(1)
|
|
Packit Service |
b7b338 |
nvme-connect-all(1)
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
AUTHORS
|
|
Packit Service |
b7b338 |
-------
|
|
Packit Service |
b7b338 |
This was written by mailto:james.p.freyensee@intel.com[Jay Freyensee]
|
|
Packit Service |
b7b338 |
|
|
Packit Service |
b7b338 |
NVME
|
|
Packit Service |
b7b338 |
----
|
|
Packit Service |
b7b338 |
Part of the nvme-user suite
|