Blame Documentation/nvme-discover.txt

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