Tcm loop

The Linux SCSI Target Wiki

(Difference between revisions)
Jump to: navigation, search
(lsmod output)
(sg_inq -i output for tcm_loop emulated ports)
Line 63: Line 63:
   [10:0:1:0]  disk    LIO-ORG  IBLOCK          3.1  /dev/sdh  
   [10:0:1:0]  disk    LIO-ORG  IBLOCK          3.1  /dev/sdh  
     dir: /sys/bus/scsi/devices/10:0:1:0  [/sys/devices/tcm_loop_0/tcm_loop_adapter_1/host10/target10:0:1/10:0:1:0]
     dir: /sys/bus/scsi/devices/10:0:1:0  [/sys/devices/tcm_loop_0/tcm_loop_adapter_1/host10/target10:0:1/10:0:1:0]
 +
 +
== sg_inq -i /dev/sdg ==
 +
 +
VPD INQUIRY: Device Identification page
 +
  Designation descriptor number 1, descriptor length: 20
 +
    id_type: NAA,  code_set: Binary
 +
    associated with the addressed logical unit
 +
      NAA 6, IEEE Company_id: 0x1405
 +
      Vendor Specific Identifier: 0xa97e4ce21
 +
      Vendor Specific Identifier Extension: 0xc0711de829b000c2
 +
      [0x6001405a97e4ce21c0711de829b000c2]
 +
  Designation descriptor number 2, descriptor length: 52
 +
    id_type: T10 vendor identification,  code_set: ASCII
 +
    associated with the addressed logical unit
 +
      vendor id: LIO-ORG
 +
      vendor specific: IBLOCK:a97e4ce21c0711de829b000c2943d57b
 +
  Designation descriptor number 3, descriptor length: 8
 +
    transport: Serial Attached SCSI (SAS)
 +
    id_type: Relative target port,  code_set: Binary
 +
    associated with the target port
 +
      Relative target port: 0x8
 +
  Designation descriptor number 4, descriptor length: 8
 +
    transport: Serial Attached SCSI (SAS)
 +
    id_type: Target port group,  code_set: Binary
 +
    associated with the target port
 +
      Target port group: 0x0
 +
  Designation descriptor number 5, descriptor length: 8
 +
    id_type: Logical unit group,  code_set: Binary
 +
    associated with the addressed logical unit
 +
      Logical unit group: 0x0
 +
  Designation descriptor number 6, descriptor length: 36
 +
    transport: Serial Attached SCSI (SAS)
 +
    id_type: SCSI name string,  code_set: UTF-8
 +
    associated with the target port
 +
      SCSI name string:
 +
      naa.600140554cf3a18e,t,0x0001
== lsmod output ==
== lsmod output ==

Revision as of 10:50, 20 October 2009

The initial release of the TCM_Loop virtual SCSI fabric module for Target_Core_Mod/ConfigFS v3.2 has been committed into lio-core-2.6.git here patch

The source files can be view via kernel.org gitweb at lio-core-2.6.git/drivers/target/tcm_loop/

Contents

What is tcm_loop..?

TCM_Loop is a Target_Core_Mod/ConfigFS fabric module that provides locally accessable virtual Linux/SCSI devices from TCM storage objects such as IBLOCK and FILEIO. It allows TCM SPC-3 and above SCSI emulation to accessed via Linux/SCSI LLD driver, and provides CDB-level SAS emulation

What type of SCSI fabric features are available with tcm_loop..?

The complete set of Target_Core_Mod/ConfigFS SPC-3 logic including Persistent_Reservations and ALUA is available from the TCM_Loop Target mode emulated SAS ports.

What does tcm_loop.ko look like in action..?

Here is an example of creating two local virtual SCSI devices from a single TCM IBLOCK object on two virtual SAS Target Port Addresses, which are prefixed here with 'naa.'

  target:/usr/src/lio-utils.git# tcm_loop --createnexus 1
  Successfully created virtual SCSI I_T Nexus between TCM and Linux/SCSI HBA
    SAS Target Address: naa.600140554cf3a18e
    SAS Initiator Address naa.60014053226f0388
  target:/usr/src/lio-utils.git# tcm_loop --addlun naa.600140554cf3a18e 1 0 iblock_0/lvm_test0
  Successfully created SAS Target Port to local virtual SCSI Logical Unit
  target:/usr/src/lio-utils.git# tcm_loop --createnexus 1
  Successfully created virtual SCSI I_T Nexus between TCM and Linux/SCSI HBA
    SAS Target Address: naa.600140566ce31347
    SAS Initiator Address naa.6001405fd3afa2ef
  target:/usr/src/lio-utils.git# tcm_loop --addlun naa.600140566ce31347 1 0 iblock_0/lvm_test0
  Successfully created SAS Target Port to local virtual SCSI Logical Unit

tree /sys/kernel/config/target/loopback/

  /sys/kernel/config/target/loopback/
  |-- naa.600140554cf3a18e
  |   `-- tpgt_1
  |       |-- lun
  |       |   `-- lun_0
  |       |       `-- virtual_scsi_port -> ../../../../../../target/core/iblock_0/lvm_test0
  |       `-- nexus
  |           `-- naa.60014053226f0388
  |-- naa.600140566ce31347
  |   `-- tpgt_1
  |       |-- lun
  |       |   `-- lun_0
  |       |       `-- virtual_scsi_port -> ../../../../../../target/core/iblock_0/lvm_test0
  |       `-- nexus
  |           `-- naa.6001405fd3afa2ef
  `-- version

lsscsi -v output

  [9:0:1:0]    disk    LIO-ORG  IBLOCK           3.1   /dev/sdg 
    dir: /sys/bus/scsi/devices/9:0:1:0  [/sys/devices/tcm_loop_0/tcm_loop_adapter_0/host9/target9:0:1/9:0:1:0]
  [10:0:1:0]   disk    LIO-ORG  IBLOCK           3.1   /dev/sdh 
    dir: /sys/bus/scsi/devices/10:0:1:0  [/sys/devices/tcm_loop_0/tcm_loop_adapter_1/host10/target10:0:1/10:0:1:0]

sg_inq -i /dev/sdg

VPD INQUIRY: Device Identification page

 Designation descriptor number 1, descriptor length: 20
   id_type: NAA,  code_set: Binary
   associated with the addressed logical unit
     NAA 6, IEEE Company_id: 0x1405
     Vendor Specific Identifier: 0xa97e4ce21
     Vendor Specific Identifier Extension: 0xc0711de829b000c2
     [0x6001405a97e4ce21c0711de829b000c2]
 Designation descriptor number 2, descriptor length: 52
   id_type: T10 vendor identification,  code_set: ASCII
   associated with the addressed logical unit
     vendor id: LIO-ORG
     vendor specific: IBLOCK:a97e4ce21c0711de829b000c2943d57b
 Designation descriptor number 3, descriptor length: 8
   transport: Serial Attached SCSI (SAS)
   id_type: Relative target port,  code_set: Binary
   associated with the target port
     Relative target port: 0x8
 Designation descriptor number 4, descriptor length: 8
   transport: Serial Attached SCSI (SAS)
   id_type: Target port group,  code_set: Binary
   associated with the target port
     Target port group: 0x0
 Designation descriptor number 5, descriptor length: 8
   id_type: Logical unit group,  code_set: Binary
   associated with the addressed logical unit
     Logical unit group: 0x0
 Designation descriptor number 6, descriptor length: 36
   transport: Serial Attached SCSI (SAS)
   id_type: SCSI name string,  code_set: UTF-8
   associated with the target port
     SCSI name string:
     naa.600140554cf3a18e,t,0x0001

lsmod output

  Module                  Size  Used by
  tcm_loop               11606  9 
  iscsi_target_mod      205640  44 
  target_core_mod       226770  75 tcm_loop,iscsi_target_mod
  scsi_tgt                8806  1 target_core_mod
  configfs               21168  4 tcm_loop,iscsi_target_mod,target_core_mod
  dm_mirror              10356  0 
  dm_region_hash          7562  1 dm_mirror
  dm_log                  6769  2 dm_mirror,dm_region_hash
  dm_snapshot            18562  0 
  pcnet32                25510  0 
  mii                     3430  1 pcnet32

dmesg output

  Target_Core_ConfigFS: REGISTER -> group: e1193d80 name: loopback
  Initialized TCM Loop Core Bus
  <<<<<<<<<<<<<<<<<<<<<< BEGIN FABRIC API >>>>>>>>>>>>>>>>>>>>>>
  Initialized struct target_fabric_configfs: df226208 for loopback
  <<<<<<<<<<<<<<<<<<<<<< END FABRIC API >>>>>>>>>>>>>>>>>>>>>>
  TCM_LOOP[0] - Set fabric -> tcm_loop_fabric_configfs
  Target_Core_ConfigFS: REGISTER -> Located fabric: loopback
  Target_Core_ConfigFS: REGISTER -> e17bcddc
  Target_Core_ConfigFS: REGISTER -> Allocated Fabric: loopback
  Target_Core_ConfigFS: REGISTER -> Set tf->tf_fabric for loopback
  scsi9 : TCM_Loopback
  TCM_Loop_ConfigFS: Allocated emulated Target SAS Address: naa.600140554cf3a18e at Linux/SCSI Host ID: 9
  TARGET_CORE[loopback]: Allocated Normal se_portal_group_t for endpoint: naa.600140554cf3a18e, Portal Tag: 1
  TCM_Loop_ConfigFS: Allocated Emulated SAS Target Port naa.600140554cf3a18e,t,0x0001
  loopback_TPG[1] - Added DYNAMIC ACL with TCQ Depth: 1 for loopback Initiator Node: naa.60014053226f0388
  TARGET_CORE[loopback]: Registered fabric_sess_ptr: d43376e8
  TCM_Loop_ConfigFS: Established I_T Nexus to emulated SAS Initiator Port: naa.60014053226f0388
  iblock/loopback: Adding to default ALUA Target Port Group: alua/default_tg_pt_gp
  loopback_TPG[1]_LUN[0] - Activated loopback Logical Unit from CORE HBA: 3
  TARGET_CORE[loopback]->TPG[1]_LUN[0] - Adding READ-WRITE access for LUN in Demo Mode
  TCM_Loop_ConfigFS: Port Link Successful
  scsi 9:0:1:0: Direct-Access     LIO-ORG  IBLOCK           3.1  PQ: 0 ANSI: 5
  sd 9:0:1:0: Attached scsi generic sg7 type 0
  sd 9:0:1:0: [sdg] READ CAPACITY(16) failed
  sd 9:0:1:0: [sdg] Result: hostbyte=0x05 driverbyte=0x00
  sd 9:0:1:0: [sdg] Sense not available.
  sd 9:0:1:0: [sdg] 3072000 512-byte logical blocks: (1.57 GB/1.46 GiB)
  sd 9:0:1:0: [sdg] Write Protect is off
  sd 9:0:1:0: [sdg] Mode Sense: 2f 00 00 00
  sd 9:0:1:0: [sdg] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
  sd 9:0:1:0: [sdg] READ CAPACITY(16) failed
  sd 9:0:1:0: [sdg] Result: hostbyte=0x05 driverbyte=0x00
  sd 9:0:1:0: [sdg] Sense not available.
   sdg: unknown partition table
  sd 9:0:1:0: [sdg] READ CAPACITY(16) failed
  sd 9:0:1:0: [sdg] Result: hostbyte=0x05 driverbyte=0x00
  sd 9:0:1:0: [sdg] Sense not available.
  sd 9:0:1:0: [sdg] Attached SCSI disk
  scsi10 : TCM_Loopback
  TCM_Loop_ConfigFS: Allocated emulated Target SAS Address: naa.600140566ce31347 at Linux/SCSI Host ID: 10
  TARGET_CORE[loopback]: Allocated Normal se_portal_group_t for endpoint: naa.600140566ce31347, Portal Tag: 1
  TCM_Loop_ConfigFS: Allocated Emulated SAS Target Port naa.600140566ce31347,t,0x0001
  loopback_TPG[1] - Added DYNAMIC ACL with TCQ Depth: 1 for loopback Initiator Node: naa.6001405fd3afa2ef
  TARGET_CORE[loopback]: Registered fabric_sess_ptr: d4337a28
  TCM_Loop_ConfigFS: Established I_T Nexus to emulated SAS Initiator Port: naa.6001405fd3afa2ef
  iblock/loopback: Adding to default ALUA Target Port Group: alua/default_tg_pt_gp
  loopback_TPG[1]_LUN[0] - Activated loopback Logical Unit from CORE HBA: 3
  TARGET_CORE[loopback]->TPG[1]_LUN[0] - Adding READ-WRITE access for LUN in Demo Mode
  TCM_Loop_ConfigFS: Port Link Successful
  scsi 10:0:1:0: Direct-Access     LIO-ORG  IBLOCK           3.1  PQ: 0 ANSI: 5
  sd 10:0:1:0: Attached scsi generic sg8 type 0
  sd 10:0:1:0: [sdh] READ CAPACITY(16) failed
  sd 10:0:1:0: [sdh] Result: hostbyte=0x05 driverbyte=0x00
  sd 10:0:1:0: [sdh] Sense not available.
  sd 10:0:1:0: [sdh] 3072000 512-byte logical blocks: (1.57 GB/1.46 GiB)
  sd 10:0:1:0: [sdh] Write Protect is off
  sd 10:0:1:0: [sdh] Mode Sense: 2f 00 00 00
  sd 10:0:1:0: [sdh] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
  sd 10:0:1:0: [sdh] READ CAPACITY(16) failed
  sd 10:0:1:0: [sdh] Result: hostbyte=0x05 driverbyte=0x00
  sd 10:0:1:0: [sdh] Sense not available.
   sdh: unknown partition table
  sd 10:0:1:0: [sdh] READ CAPACITY(16) failed
  sd 10:0:1:0: [sdh] Result: hostbyte=0x05 driverbyte=0x00
  sd 10:0:1:0: [sdh] Sense not available.
  sd 10:0:1:0: [sdh] Attached SCSI disk
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Google AdSense