# This is a sample config file for tgt-admin. # By default, tgt-admin looks for its config file in /etc/tgt/targets.conf # This one includes other config files: include /etc/tgt/temp/*.conf # Set the driver. If not specified, defaults to "iscsi". default-driver iscsi # Set iSNS parameters, if needed #iSNSServerIP 192.168.111.222 #iSNSServerPort 3205 #iSNSAccessControl On #iSNS On # Continue if tgtadm exits with non-zero code (equivalent of # --ignore-errors command line option) #ignore-errors yes # Sample target with one LUN only. Defaults to allow access for all initiators: backing-store /dev/LVM/somedevice # Similar, but we use "direct-store" instead of "backing-store". # "direct-store" reads drive parameters with sg_inq command and sets them to # the target. # Parameters fatched with sg_inq are: # - Vendor identification # - Product identification # - Product revision level # - Unit serial number (if present) # We also specify "incominguser". direct-store /dev/sdd incominguser someuser secretpass12 # An example with multiple LUNs, disabled write-cache (tgtd enables write-cache # by default) and vendor identification set to "MyVendor" backing-store /dev/LVM/somedevice1 # Becomes LUN 1 backing-store /dev/LVM/somedevice2 # Becomes LUN 2 backing-store /dev/LVM/somedevice3 # Becomes LUN 3 write-cache off vendor_id MyCompany Inc. # Similar to the one above, but we fetch vendor_id, product_id, product_rev and # scsi_sn from the disks. # Vendor identification (vendor_id) is replaced in all disks by "MyVendor" direct-store /dev/sdb # Becomes LUN 1 direct-store /dev/sdc # Becomes LUN 2 direct-store /dev/sdd # Becomes LUN 3 write-cache off vendor_id MyCompany Inc. # Note that "first-device-first-lun numbering" will work only for simple # scenarios above, where _only_ direct-store _or_ backing-store is used. # If you mix backing-store and direct-store, then all backing-store entries # are processed before direct-store-entries. direct-store /dev/sdb # Becomes LUN 3 backing-store /dev/sdc # Becomes LUN 1 direct-store /dev/sdd # Becomes LUN 4 backing-store /dev/sde # Becomes LUN 2 # Even more complicated example - each device has different parameters. # You can use indentation to make the config file more readable. # Note that LUNs will be assigned more or less randomly here (and still # backing-store get LUNs assigned before drect-store). # You can specify multiple mode_page parameters (they are commented out # in this example). # Note that some parameters (write-cache, scsi_sn) were specified "globally". # "Global" parameters will be applied to all LUNs; they can be overwritten # "locally", per LUN. # If lun is not specified, it will be allocated automatically (first available). vendor_id VENDOR1 removable 1 device-type cd lun 1 vendor_id VENDOR2 lun 2 vendor_id back1 scsi_sn SERIAL write-cache on # lun 3 # lun is commented out - will be allocated automatically vendor_id back2 #mode_page 8:0:18:0x10:0:0xff.... #mode_page 8:0:18:0x10:0:0xff.... #bs-type aio #params element_type=4,start_address=500,quantity=3,media_home=/root/tapes #params element_type=4,address=500,tid=1,lun=1 lun 15 # Some more parameters which can be specified locally or globally: #scsi_id ... #scsi_sn ... #vendor_id ... #product_id ... #product_rev ... #sense_format ... #removable ... #online ... #readonly ... #path ... #mode_page 8:0:18:0x10:0:0xff.... #mode_page 8:0:18:0x10:0:0xff.... #device-type ... #bs-type ... # backing store type - default rdwr, can be aio, etc... #params element_type=4,start_address=500,quantity=3,media_home=/root/tapes #params element_type=4,address=500,tid=1,lun=1 #allow-in-use yes # if specified globally, can't be overwritten locally write-cache off scsi_sn multipath-10 # Parameters below are only global. They can't be configured per LUN. # Only allow connections from 192.168.100.1 and 192.168.200.5 initiator-address 192.168.100.1 initiator-address 192.168.200.5 # Tuning parameters (global, per target) #MaxRecvDataSegmentLength 8192 #MaxXmitDataSegmentLength 8192 #HeaderDigest None #DataDigest None #InitialR2T Yes #MaxOutstandingR2T 1 #ImmediateData Yes #FirstBurstLength 65536 #MaxBurstLength 262144 #DataPDUInOrder Yes #DataSequenceInOrder Yes #ErrorRecoveryLevel 0 #IFMarker No #OFMarker No #DefaultTime2Wait 2 #DefaultTime2Retain 20 #OFMarkInt Reject #IFMarkInt Reject #MaxConnections 1 # Allowed incoming users incominguser user1 secretpass12 incominguser user2 secretpass23 # Outgoing user outgoinguser userA secretpassA # TID of controller controller_tid 10 # The device will have lun 1 unless you specify something else backing-store /dev/LVM/somedevice lun 10 # Devices which are in use (by system: mounted, for swap, part of RAID, or by # userspace: dd, by tgtd for another target etc.) can't be used, unless you use # --force flag or add 'allow-in-use yes' option backing-store /dev/LVM/somedevice allow-in-use yes scsi_sn serial1 scsi_sn serial2 allow-in-use yes # Specify controller TID of target # Must be unique for all targets # To reduce risk of duplicating controller TIDs, specify TID for all targets # or none backing-store /dev/LVM/somedevice allow-in-use yes controller_tid 10 # Not supported configurations, and therefore, commented out: # # backing-store /dev/LVM/somedevice1 # backing-store /dev/LVM/somedevice2 # lun 10 # lun 11 # # # # vendor_id VENDOR1 # # # direct-store /dev/sdc # # This one will break the parser: # # # vendor_id VENDOR1 # # # direct-store /dev/sdc # # # vendor_id VENDOR1 # #