2016-07-18 22:14:08 +00:00
|
|
|
# NVMf Target Configuration File
|
2016-06-06 21:44:30 +00:00
|
|
|
#
|
|
|
|
# Please write all parameters using ASCII.
|
|
|
|
# The parameter must be quoted if it includes whitespace.
|
|
|
|
#
|
|
|
|
# Configuration syntax:
|
2016-07-18 22:14:08 +00:00
|
|
|
# Leading whitespace is ignored.
|
|
|
|
# Lines starting with '#' are comments.
|
2016-06-06 21:44:30 +00:00
|
|
|
# Lines ending with '\' are concatenated with the next line.
|
2016-07-18 22:14:08 +00:00
|
|
|
# Bracketed ([]) names define sections
|
2016-06-06 21:44:30 +00:00
|
|
|
|
2016-07-18 22:14:08 +00:00
|
|
|
[Global]
|
2016-06-06 21:44:30 +00:00
|
|
|
# Users can restrict work items to only run on certain cores by
|
|
|
|
# specifying a ReactorMask. Default ReactorMask mask is defined as
|
|
|
|
# -c option in the 'ealargs' setting at beginning of file nvmf_tgt.c.
|
|
|
|
#ReactorMask 0x00FF
|
|
|
|
|
|
|
|
# Tracepoint group mask for spdk trace buffers
|
|
|
|
# Default: 0x0 (all tracepoint groups disabled)
|
|
|
|
# Set to 0xFFFFFFFFFFFFFFFF to enable all tracepoint groups.
|
|
|
|
#TpointGroupMask 0x0
|
|
|
|
|
2016-11-01 17:02:22 +00:00
|
|
|
[Rpc]
|
|
|
|
# Defines whether to enable configuration via RPC.
|
|
|
|
# Default is disabled. Note that the RPC interface is not
|
|
|
|
# authenticated, so users should be careful about enabling
|
|
|
|
# RPC in non-trusted environments.
|
|
|
|
Enable No
|
2016-12-13 23:12:27 +00:00
|
|
|
# Listen address for the RPC service.
|
2016-12-13 23:22:11 +00:00
|
|
|
# May be an IP address or an absolute path to a Unix socket.
|
2016-12-13 23:12:27 +00:00
|
|
|
Listen 127.0.0.1
|
2016-11-01 17:02:22 +00:00
|
|
|
|
2016-08-15 01:16:49 +00:00
|
|
|
# Users may change this section to create a different number or size of
|
|
|
|
# malloc LUNs.
|
|
|
|
# This will generate 8 LUNs with a malloc-allocated backend.
|
|
|
|
# Each LUN will be size 64MB and these will be named
|
|
|
|
# Malloc0 through Malloc7. Not all LUNs defined here are necessarily
|
|
|
|
# used below.
|
|
|
|
[Malloc]
|
|
|
|
NumberOfLuns 8
|
|
|
|
LunSizeInMB 64
|
|
|
|
|
2017-03-01 23:50:29 +00:00
|
|
|
# Users must change this section to match the /dev/sdX devices to be
|
|
|
|
# exported as iSCSI LUNs. The devices are accessed using Linux AIO.
|
|
|
|
# The format is:
|
|
|
|
# AIO <file name> <bdev name>
|
|
|
|
# The file name is the backing device
|
|
|
|
# The bdev name can be referenced from elsewhere in the configuration file.
|
2017-08-10 00:28:32 +00:00
|
|
|
# Block size may be omitted to automatically detect the block size of a disk.
|
2017-01-18 04:10:01 +00:00
|
|
|
[AIO]
|
2017-03-01 23:50:29 +00:00
|
|
|
AIO /dev/sdb AIO0
|
|
|
|
AIO /dev/sdc AIO1
|
2017-08-10 00:28:32 +00:00
|
|
|
AIO /tmp/myfile AIO2 4096
|
2017-01-18 04:10:01 +00:00
|
|
|
|
2016-07-18 22:14:08 +00:00
|
|
|
# Define NVMf protocol global options
|
2016-06-06 21:44:30 +00:00
|
|
|
[Nvmf]
|
2016-07-18 22:14:08 +00:00
|
|
|
# Set the maximum number of submission and completion queues per session.
|
|
|
|
# Setting this to '8', for example, allows for 8 submission and 8 completion queues
|
|
|
|
# per session.
|
2016-07-28 17:23:52 +00:00
|
|
|
MaxQueuesPerSession 4
|
2016-06-06 21:44:30 +00:00
|
|
|
|
2016-07-18 22:14:08 +00:00
|
|
|
# Set the maximum number of outstanding I/O per queue.
|
2016-06-06 21:44:30 +00:00
|
|
|
#MaxQueueDepth 128
|
|
|
|
|
2016-07-25 21:22:58 +00:00
|
|
|
# Set the maximum in-capsule data size. Must be a multiple of 16.
|
|
|
|
#InCapsuleDataSize 4096
|
|
|
|
|
|
|
|
# Set the maximum I/O size. Must be a multiple of 4096.
|
|
|
|
#MaxIOSize 131072
|
|
|
|
|
2016-08-16 06:22:51 +00:00
|
|
|
# Set the global acceptor lcore ID, lcores are numbered starting at 0.
|
|
|
|
#AcceptorCore 0
|
|
|
|
|
2016-09-12 17:44:58 +00:00
|
|
|
# Set how often the acceptor polls for incoming connections. The acceptor is also
|
|
|
|
# responsible for polling existing connections that have gone idle. 0 means continuously
|
|
|
|
# poll. Units in microseconds.
|
2016-11-25 01:46:49 +00:00
|
|
|
AcceptorPollRate 10000
|
2016-09-12 17:44:58 +00:00
|
|
|
|
2017-01-13 19:58:23 +00:00
|
|
|
[Nvme]
|
2017-03-01 20:35:59 +00:00
|
|
|
# NVMe Device Whitelist
|
|
|
|
# Users may specify which NVMe devices to claim by their transport id.
|
|
|
|
# See spdk_nvme_transport_id_parse() in spdk/nvme.h for the correct format.
|
|
|
|
# The second argument is the assigned name, which can be referenced from
|
|
|
|
# other sections in the configuration file. For NVMe devices, a namespace
|
|
|
|
# is automatically appended to each name in the format <YourName>nY, where
|
|
|
|
# Y is the NSID (starts at 1).
|
|
|
|
TransportId "trtype:PCIe traddr:0000:00:00.0" Nvme0
|
|
|
|
TransportId "trtype:PCIe traddr:0000:01:00.0" Nvme1
|
|
|
|
|
|
|
|
# The number of attempts per I/O when an I/O fails. Do not include
|
|
|
|
# this key to get the default behavior.
|
2017-04-04 18:12:40 +00:00
|
|
|
RetryCount 4
|
2017-03-30 19:49:52 +00:00
|
|
|
# Timeout for each command, in seconds. If 0, don't track timeouts.
|
2017-04-04 18:12:40 +00:00
|
|
|
Timeout 0
|
2017-03-30 19:49:52 +00:00
|
|
|
# Action to take on command time out. Only valid when Timeout is greater
|
|
|
|
# than 0. This may be 'Reset' to reset the controller, 'Abort' to abort
|
|
|
|
# the command, or 'None' to just print a message but do nothing.
|
|
|
|
# Admin command timeouts will always result in a reset.
|
|
|
|
ActionOnTimeout None
|
2017-03-01 20:35:59 +00:00
|
|
|
# Set how often the admin queue is polled for asynchronous events.
|
2017-01-13 19:58:23 +00:00
|
|
|
# Units in microseconds.
|
|
|
|
AdminPollRate 100000
|
2016-12-10 22:43:18 +00:00
|
|
|
|
2017-08-17 14:18:52 +00:00
|
|
|
# Disable handling of hotplug (runtime insert and remove) events,
|
|
|
|
# users can set to Yes if want to enable it.
|
|
|
|
# Default: No
|
|
|
|
HotplugEnable No
|
2017-03-30 19:57:10 +00:00
|
|
|
|
2016-08-29 17:15:47 +00:00
|
|
|
# The Split virtual block device slices block devices into multiple smaller bdevs.
|
|
|
|
[Split]
|
|
|
|
# Syntax:
|
|
|
|
# Split <bdev> <count> [<size_in_megabytes>]
|
|
|
|
|
|
|
|
# Split Malloc2 into two equally-sized portions, Malloc2p0 and Malloc2p1
|
|
|
|
Split Malloc2 2
|
|
|
|
|
|
|
|
# Split Malloc3 into eight 1-megabyte portions, Malloc3p0 ... Malloc3p7,
|
|
|
|
# leaving the rest of the device inaccessible
|
|
|
|
Split Malloc3 8 1
|
|
|
|
|
2016-07-18 22:14:08 +00:00
|
|
|
# Define an NVMf Subsystem.
|
|
|
|
# - NQN is required and must be unique.
|
2016-08-16 06:22:51 +00:00
|
|
|
# - Core may be set or not. If set, the specified subsystem will run on
|
|
|
|
# it, otherwise each subsystem will use a round-robin method to allocate
|
|
|
|
# core from available cores, lcores are numbered starting at 0.
|
2016-07-18 22:14:08 +00:00
|
|
|
# - Between 1 and 255 Listen directives are allowed. This defines
|
|
|
|
# the addresses on which new connections may be accepted. The format
|
|
|
|
# is Listen <type> <address> where type currently can only be RDMA.
|
|
|
|
# - Between 0 and 255 Host directives are allowed. This defines the
|
|
|
|
# NQNs of allowed hosts. If no Host directive is specified, all hosts
|
|
|
|
# are allowed to connect.
|
2016-07-21 18:24:17 +00:00
|
|
|
# - Exactly 1 NVMe directive specifying an NVMe device by PCI BDF. The
|
|
|
|
# PCI domain:bus:device.function can be replaced by "*" to indicate
|
|
|
|
# any PCI device.
|
2016-08-15 01:16:49 +00:00
|
|
|
|
2017-06-27 18:26:19 +00:00
|
|
|
# Namespaces backed by physical NVMe devices
|
2016-06-08 18:22:36 +00:00
|
|
|
[Subsystem1]
|
2016-07-11 22:22:03 +00:00
|
|
|
NQN nqn.2016-06.io.spdk:cnode1
|
2016-08-16 06:22:51 +00:00
|
|
|
Core 0
|
2016-07-15 21:16:59 +00:00
|
|
|
Listen RDMA 15.15.15.2:4420
|
|
|
|
Host nqn.2016-06.io.spdk:init
|
2017-06-27 18:26:19 +00:00
|
|
|
SN SPDK00000000000001
|
|
|
|
Namespace Nvme0n1
|
|
|
|
Namespace Nvme1n1
|
2016-06-06 21:44:30 +00:00
|
|
|
|
2016-07-18 22:14:08 +00:00
|
|
|
# Multiple subsystems are allowed.
|
2017-06-27 18:26:19 +00:00
|
|
|
# Namespaces backed by non-NVMe devices
|
2016-06-08 18:22:36 +00:00
|
|
|
[Subsystem2]
|
2016-07-11 22:22:03 +00:00
|
|
|
NQN nqn.2016-06.io.spdk:cnode2
|
2016-08-16 06:22:51 +00:00
|
|
|
Core 0
|
2016-07-15 21:16:59 +00:00
|
|
|
Listen RDMA 192.168.2.21:4420
|
|
|
|
Host nqn.2016-06.io.spdk:init
|
2017-06-27 18:26:19 +00:00
|
|
|
SN SPDK00000000000002
|
2016-08-15 01:16:49 +00:00
|
|
|
Namespace Malloc0
|
|
|
|
Namespace Malloc1
|
2017-01-18 04:10:01 +00:00
|
|
|
Namespace AIO0
|
|
|
|
Namespace AIO1
|