234 lines
6.9 KiB
Text
234 lines
6.9 KiB
Text
nvme-connect(1)
|
|
===============
|
|
|
|
NAME
|
|
----
|
|
nvme-connect - Connect to a Fabrics controller.
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
'nvme connect' [--transport=<trtype> | -t <trtype>]
|
|
[--nqn=<subnqn> | -n <subnqn>]
|
|
[--traddr=<traddr> | -a <traddr>]
|
|
[--trsvcid=<trsvcid> | -s <trsvcid>]
|
|
[--host-traddr=<traddr> | -w <traddr>]
|
|
[--host-iface=<iface> | -f <iface>]
|
|
[--hostnqn=<hostnqn> | -q <hostnqn>]
|
|
[--hostid=<hostid> | -I <hostid>]
|
|
[--config=<filename> | -J <filename>]
|
|
[--dhchap-secret=<secret> | -S <secret>]
|
|
[--dhchap-ctrl-secret=<secret> | -C <secret>]
|
|
[--nr-io-queues=<#> | -i <#>]
|
|
[--nr-write-queues=<#> | -W <#>]
|
|
[--nr-poll-queues=<#> | -P <#>]
|
|
[--queue-size=<#> | -Q <#>]
|
|
[--keep-alive-tmo=<#> | -k <#>]
|
|
[--reconnect-delay=<#> | -c <#>]
|
|
[--ctrl-loss-tmo=<#> | -l <#>] [--tos=<#> | -T <#>]
|
|
[--keyring=<keyring>] [--tls-key=<tls-key>]
|
|
[--tls-key-identity=<identity>]
|
|
[--duplicate-connect | -D] [--disable-sqflow ]
|
|
[--hdr-digest | -g] [--data-digest | -G] [--tls]
|
|
[--concat] [--dump-config | -O] [--application=<id>]
|
|
[--output-format=<fmt> | -o <fmt>] [--verbose | -v]
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
Create a transport connection to a remote system (specified by --traddr and
|
|
--trsvcid) and create a NVMe over Fabrics controller for the NVMe subsystem
|
|
specified by the --nqn option.
|
|
|
|
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.
|
|
|tcp |The network fabric is a TCP/IP network.
|
|
|loop|Connect to a NVMe over Fabrics target on the local host
|
|
|=================
|
|
|
|
-n <subnqn>::
|
|
--nqn <subnqn>::
|
|
This field specifies the name for the NVMe subsystem to connect to.
|
|
|
|
-a <traddr>::
|
|
--traddr=<traddr>::
|
|
This field specifies the network address of the 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
|
|
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.
|
|
|
|
-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
|
|
@SYSCONFDIR@/nvme/hostnqn first. If that does not exist, the autogenerated
|
|
NQN value from the NVMe Host kernel module is used next.
|
|
The Host NQN uniquely identifies the NVMe Host.
|
|
|
|
-I <hostid>::
|
|
--hostid=<hostid>::
|
|
UUID(Universally Unique Identifier) to be discovered which should be
|
|
formatted.
|
|
|
|
-J <filename>::
|
|
--config=<filename>::
|
|
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/blob/master/doc/config-schema.json
|
|
|
|
-S <secret>::
|
|
--dhchap-secret=<secret>::
|
|
NVMe In-band authentication secret; needs to be in ASCII format as
|
|
specified in NVMe 2.0 section 8.13.5.8 'Secret representation'.
|
|
|
|
-C <secret>::
|
|
--dhchap-ctrl-secret=<secret>::
|
|
NVMe In-band authentication controller secret for bi-directional
|
|
authentication; needs to be in ASCII format as
|
|
specified in NVMe 2.0 section 8.13.5.8 'Secret representation'.
|
|
If not present bi-directional authentication is not attempted.
|
|
|
|
-i <#>::
|
|
--nr-io-queues=<#>::
|
|
Overrides the default number of I/O queues create by the driver.
|
|
|
|
-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.
|
|
|
|
-k <#>::
|
|
--keep-alive-tmo=<#>::
|
|
Overrides the default keep alive timeout (in seconds).
|
|
|
|
-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).
|
|
This is the maximum time the kernel will retry a connection, where each
|
|
retry will be issued after 'reconnect-delay' seconds.
|
|
|
|
-T <#>::
|
|
--tos=<#>::
|
|
Type of service for the connection (TCP)
|
|
|
|
--keyring=<keyring>::
|
|
Keyring for TLS key lookup, either the key id or the keyring name.
|
|
|
|
--tls-key=<tls-key>::
|
|
TLS key for the connection (TCP), either the TLS key in
|
|
interchange format or the key id. It's strongly recommended not
|
|
to provide the TLS key via the comamnd line due to security
|
|
concerns. Instead in production situation, the key should be
|
|
loaded into the keystore with 'nvme tls --import' and only the
|
|
'--tls' options used. The kernel will select the matching key.
|
|
|
|
--tls-key-identity=<identity>::
|
|
The identity used for the tls-key. If none is provided the
|
|
tls-key provided via the comamnd line is considered a
|
|
configuration key and a derive key will be loaded into the
|
|
keyring.
|
|
|
|
-D::
|
|
--duplicate-connect::
|
|
Allows duplicated connections between same transport host and subsystem
|
|
port.
|
|
|
|
--disable-sqflow::
|
|
Disables SQ flow control to omit head doorbell update for submission
|
|
queues when sending nvme completions.
|
|
|
|
-g::
|
|
--hdr-digest::
|
|
Generates/verifies header digest (TCP).
|
|
|
|
-G::
|
|
--data-digest::
|
|
Generates/verifies data digest (TCP).
|
|
|
|
--tls::
|
|
Enable TLS encryption (TCP).
|
|
|
|
--concat::
|
|
Enable secure concatenation (TCP).
|
|
|
|
-O::
|
|
--dump-config::
|
|
Print out resulting JSON configuration file to stdout.
|
|
|
|
--context <STR>::
|
|
Set the execution context to <STR>. This allows to coordinate
|
|
the management of the global resources.
|
|
|
|
-o <fmt>::
|
|
--output-format=<fmt>::
|
|
Set the reporting format to 'normal', 'json' or 'binary'. Only one
|
|
output format can be used at a time.
|
|
|
|
-v::
|
|
--verbose::
|
|
Increase the information detail in the output.
|
|
|
|
EXAMPLES
|
|
--------
|
|
* Connect to a subsystem named nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
|
|
on the IP4 address 192.168.1.3. Port 4420 is used by default:
|
|
+
|
|
------------
|
|
# nvme connect --transport=rdma --traddr=192.168.1.3 \
|
|
--nqn=nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
|
|
------------
|
|
|
|
SEE ALSO
|
|
--------
|
|
nvme-discover(1)
|
|
nvme-connect-all(1)
|
|
|
|
AUTHORS
|
|
-------
|
|
This was co-written by mailto:james.p.freyensee@intel.com[Jay Freyensee]
|
|
and mailto:hch@lst.de[Christoph Hellwig]
|
|
|
|
NVME
|
|
----
|
|
Part of the nvme-user suite
|