Man Linux: Main Page and Category List

NAME

       tgtadm - Linux SCSI Target Administration Utility

SYNOPSIS

       tgtadm [OPTIONS]... [-C --control-port <port>] [--lld <driver>]
                           [--op <operation>] [--mode <mode>] [--tid <tid>]
                           [-T --targetname <targetname>]
                           [-Y --device-type <type>] [--lun <lun>]
                           [--backing-store <path>]
                           [--initiator-address <address>]
                           [--name <parameter>] [--value <value>]
                           [--params <param=value[,param=value...]>] [--help]

DESCRIPTION

       tgtadm is used to monitor and modify everything about Linux SCSI target
       software: targets, volumes, etc.

OPTIONS

       -C, --control-port=<port>
           It is possible to run multiple concurrent instances of tgtd on a
           host. This argument is used to control which instance the tgtadm
           command will operate on.

       -Y, --device-type=<type>
           When creating a LUN, this parameter specifies the type of device to
           create. Default is disk.

           Possible device-types are:
               disk    : emulate a disk device
               tape    : emulate a tape reader
               ssc     : same as tape
               cd      : emulate a DVD drive
               changer : emulate a media changer device

       --lld [driver] --op new --mode target --tid=[id] --targetname [name]
           Add a new target with [id] and [name].

       --lld [driver] --op delete --mode target --tid=[id]
           Delete specific target with [id]. The target must have no active
           I_T nexus.

       --lld [driver] --op show --mode target
           Show all the targets.

       --lld [driver] --op show --mode target --tid=[id]
           Show target parameters of a target with [id].

       --lld [driver] --op new --mode=logicalunit --tid=[id] --lun=[lun]
       --backing-store [path]
           Add a new logical unit with [lun] to specific target with [id]. The
           logical unit is offered to the initiators. [path] must be block
           device files (including LVM and RAID devices) or regular files.
           lun0 is reserved for a special device automatically created.

       --lld [driver] --op delete --mode=logicalunit --tid=[id] --lun=[lun]
           Delete specific logical unit with [lun] that the target with [id]
           has.

       --lld [driver] --op bind --mode=target --tid=[id]
       --initiator-address=[address]
           Add the address to the access lists of the target with [id].
           Initiators with the address can access to the target. 'ALL' is a
           special address to allow all initiators to access to a target.

       --lld [driver] --op unbind --mode=target --tid=[id]
       --initiator-address=[address]
           Delete the address from the access lists of the target with [id].

       --lld [driver] --op update --mode=target --tid=[id] --name=[parameter]
       --value=[value]
           Change the value of [parameter] of the target with [id] to [value].

       --lld [driver] --op update --mode=target --tid=[id] --params
       parameter=value[,...]
           Sets/changes the value of one or more parameters.

       --help
           Display a list of available options and exits.

LUN PARAMETERS

       These parameters are only applicable for "--mode logicalunit".

       vendor_id=<string>
           This parameter sets the Vendor Identification string that a LUN
           will report in INQURY data.

       product_id=<string>
           This parameter sets the Product Identification string that a LUN
           will report in INQURY data.

       product_rev=<string>
           This parameter sets the Product Revision string that a LUN will
           report in INQURY data.

           Example:

           tgtadm --lld iscsi --mode logicalunit --op update \
                  --tid <TID> --lun <LUN> \
                  --params vendor_id=TGTD,product_id=VirtualHD,product_rev=0103

       removable=<0|1>
           This can be used to override/change the default setting for the
           removable flag. Disk devices default to non-removable while DVD and
           TAPE devices default to removable.

       sense_format=<0|1>
           This flag controls the format of sense data that the device will
           return. 0 = Clasic sense format, 1 = Support descriptor format.

       online=<0|1>
           This controls whether a device is online or not.

           Devices default to be online when created but can be brought
           offline using this parameter. Behaviour of offline devices depend
           on device type. An MMC/DVD device that is offline will report that
           there is no disk in the unit but the actual MMC/DVD unit itself can
           still be communicated with. All other device types will fail all
           I/O with a sense code of Not Ready.

           Example:

           tgtadm --lld iscsi --mode logicalunit --op update \
                  --tid 1 --lun 1 \
                  --params removable=1,sense_format=1,online=1

       mode_page=<byte-string>
           This parameter is used to set specific mode pages for the device
           and the mode page contents. Most devices default to reasonable
           default mode pages automatically when the LUN is created, but this
           allows special settings.

           Examples:

           Create mode page '2', subpage 0 and 14 bytes of data.
           This is Disconnect-Reconnect mode page.

           tgtadm --mode logicalunit --op update --tid 1 --lun 2 \
                    --params mode_page=2:0:14:0x80:0x80:0:0xa:0:0:0:0:0:0:0:0:0:0

           Create mode page '10', subpage 0 and 10 bytes of data.
           This is Control Extension mode page.

           tgtadm --lld iscsi --mode logicalunit --op update --tid 1 --lun 2 \
                    --params mode_page=10:0:10:2:0:0:0:0:0:0:0:2:0

           Create mode page '0x1c', subpage 0 and 10 bytes of data.
           This is Informational Exceptions Control mode page.

           tgtadm --lld iscsi --mode logicalunit --op update --tid 1 --lun 2 \
                    --params mode_page=0x1c:0:10:8:0:0:0:0:0:0:0:0:0

SMC SPECIFIC LUN PARAMETERS

       These parameters are only applicable for luns that are of type
       "changer" i.e. the media changer device for a DVD Jukebox or a Virtual
       Tape Library.

       element_type=<1|2|3|4>
           This controls which type of element a certain slot in the
           jukebox/vtl is.

               Slot types:
                1 -> Medium Transport (picker arm)
                2 -> Storage Element
                3 -> Import/Export Element
                4 -> Data Transfer device (CD drive, tape drive, MO drive etc)

       address=<1-65535>
           This is used to create/operate on a single slot. Address specifies
           the slot on which to perform the operation.

       start_address=<1-65535>,quantity=<1--65535>
           This is used to create/operate on an entire range of slots at once.
           Start_address specifies the first address to operate on and
           quantity specifies the number of consequtive slots.

       sides=<1|2>
           When creating storage elements, i.e. "element_type=2", this
           parameter specifies if the media has 1 or two sides to hold data.

       barcode=<string>
           This is used to assign a barcode to an element.

       media_home=<string>
           This parameter specifies a directory where all virtual media for
           the dvd/tape device elements are stored.

           To assign a media image file to a storage element slot, you assign
           "barcode" to be the name of the image file in the "media_home"
           directory.

           Example: How to create a DVD jukebox with eight disk trays and
           two empty DVD-R disks.

           # Create a target
           tgtadm --lld iscsi --mode target --op new --tid 1 -T iqn.2007-03:virtual-dvd:`hostname`

           # Create a DVD drive and give it a nice name
           # The dvd starts out without a backing store file, i.e. no disk loaded
           tgtadm --op new --mode logicalunit --tid 1 --lun 1 -Y cd
           tgtadm --lld iscsi --mode logicalunit --op update --tid 1 --lun 1 --params vendor_id=STGT_DVD,product_id=DVD101,product_rev=0010,scsi_sn=STGTDVD01,removable=1

           # We need a backend store file for the media changer
           if [ ! -f $HOME/smc ]; then
                dd if=/dev/zero of=$HOME/smc bs=1k count=1
           fi

           # Create the SMC device and give it a nice name
           tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 2 -b $HOME/smc --device-type=changer
           tgtadm --lld iscsi --mode logicalunit --op update --tid 1 --lun 2 --params vendor_id=STK,product_id=L700,product_rev=0010,scsi_sn=XYZZY_0,removable=1

           # Add a Data Transfer devices (1 drive)
           tgtadm --lld iscsi --mode logicalunit --op update --tid 1 --lun 2 --params element_type=4,start_address=1,quantity=1

           # Specify that the DVD above (LUN 1) is the data transfer device we created
           tgtadm --lld iscsi --mode logicalunit --op update --tid 1 --lun 2 --params element_type=4,address=1,tid=1,lun=1

           # Medium Transport Elements (robot arm / picker)
           tgtadm --lld iscsi --mode logicalunit --op update --tid 1 --lun 2 --params element_type=1,start_address=16,quantity=1

           # define path to virtual media
           VTL=${HOME}/vtl
           mkdir -p ${VTL}
           tgtadm --lld iscsi --mode logicalunit --op update --tid 1 --lun 2 --params media_home=${VTL}

           # Storage Elements - 8 starting at addr 1024
           tgtadm --lld iscsi --mode logicalunit --op update --tid 1 --lun 2 --params element_type=2,start_address=1024,quantity=8

           # Add 'media' to slots 1 and 2 and leave the other 6 slots empty
           # slot 1
           # Create empty writeable virtual DVD-R media
           tgtimg --op new --device-type cd --type dvd+r --file ${VTL}/DISK_001
           tgtadm --lld iscsi --mode logicalunit --op update --tid 1 --lun 2 --params element_type=2,address=1024,barcode=DISK_001,sides=1

           # slot 2
           tgtimg --op new --device-type cd --type dvd+r --file ${VTL}/DISK_002
           tgtadm --lld iscsi --mode logicalunit --op update --tid 1 --lun 2 --params element_type=2,address=1025,barcode=DISK_002,sides=1

           # Allow ALL initiators to connect to this target
           tgtadm --lld iscsi --mode target --op bind --tid 1 -I ALL

           # Show all our good work.
           tgtadm --lld iscsi --mode target --op show

ISNS PARAMETERS

       iSNS configuration for a target is by using the tgtadm command.

       iSNSServerIP
           This specifies the IP address of the iSNS server. TGTD only
           supprots one iSNS server.

           Example:

           tgtadm --op update --mode sys --name iSNSServerIP -v 192.168.11.133

       iSNS
           This setting enables(on)/disables(off) iSNS.

           Example:

           tgtadm --op update --mode sys --name iSNS -v On

       iSNSServerPort
           This setting specifies the port to use for iSNS.

           Example:

           tgtadm --op update --mode sys --name iSNSServerPort -v 3205

       iSNSAccessControl
           Enable/disable access control for iSNS.

           Example:

           tgtadm --op update --mode sys --name iSNSAccessControl -v Off

SEE ALSO

       tgtd(8), tgt-admin(8), tgtimg(8), tgt-setup-lun(8).
       http://stgt.sourceforge.net/

REPORTING BUGS

       Report bugs to <stgt@vger.kernel.org>

                                  04/04/2010