2025-02-16 11:09:01 +01:00
|
|
|
nvme-connect-all(1)
|
|
|
|
===================
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
|
|
|
nvme-connect-all - Discover and Connect to Fabrics controllers.
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
|
|
|
[verse]
|
|
|
|
'nvme connect-all'
|
|
|
|
[--transport=<trtype> | -t <trtype>]
|
2025-02-16 12:15:45 +01:00
|
|
|
[--nqn=<subnqn> | -n <subnqn>]
|
2025-02-16 11:09:01 +01:00
|
|
|
[--traddr=<traddr> | -a <traddr>]
|
|
|
|
[--trsvcid=<trsvcid> | -s <trsvcid>]
|
|
|
|
[--host-traddr=<traddr> | -w <traddr>]
|
2025-02-16 12:11:43 +01:00
|
|
|
[--host-iface=<iface> | -f <iface>]
|
2025-02-16 11:09:01 +01:00
|
|
|
[--hostnqn=<hostnqn> | -q <hostnqn>]
|
|
|
|
[--hostid=<hostid> | -I <hostid>]
|
|
|
|
[--raw=<filename> | -r <filename>]
|
2025-02-16 12:15:45 +01:00
|
|
|
[--cfg-file=<cfg> | -C <cfg>]
|
2025-02-16 12:22:16 +01:00
|
|
|
[--keep-alive-tmo=<#> | -k <#>]
|
2025-02-16 11:09:01 +01:00
|
|
|
[--reconnect-delay=<#> | -c <#>]
|
|
|
|
[--ctrl-loss-tmo=<#> | -l <#>]
|
2025-02-16 12:22:16 +01:00
|
|
|
[--hdr-digest | -g]
|
|
|
|
[--data-digest | -G]
|
2025-02-16 11:09:01 +01:00
|
|
|
[--nr-io-queues=<#> | -i <#>]
|
|
|
|
[--nr-write-queues=<#> | -W <#>]
|
|
|
|
[--nr-poll-queues=<#> | -P <#>]
|
|
|
|
[--queue-size=<#> | -Q <#>]
|
|
|
|
[--persistent | -p]
|
2025-02-16 11:31:10 +01:00
|
|
|
[--quiet | -S]
|
2025-02-16 12:15:45 +01:00
|
|
|
[--dump-config | -O]
|
2025-02-16 11:09:01 +01:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
|
|
|
Send one or more Discovery requests to a NVMe over Fabrics Discovery
|
|
|
|
Controller, and create controllers for the returned discovery records.
|
|
|
|
|
|
|
|
If no parameters are given, then 'nvme connect-all' will attempt to
|
2025-02-16 12:15:45 +01:00
|
|
|
find a @SYSCONFDIR@/nvme/discovery.conf file to use to supply a list of
|
|
|
|
connect-all commands to run. If no @SYSCONFDIR@/nvme/discovery.conf file
|
|
|
|
exists, the command will quit with an error.
|
2025-02-16 11:09:01 +01:00
|
|
|
|
|
|
|
Otherwise a specific Discovery Controller should be specified using the
|
2025-02-16 12:16:19 +01:00
|
|
|
--transport, --traddr and if necessary the --trsvcid and a Discovery
|
2025-02-16 11:09:01 +01:00
|
|
|
request will be sent to the specified Discovery Controller.
|
|
|
|
|
|
|
|
See the documentation for the nvme-discover(1) command for further
|
|
|
|
background.
|
|
|
|
|
|
|
|
OPTIONS
|
|
|
|
-------
|
|
|
|
-t <trtype>::
|
|
|
|
--transport=<trtype>::
|
|
|
|
This field specifies the network fabric being used for
|
|
|
|
a NVMe-over-Fabrics network. Current string values include:
|
|
|
|
+
|
|
|
|
[]
|
|
|
|
|=================
|
|
|
|
|Value|Definition
|
|
|
|
|rdma|The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc)
|
|
|
|
|fc |*WIP* The network fabric is a Fibre Channel network.
|
2025-02-16 11:31:10 +01:00
|
|
|
|tcp |The network fabric is a TCP/IP network.
|
2025-02-16 11:09:01 +01:00
|
|
|
|loop|Connect to a NVMe over Fabrics target on the local host
|
|
|
|
|=================
|
|
|
|
|
2025-02-16 12:15:45 +01:00
|
|
|
-n <subnqn>::
|
|
|
|
--nqn <subnqn>::
|
|
|
|
This field specifies the name for the NVMe subsystem to connect to.
|
|
|
|
|
2025-02-16 11:09:01 +01:00
|
|
|
-a <traddr>::
|
|
|
|
--traddr=<traddr>::
|
|
|
|
This field specifies the network address of the Discovery Controller.
|
|
|
|
For transports using IP addressing (e.g. rdma) this should be an
|
|
|
|
IP-based address (ex. IPv4).
|
|
|
|
|
|
|
|
-s <trsvcid>::
|
|
|
|
--trsvcid=<trsvcid>::
|
|
|
|
This field specifies the transport service id. For transports using IP
|
|
|
|
addressing (e.g. rdma) this field is the port number. By default, the IP
|
|
|
|
port number for the RDMA transport is 4420.
|
|
|
|
|
|
|
|
-w <traddr>::
|
|
|
|
--host-traddr=<traddr>::
|
|
|
|
This field specifies the network address used on the host to connect
|
2025-02-16 12:11:43 +01:00
|
|
|
to the Controller. For TCP, this sets the source address on the socket.
|
|
|
|
|
|
|
|
-f <iface>::
|
|
|
|
--host-iface=<iface>::
|
|
|
|
This field specifies the network interface used on the host to connect
|
|
|
|
to the Controller (e.g. IP eth1, enp2s0, enx78e7d1ea46da). This forces
|
|
|
|
the connection to be made on a specific interface instead of letting
|
|
|
|
the system decide.
|
2025-02-16 11:09:01 +01:00
|
|
|
|
|
|
|
-q <hostnqn>::
|
|
|
|
--hostnqn=<hostnqn>::
|
|
|
|
Overrides the default Host NQN that identifies the NVMe Host.
|
|
|
|
If this option is not specified, the default is read from
|
2025-02-16 12:15:45 +01:00
|
|
|
@SYSCONFDIR@/nvme/hostnqn first. If that does not exist, the
|
|
|
|
autogenerated NQN value from the NVMe Host kernel module is used next.
|
2025-02-16 11:09:01 +01:00
|
|
|
The Host NQN uniquely identifies the NVMe Host, and may be used by the
|
|
|
|
the Discovery Controller to control what NVMe Target resources are
|
|
|
|
allocated to the NVMe Host for a connection.
|
|
|
|
|
|
|
|
-I <hostid>::
|
|
|
|
--hostid=<hostid>::
|
|
|
|
UUID(Universally Unique Identifier) to be discovered which should be
|
|
|
|
formatted.
|
|
|
|
|
|
|
|
-r <filename>::
|
|
|
|
--raw=<filename>::
|
|
|
|
This field will take the output of the 'nvme connect-all' command
|
|
|
|
and dump it to a raw binary file. By default 'nvme connect-all' will
|
|
|
|
dump the output to stdout.
|
|
|
|
|
2025-02-16 12:15:45 +01:00
|
|
|
-C <cfg>::
|
|
|
|
--config-file=<cfg>::
|
|
|
|
Use the specified JSON configuration file instead of the
|
|
|
|
default @SYSCONFDIR@/nvme/config.json file or 'none' to not read in
|
|
|
|
an existing configuration file. The JSON configuration file
|
|
|
|
format is documented in
|
|
|
|
https://github.com/linux-nvme/libnvme/doc/config-schema.json
|
|
|
|
|
2025-02-16 11:09:01 +01:00
|
|
|
-k <#>::
|
|
|
|
--keep-alive-tmo=<#>::
|
|
|
|
Overrides the default keep alive timeout (in seconds). This
|
|
|
|
option will be ignored for discovery, but will be passed on to
|
|
|
|
the subsequent connect call.
|
|
|
|
|
|
|
|
-c <#>::
|
|
|
|
--reconnect-delay=<#>::
|
|
|
|
Overrides the default delay (in seconds) before reconnect is attempted
|
|
|
|
after a connect loss.
|
|
|
|
|
|
|
|
-l <#>::
|
|
|
|
--ctrl-loss-tmo=<#>::
|
|
|
|
Overrides the default controller loss timeout period (in seconds).
|
|
|
|
|
2025-02-16 12:22:16 +01:00
|
|
|
-g::
|
|
|
|
--hdr-digest::
|
|
|
|
Generates/verifies header digest (TCP).
|
|
|
|
|
|
|
|
-G::
|
|
|
|
--data-digest::
|
|
|
|
Generates/verifies data digest (TCP).
|
|
|
|
|
2025-02-16 11:09:01 +01:00
|
|
|
-i <#>::
|
|
|
|
--nr-io-queues=<#>::
|
|
|
|
Overrides the default number of I/O queues create by the driver.
|
|
|
|
This option will be ignored for discovery, but will be passed on
|
|
|
|
to the subsequent connect call.
|
|
|
|
|
|
|
|
-W <#>::
|
|
|
|
--nr-write-queues=<#>::
|
|
|
|
Adds additional queues that will be used for write I/O.
|
|
|
|
|
|
|
|
-P <#>::
|
|
|
|
--nr-poll-queues=<#>::
|
|
|
|
Adds additional queues that will be used for polling latency sensitive I/O.
|
|
|
|
|
|
|
|
-Q <#>::
|
|
|
|
--queue-size=<#>::
|
|
|
|
Overrides the default number of elements in the I/O queues created
|
|
|
|
by the driver. This option will be ignored for discovery, but will be
|
|
|
|
passed on to the subsequent connect call.
|
|
|
|
|
|
|
|
-p::
|
|
|
|
--persistent::
|
|
|
|
Don't remove the discovery controller after retrieving the discovery
|
|
|
|
log page.
|
|
|
|
|
2025-02-16 11:31:10 +01:00
|
|
|
-S::
|
2025-02-16 11:09:01 +01:00
|
|
|
--quiet::
|
|
|
|
Suppress error messages.
|
|
|
|
|
2025-02-16 12:15:45 +01:00
|
|
|
-O::
|
|
|
|
--dump-config::
|
|
|
|
Print out resulting JSON configuration file to stdout.
|
|
|
|
|
2025-02-16 11:09:01 +01:00
|
|
|
|
|
|
|
EXAMPLES
|
|
|
|
--------
|
|
|
|
* Connect to all records returned by the Discover Controller with IP4 address
|
|
|
|
192.168.1.3 for all resources allocated for NVMe Host name host1-rogue-nqn on
|
|
|
|
the RDMA network. Port 4420 is used by default:
|
|
|
|
+
|
|
|
|
------------
|
|
|
|
# nvme connect-all --transport=rdma --traddr=192.168.1.3 \
|
|
|
|
--hostnqn=host1-rogue-nqn
|
|
|
|
------------
|
|
|
|
+
|
2025-02-16 12:15:45 +01:00
|
|
|
* Issue a 'nvme connect-all' command using a @SYSCONFDIR@/nvme/discovery.conf file:
|
2025-02-16 11:09:01 +01:00
|
|
|
+
|
|
|
|
-----------
|
|
|
|
# Machine default 'nvme discover' commands. Query the
|
|
|
|
# Discovery Controller's two ports (some resources may only
|
|
|
|
# be accessible on a single port). Note an official
|
|
|
|
# nqn (Host) name defined in the NVMe specification is being used
|
|
|
|
# in this example.
|
|
|
|
-t rdma -a 192.168.69.33 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
|
|
|
|
-t rdma -a 192.168.1.4 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
|
|
|
|
|
|
|
|
At the prompt type "nvme connect-all".
|
|
|
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
SEE ALSO
|
|
|
|
--------
|
|
|
|
nvme-discover(1)
|
|
|
|
nvme-connect(1)
|
|
|
|
|
|
|
|
NVME
|
|
|
|
----
|
|
|
|
Part of the nvme-user suite
|