Tcm loop

The Linux SCSI Target Wiki

(Difference between revisions)
Jump to: navigation, search
m (What type of SCSI fabric features are available with tcm_loop..?)
(TCM Loop example)
Line 11: Line 11:
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.
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.
 +
 +
*) Create the first I_T Nexus that creates a new Linux/SCSI struct Scsi_Host
 +
 +
  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
 +
 +
*) Create the LUN on the SAS Target port and rescan the Linux/SCSI LLD by SCSI HCTL bus address
 +
 +
  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
 +
 +
*) Create the second I_T Nexus that creates another virtual Linux/SCSI HBA.
 +
 +
  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

Revision as of 08:52, 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/

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.

  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
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Google AdSense