Default variables: configuration
some of debops.tgt
default variables have more extensive configuration than
simple strings or lists, here you can find documentation and examples for them.
tgt_targets
This is a list of iSCSI Targets configured on the host. Each iSCSI Target can
have multiple backing stores with custom configuration. Examples of options
which can be passed to the tgt
configuration can be found in
/usr/share/doc/tgt/examples/targets.conf.example.gz
.
List of recognized iSCSI Target parameters:
name
Required. Target name, added after
tgt_iqn_base
string, used also as the filename of the configuration file in/etc/tgt/conf.d/*.conf
ifitem.filename
is not specified.filename
Alternative name of the configuration file.
iqn
Custom IQN string used instead of the default one.
options
tgt
options added to a given target, in YAML text block format.backing_stores
List of volumes present in a given iSCSI Target (see below).
direct_stores
List of "passthrough" volumes present in a given iSCSI Target (see below).
delete
If present and
True
, this iSCSI Target configuration will be removed from the configuration directory; if a given target is not used at the moment of deletion, it will also be removed from the server.
iSCSI backing/direct stores
To provide a given volume through iSCSI, you need to specify it in a given
target as either a backing-store
or direct-stre
. Direct stores read
some metadata from storage devices and are more suited to export real hardware
storage media, backing stores are more suited to export logical volumes, block
devices or files.
To configure a set of stores, you can specify them directly in item.options
parameter:
tgt_targets:
- name: 'hostname.data'
options: |
backing-store /dev/sdc
backing-store /dev/sdd
There are also available separate lists, backing_stores
and
direct_stores
. Using these, you can specify a YAML list of block devices or
files to add to the iSCSI Target:
tgt_targets:
- name: 'hostname.data'
backing_stores: [ '/dev/sdc', '/dev/sdd' ]
If you need to specify additional per-store options, you can specify them as dicts instead:
tgt_targets:
- name: 'hostname.data'
backing_stores:
- store: '/dev/sdc'
options: |
lun 1
- store: '/dev/sdd'
options: |
lun 2
Warning: you need to make sure to only use one of these definition types in
an iSCSI Target, ie. either a simple list of stores or a list of dicts which
define stores. Never mix them, otherwise the tgt
configuration parser won't
be able to correctly parse the configuration files.
Other examples
How to create an iSCSI Target with an image file presented as a CD/DVD drive:
tgt_targets:
- name: 'install.debian.wheezy'
backing_stores:
- '/srv/tgt/image/install/debian-7.8.0-amd64-i386-netinst.iso'
options: |
device-type cd
readonly 1
MaxConnections 10