LIO

The Linux SCSI Target Wiki

(Difference between revisions)
Jump to: navigation, search
m (External links)
(Specifications)
Line 64: Line 64:
* {{anchor|SPC-3}} '''SCSI Primary Commands - 3''' ('''SPC-3'''): contains the third-generation definition of the basic commands for all SCSI devices. SPC-3 is used in conjuction with a standard for the specific device type. Status: Published, 5/4/2005
* {{anchor|SPC-3}} '''SCSI Primary Commands - 3''' ('''SPC-3'''): contains the third-generation definition of the basic commands for all SCSI devices. SPC-3 is used in conjuction with a standard for the specific device type. Status: Published, 5/4/2005
* {{anchor|SPC-4}} '''SCSI Primary Commands - 4''' ('''SPC-4'''): contains the fourth-generation definition of the basic commands for all SCSI devices. SPC-4 is used in conjuction with a standard for the specific device type. Status: Development, 11/16/2010
* {{anchor|SPC-4}} '''SCSI Primary Commands - 4''' ('''SPC-4'''): contains the fourth-generation definition of the basic commands for all SCSI devices. SPC-4 is used in conjuction with a standard for the specific device type. Status: Development, 11/16/2010
 +
 +
== Glossary ==
 +
 +
* {{anchor|Backstore}} '''Backstore''': A physical storage object that provides the actual storage underlying an SCSI Endpoint.
 +
* {{anchor|CDB}} '''Command Descriptor Block''' ('''CDB'''): The standard format for SCSI commands. CDBs are commonly 6, 10, or 12 bytes long, though they can be 16 bytes or of variable length.
 +
* {{anchor|CHAP}} '''Challenge Handshake Authentication Protocol''' ('''CHAP'''): An authentication technique for confirming the identity of one computer to another. Described in RFC 1994.
 +
* {{anchor|CID}} '''Connection Identifier''' ('''CID'''): A 16-bit number, generated by the Initiator, that uniquely identifies a connection between two iSCSI devices. This number is presented during the login phase.
 +
* {{anchor|CID}} '''Endpoint''': The combination of an iSCSI Target Name with an iSCSI [[TPG]] ([[IQN]] + Tag).
 +
* {{anchor|EUI}} '''Extended Unique Identifier''' ('''EUI'''): A 64-bit number that uniquely identifies every device in the world. The format consists of 24 bits that are unique to a given company, and 40 bits assigned by the company to each device it builds.
 +
* '''[[Initiator]]''': The originating end of a SCSI session. Typically a controlling device such as a computer.
 +
* {{anchor|IPS}} '''Internet Protocol Storage''' ('''IPS'''): The class of protocols or devices that use the IP protocol to move data in a storage network. FCIP, iFCP, and [[iSCSI]] are all examples of IPS protocols.
 +
* {{anchor|IQN}} '''iSCSI Qualified Name''' ('''IQN'''): A name format for iSCSI that uniquely identifies every device in the world (e.g. <code>iqn.5886.com.acme.tapedrive.sn-a12345678</code>).
 +
* {{anchor|ISID}} '''Initiator Session Identifier''' ('''ISID'''): A 48-bit number, generated by the Initiator, that uniquely identifies a session between the Initiator and the Target. This value is created during the login process, and is sent to the target with a Login PDU.
 +
* {{anchor|MQS}} '''Multiple Connections per Session''' ('''MCS'''): A part of the iSCSI specification that allows multiple TCP/IP connections between an Initiator and a Target.
 +
* {{anchor|MPIO}} '''MultiPah I/O''' ('''MPIO'''): A method by which data can take multiple redundant paths between a server and storage.
 +
* {{anchor|Network Portal}} '''Network Portal''': The combination of an iSCSI Endpoint with an IP address plus a TCP port. The TCP port number for the iSCSI protocol defined by IANA is 3260.
 +
* {{anchor|SAM}} '''SCSI Architectural Model''' ('''SAM'''): A document that describes the behavior of SCSI in general terms, allowing for different types of devices communicating over various media.
 +
* {{anchor|Target}} '''Target''': The receiving end of a SCSI session, typically a device such as a disk drive, tape drive, or scanner.
 +
* {{anchor|Target Group}} '''Target Group''': A collection of fabric module SCSI target endpoints containing SCSI target ports that provide access to individual storage objects.
 +
* {{anchor|Target Port}} '''Target Port''': The combination of an iSCSI Endpoint with one or more LUNs.
 +
* {{anchor|TPG}} '''Target Portal Group''' ('''TPG'''): A list of IP addresses and TCP port numbers that determines which interfaces a specific iSCSI target will listen to.
 +
* {{anchor|TSID}} '''Target Session Identifier''' ('''TSID'''): A 16-bit number, generated by the target, that uniquely identifies a session between the initiator and the target. This value is created during the login process, and is sent to the initiator with a Login Response PDU.
== Timeline ==
== Timeline ==

Revision as of 04:33, 27 November 2010

The Target is the generic multiprotocol target engine of LIO.

Contents

Overview

Target
Logo
RisingTide Systems
Generic Target Engine
Original author(s) Nicholas Bellinger
Developer(s) RisingTide Systems LLC
Initial release March 15, 2007 (2007-03-15)
Stable release 3.5 / November 1, 2010;
8 years ago
 (2010-11-01)
Preview release 4.0.0-rc5 / November 15, 2010; 8 years ago (2010-11-15)
Development status Production
Written in C
Operating system Linux
Type SCSI Target engine
License GNU General Public License
Website datera.io
SCSI Portal Group architecture overview.

The LIO target storage engine (target_core_mod.ko) is the generic multiprotocol target engine of LIO.

Architecturally, it can run on a number of different Linux environments, allows access to storage objects from the SCSI, block and VFS subsystems (Target/PSCSI, Target/IBLOCK, Target/FILEIO, Target/RAMDISK, etc.), and it operates with a number of protocol-specific fabric modules (iSCSI, FCoE, Fibre Channel, etc.).

LIO supports advanced iSCSI features, such as Persistent Reservations, ALUA, MC/S and ERL=2.

ConfigFS

The Target engine is mapped into Target/configFS, where it can be configured from user space by using inter- and intra-module symbolic links.

Complementary documentation:

Please contact RisingTide Systems to receive RTSadmin, a free, sophisticated storage management tool.

Standards compliance

The Target supports the SCSI-3 standard for virtual storage devices from Target/IBLOCK, Target/FILEIO, and Target/RAMDISK subsystem plugins. Some of the most notable functionality includes Persistent Reservations (PR) and ALUA, which have been implemented in LIO 3.0, following the SPC-4 standard.

SCSI-3 and greater revisions are supported using the Target/PSCSI subsystem plugin for Linux/SCSI passthrough, but only from control CDBs capable by the device firmware. Linux/SCSI block devices can take advantage of PR and ALUA functionality via the tcm_loop loopback device.

Specifications

The following specifications are available from the T10 drafts website:

Glossary

Timeline

Timeline of the LinuxIO
Release Details 2011 2012 2013 2014 2015
123456789101112 123456789101112 123456789101112 123456789101112 123456789101112
4.x Version 4.0 4.1
Feature LIO Core Loop back FCoE iSCSI Perf SRP
CM WQ FC
USB
1394
vHost Perf Misc 16 GFC iSER Misc VAAI Misc DIF Core
NPIV
DIF iSER DIF FC vhost TCMU Xen Misc Misc virtio 1.0 Misc NVMe OF
Linux 2.6.38 2.6.39 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22

Standards

See also

Notes

External links

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Google AdSense