TGT iSCSI Target
Related articles
The TGT SCSI framework can be used for several storage protocols. This document describes the usage of TGT as iSCSI target.
Why TGT
There are several different iSCSI targets for Linux available, with more or less the same performance. TGT has the following advantages:
- active development
- the only iSCSI target that can be used for vSphere environments
Installation
The tgtAUR software must be deployed from AUR. If you want to use the direct store, then sg3_utils must be deployed from the [extra] repository. Using direct-store, the properties of the physical device will be available for the initiator and target.
Please notice, if you're using a Firewall, tcp port 3260 should be open.
Configuration
The configuration can be done:
- using the
tgtadm
utility, afterwards you can usetgt-admin --dump
to save the configuration.
You can find this method in the Scsi-target-utils Quickstart Guide, as linked from the TGT website. Unfortunately the bad thing about this method is that not all parameters will be stored in the configuration file. - editing the /etc/tgt/targets.conf file.
Example configuration
<target iqn.2004-01.nl.xtg:iscsi-server1> direct-store /dev/sdb write-cache on initiator-address ALL incominguser user password scsi_id 00010001 vendor_id XTG lun 12 </target>
MaxRecvDataSegmentLength 131072 MaxXmitDataSegmentLength 131072 MaxBurstLength 262144 FirstBurstLength 262144 TargetRecvDataSegmentLength=262144 InitiatorRecvDataSegmentLength=262144 MaxOutstandingUnexpectedPDUs=0 MaxOutstandingR2T=1 MaxCommands=128
In the first part of this example, /dev/sdb will be offered as lun 12 and chap authentication is configured. In the second part are some iSCSI advanced parameters
Start
If the configuration is well done, TGT can be started:
sudo systemctl start tgtd
If you want to start TGT during the boot process of Arch Linux, add tgt in the DAEMONS area of the rc.conf file.
systemctl enable tgtd
You can check if everything works like expected:
tgt-admin -s