Provided by: iscsitarget_0.4.15+svn148-2.1ubuntu2_i386 bug

NAME

       /etc/ietd.conf - configuration for iSCSI Enterprise Target Daemon

SYNOPSIS

       /etc/ietd.conf

DESCRIPTION

       /etc/ietd.conf  contains  configuration  information  for  the ietd (8)
       command. This is the place, where you configure your iSCSI targets  and
       daemon defaults.

       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.

       The  "Yes"  and  "No"  for  parameter  values  are  case sensitive. The
       parameter names are case insensitive.

       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
       OutgoingUser jack secret2

       Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
           IncomingUser jim othersecret
           OutgoingUser james yetanothersecret
           Lun 0 Path=/dev/sdc,Type=fileio
           Lun 1 Sectors=10000,Type=nullio
           Alias Test
           HeaderDigest None
           DataDigest None
           MaxConnections 1
           InitialR2T Yes
           ImmediateData No
           MaxRecvDataSegmentLength 8192
           MaxXmitDataSegmentLength 8192
           MaxBurstLength 262144
           FirstBurstLength 65536
           DefaultTime2Wait 2
           DefaultTime2Retain 20
           MaxOutstandingR2T 8
           DataPDUInOrder Yes
           DataSequenceInOrder Yes
           ErrorRecoveryLevel 0

       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.

GLOBAL OPTIONS

       Global Options are case sensitive.

       [IncomingUser <username> <password>]
              The  <username> and <password> used during discovery sessions to
              authenticate iSCSI initiators. Several of those can be specified
              for discovery. If no IncomingUser is specified, any initiator is
              allowed to open a discovery session.
              HINT: RFC 3720 requires <password> to  be  12  characters  long.
              This is enforced e.g. by MS Initiator.

       [OutgoingUser <username> <password>]
              The  <username> and <password> used during discovery sessions to
              authenticate  the  target  to  initiators.  Only  one   outgoing
              <username>/<password> combination may be specified.
              HINT:  RFC  3720  requires  <password> to be 12 characters long.
              This is enforced e.g. by MS Initiator.

       Target iqn.<yyyy-mm>.<tld.domain.some.host>[:<identifier>]
              A target definition and the target name. The targets  name  (the
              iSCSI  Qualified  Name  )  must  be  a  globally unique name (as
              defined by the  iSCSI  standard)  and  has  to  start  with  iqn
              followed  by  a  single  dot.  The EUI-64 form is not supported.
              <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  <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.2004-07.com.example.host:storage.disk2.sys1.xyz

TARGET OPTIONS

       Target options are also case sensitive.

       [IncomingUser <username> <password>]
              The <username> and <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 IncomingUser Option, connections are
              allowed without authentication. A <password> has to be provided,
              if  there  is  a  <username> given. Specifying several different
              IncomingUser accounts is supported.

       [OutgoingUser <username> <password>]
              The <username> and <password> used to  authenticate  this  iSCSI
              target  to  initiators.  Only  one  OutgoingUser  per  target is
              supported. It may be different from the username and password in
              section   GLOBAL   OPTIONS,  which  is  used  for  discovery.  A
              <password> has to be provided, if there is a <username> given.

       Lun                                                               <lun>
       Path=<device>,Type=(fileio|blockio)[,ScsiId=<scsi_id>][,ScsiSN=<scsi_sn>][,IOMode=(wb|ro)]
       | Sectors=<size>,Type=nullio
              Parameters after  <lun>  should  not  contain  any  blank  space
              character except the first blank space after <lun> is needed.

              This  line  must  occur at least once. The value of <lun> can be
              between 0 and 2^14-1.

              In fileio  mode  (default),  it  defines  a  mapping  between  a
              "Logical  Unit Number" <lun> and a given device <device> , which
              can be any block device (including regular  block  devices  like
              hdX and sdX and virtual block devices like LVM and Software RAID
              devices) or regular files.

              In blockio mode, it defines a mapping between  a  "Logical  Unit
              Number" <lun> and a given block device <device>.  This mode will
              perform direct block i/o with the device,  bypassing  page-cache
              for  all operations.  This allows for efficient handling of non-
              aligned sector transfers (virtualized  environments)  and  large
              block  transfers  (media servers).  This mode works ideally with
              high-end storage HBAs and for applications that  either  do  not
              need  caching  between  application  and  disk or need the large
              block throughput.

              Optionally a <scsi_id> can be specified to assign a unique ID to
              the  iSCSI  volume.  This  is  useful e.g. in conjunction with a
              multipath-aware  initiator  host  accessing  the  same  <device>
              through  several  targets.   The  <scsi_id>  must  not exceed 16
              characters and controls the content of VPD 0x83.  The  <scsi_sn>
              must not exceed 16 characters and controls the content VPD 0x80.

              By default, LUNs are writable, employing write-through  caching.
              By  setting IOMode to "ro" a LUN can only be accessed read only.
              Setting IOMode to "wb" will enable write-back  caching.   Please
              note  that  this  could  lead to data loss e.g. in case of power
              outages, so it is  strongly  recommended  to  use  an  UPS  when
              enabling  write-back caching.  NOTE: IOMode "wb" is ignored when
              employing blockio.

              In nullio mode, it defines a mapping  between  a  "Logical  Unit
              Number" <lun> and an unnamed virtual device with <size> sectors.
              This is ONLY useful for performance  measurement  purposes.  All
              writes  to  this virtual device will be discarded and reads will
              return random data.

       [Alias <aliasname>]
              This assigns an optional <aliasname> to the target.

       [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.

       [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.

       [MaxConnections <value>]
              Optional.  Has  to  be set to "1" (in words: one), which is also
              the default.

       [InitialR2T <Yes|No>]
              Optional. If set to "Yes" (default), the initiator has  to  wait
              for  the  target to solicit SCSI data before sending it. Setting
              it  to  "No"  allows  the  initiator  to   send   a   burst   of
              FirstBurstLength bytes unsolicited right after and/or (depending
              on the setting of ImmediateData )  together  with  the  command.
              Thus setting it to "No" may improve performance.

       [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". The default is "No".

       [MaxRecvDataSegmentLength <value>]
              Optional.  Sets  the  maximum  data  segment  length that can be
              received. The <value> should be set to multiples  of  PAGE_SIZE.
              Currently  the  maximum  supported value is 64 * PAGE_SIZE, e.g.
              262144 if PAGE_SIZE is 4kB. 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 8192.

       [MaxXmitDataSegmentLength <value>]
              Optional. Sets the maximum data segment length that can be sent.
              The    <value>    actually    used    is    the    minimum    of
              MaxXmitDataSegmentLength    and   the   MaxRecvDataSegmentLength
              announced by  the  initiator.  The  <value>  should  be  set  to
              multiples of PAGE_SIZE. Currently the maximum supported value is
              64 * PAGE_SIZE, e.g. 262144 if PAGE_SIZE is 4kB. 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 8192.

       [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  <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
              262144.

       [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 InitialR2T
              and   ImmediateData  <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
              65536.

       [DefaultTime2Wait <value>]
              Currently not supported.

       [DefaultTime2Retain <value>]
              Currently not supported.

       [MaxOutstandingR2T <value>]
              Optional.  Controls  the  maximum  number  of data transfers the
              target may request at once, each of up to MaxBurstLength  bytes.
              The default is 1.

       [DataPDUInOrder <Yes|No>]
              Optional. Has to be set to "Yes" - which is also the default.

       [DataSequenceInOrder <Yes|No>]
              Optional. Has to be set to "Yes" - which is also the default.

       [ErrorRecoveryLevel <value>]
              Optional.  Has  to be set to "0" (in words: zero), which is also
              the default.

       [Wthreads <value>]
              Optional. The iSCSI target employs several  threads  to  perform
              the  actual  block I/O to the device. Depending on your hardware
              and your (expected) workload, the number of these threads may be
              carefully  adjusted. The default value of 8 should be sufficient
              for most purposes.

       [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
              value  may be carefully adjusted. The default value of 32 should
              be sufficient for most purposes.

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.

SEE ALSO

       ietd (8)

       You should have a look at
              RFC 3720 for all the glory details.

A. Lehmann, M. Zhang and A. Redli27 July 2005                     IETD.CONF(5)