| .\" Process this file with |
| .\" groff -man -Tascii iscsi-scstd.conf.5 |
| .\" |
| .TH "ISCSI_SCSTD.CONF" "5" "May 2007" "A. Lehmann, M. Zhang and A. Redlich" "File formats" |
| .SH "NAME" |
| /etc/iscsi-scstd.conf \- configuration for iSCSI SCST Target Daemon |
| .SH "SYNOPSIS" |
| /etc/iscsi-scstd.conf |
| .SH "DESCRIPTION" |
| /etc/iscsi-scstd.conf contains configuration information for the |
| .B iscsi-scstd (8) |
| command. This is the place, where you configure your iSCSI targets and daemon parameters. |
| .P |
| Only lines starting with `#' are ignored. Putting '#' in the middle of a line is disallowed. A line may be extended across multiple lines by making the last character a backslash. |
| .P |
| The "Yes" and "No" for parameter values are case sensitive. The parameter names are case insensitive. |
| .P |
| The file consists of a global part and zero or more "Target" stanzas. Everything until the first target definition belongs to the global configuration. |
| |
| Here is an example: |
| |
| IncomingUser joe secret |
| .br |
| OutgoingUser jack secret2 |
| |
| Target iqn.2007\-05.com.example:storage.disk2.sys1.xyz |
| IncomingUser jim othersecret |
| OutgoingUser james yetanothersecret |
| Alias Test |
| HeaderDigest None |
| DataDigest None |
| MaxConnections 1 |
| InitialR2T No |
| ImmediateData Yes |
| MaxRecvDataSegmentLength 1048576 |
| MaxXmitDataSegmentLength 1048576 |
| MaxBurstLength 1048576 |
| FirstBurstLength 1048576 |
| DefaultTime2Wait 2 |
| DefaultTime2Retain 20 |
| MaxOutstandingR2T 20 |
| DataPDUInOrder Yes |
| DataSequenceInOrder Yes |
| ErrorRecoveryLevel 0 |
| .P |
| Stanzas start with the word "Target" and the target name. This name must be a globally unique name, as defined by the iSCSI standard : the "iSCSI Qualified Name". The daemon brings the targets up in the order listed. |
| .SH "GLOBAL OPTIONS" |
| Global Options are case sensitive. |
| .TP |
| .B [IncomingUser <username> <password>] |
| The |
| .I <username> |
| and |
| .I <password> |
| used during discovery sessions to authenticate iSCSI initiators. Several of those can be specified for discovery. If no |
| .B IncomingUser |
| is specified, any initiator is allowed to open a discovery session. |
| .RS |
| HINT: RFC 3720 requires |
| .I <password> |
| to be 12 characters long. This is enforced e.g. by MS Initiator. |
| .RE |
| .TP |
| .B [OutgoingUser <username> <password>] |
| The |
| .I <username> |
| and |
| .I <password> |
| used during discovery sessions to authenticate the target to initiators. Only one outgoing |
| .I <username>/<password> |
| combination may be specified. |
| .RS |
| HINT: RFC 3720 requires |
| .I <password> |
| to be 12 characters long. This is enforced e.g. by MS Initiator. |
| .RE |
| .TP |
| .B Target iqn.<yyyy\-mm>.<tld.domain.some.host>[:<identifier>] |
| A target definition and the target name. The targets name (the |
| .B iSCSI Qualified Name |
| ) must be a globally unique name (as defined by the iSCSI standard) and has to start with |
| .I iqn |
| followed by a single dot. The EUI\-64 form is not supported. |
| .I <yyyy\-mm> |
| is the date (year and month) at which the domain is valid. This has to be followed by a single dot and the reversed domain name. |
| The optional |
| .I <identifier> |
| \- which is freely selectable \- has to be separated by a single colon. For further details please check the iSCSI spec. |
| |
| Here is an example: |
| |
| Target iqn.2007\-05.com.example.host:storage.disk2.sys1.xyz |
| .SH "TARGET OPTIONS" |
| Target options are also case sensitive. |
| .TP |
| .B [IncomingUser <username> <password>] |
| The |
| .I <username> |
| and |
| .I <password> |
| used to authenticate the iSCSI initiators to this target. It may be different from the username and password in section GLOBAL OPTIONS, which is used for discovery. If you omit the |
| .B IncomingUser |
| Option, connections are allowed without authentication. A |
| .I <password> |
| has to be provided, if there is a |
| .I <username> |
| given. Specifying several different |
| .B IncomingUser |
| accounts is supported. |
| .TP |
| .B [OutgoingUser <username> <password>] |
| The |
| .I <username> |
| and |
| .I <password> |
| used to authenticate this iSCSI target to initiators. Only one |
| .B |
| OutgoingUser |
| per target is supported. It may be different from the username and password in section GLOBAL OPTIONS, which is used for discovery. A |
| .I <password> |
| has to be provided, if there is a |
| .I <username> |
| given. |
| .TP |
| .B [Alias <aliasname>] |
| This assigns an optional |
| .I <aliasname> |
| to the target. |
| .TP |
| .B [HeaderDigest <CRC32C|None>] |
| Optional. If set to "CRC32C" and the initiator is configured accordingly, the integrity of an iSCSI PDU's header segments will be protected by a CRC32C checksum. The default is "None". Note that header digests are not supported during discovery sessions. |
| .TP |
| .B [DataDigest <CRC32C|None>] |
| Optional. If set to "CRC32C" and the initiator is configured accordingly, the integrity of an iSCSI PDU's data segment will be protected by a CRC32C checksum. The default is "None". Note that data digests are not supported during discovery sessions. |
| .TP |
| .B [MaxConnections <value>] |
| Optional. The number of connections within a session. Has to be set to "1" (in words: one), which is also the default since MC/S is not supported. |
| .TP |
| .B [InitialR2T <Yes|No>] |
| Optional. If set to "Yes", the initiator has to wait for the target to solicit SCSI data before sending it. Setting it to "No" (default) allows the initiator to send a burst of |
| .B FirstBurstLength |
| bytes unsolicited right after and/or (depending on the setting of |
| .B ImmediateData |
| ) together with the command. Thus setting it to "No" may improve performance. |
| .TP |
| .B [ImmediateData <Yes|No>] |
| Optional. This allows the initiator to append unsolicited data to a command. To achieve better performance, this should be set to "Yes". Which is the default. |
| .TP |
| .B [MaxRecvDataSegmentLength <value>] |
| Optional. Sets the maximum data segment length that can be received. The |
| .I <value> |
| should be set to multiples of PAGE_SIZE. Configuring too large values may lead to problems allocating sufficient memory, which in turn may lead to SCSI commands timing out at the initiator host. The default value is the highes possible for current platform (1 or 2 MB). |
| .TP |
| .B [MaxXmitDataSegmentLength <value>] |
| Optional. Sets the maximum data segment length that can be sent. The |
| .I <value> |
| actually used is the minimum of |
| .B MaxXmitDataSegmentLength |
| and the |
| .B MaxRecvDataSegmentLength |
| announced by the initiator. The |
| .I <value> |
| should be set to multiples of PAGE_SIZE. Configuring too large values may lead to problems allocating sufficient memory, which in turn may lead to SCSI commands timing out at the initiator host. The default value is the highes possible for current platform (1 or 2 MB). |
| .TP |
| .B [MaxBurstLength <value>] |
| Optional. Sets the maximum amount of either unsolicited or solicited data the initiator may send in a single burst. Any amount of data exceeding this value must be explicitly solicited by the target. The |
| .I <value> |
| should be set to multiples of PAGE_SIZE. Configuring too large values may lead to problems allocating sufficient memory, which in turn may lead to SCSI commands timing out at the initiator host. The default value is the highes possible for current platform (1 or 2 MB). |
| .TP |
| .B [FirstBurstLength <value>] |
| Optional. Sets the amount of unsolicited data the initiator may transmit in the first burst of a transfer either with and/or right after the command, depending on the settings of |
| .B InitialR2T |
| and |
| .B ImmediateData |
| . |
| .I <value> |
| should be set to multiples of PAGE_SIZE. Configuring too large values may lead to problems allocating sufficient memory, which in turn may lead to SCSI commands timing out at the initiator host. The default value is the highes possible for current platform (1 or 2 MB). |
| .TP |
| .B [DefaultTime2Wait <value>] |
| Currently not supported. |
| .TP |
| .B [DefaultTime2Retain <value>] |
| Currently not supported. |
| .TP |
| .B [MaxOutstandingR2T <value>] |
| Optional. Controls the maximum number of data transfers the target may request at once, each of up to |
| .B MaxBurstLength |
| bytes. The default is 20. |
| .TP |
| .B [DataPDUInOrder <Yes|No>] |
| Optional. Has to be set to "Yes" \- which is also the default. |
| .TP |
| .B [DataSequenceInOrder <Yes|No>] |
| Optional. Has to be set to "Yes" \- which is also the default. |
| .TP |
| .B [ErrorRecoveryLevel <value>] |
| Optional. Has to be set to "0" (in words: zero), which is also the default. |
| .TP |
| .B [QueuedCommands <value>] |
| Optional. This parameter defines a window of commands an initiator may send and that will be buffered by the target. Depending on your hardware and your (expected) workload, the |
| .I value |
| may be carefully adjusted. The default value of 32 should be sufficient for most purposes. |
| .SH "KNOWN BUGS/LIMITATIONS" |
| Currently (as of 0.4.11) not all iSCSI target parameters are used. Header and data digests are not supported during discovery sessions. |
| .SH "SEE ALSO" |
| .B iscsi-scstd (8) |
| .TP |
| You should have a look at |
| .B RFC 3720 |
| for all the glory details. |