LIO

The Linux SCSI Target Wiki

(Difference between revisions)
Jump to: navigation, search
m
m
Line 44: Line 44:
Basically, any [[SCSI]] block and VFS subsystem device can be brought into the Target as a backstore storage object:
Basically, any [[SCSI]] block and VFS subsystem device can be brought into the Target as a backstore storage object:
-
* {{anchor|FILEIO}} '''FILEIO''' (Linux VFS devices): any file on a mounted filesystem. It may be backed by a file or an underlying real block device. FILEIO is using struct file to serve block I/O with various methods (synchronous or asynchronous) and (buffered or direct). The Linux kernel code for filesystems resides in <code>linux/fs</code>.
+
* {{anchor|FILEIO}} '''FILEIO''' (Linux VFS devices): any file on a mounted filesystem. It may be backed by a file or an underlying real block device. FILEIO is using struct file to serve block I/O with various methods (synchronous or asynchronous) and (buffered or direct). The Linux kernel code for filesystems resides in linux/fs.
-
* {{anchor|IBLOCK}} '''IBLOCK'''  (Linux BLOCK devices): any block device that appears in <code>/sys/block</code>. The Linux kernel code for block devices is in <code>linux/block</code>.
+
* {{anchor|IBLOCK}} '''IBLOCK'''  (Linux BLOCK devices): any block device that appears in /sys/block. The Linux kernel code for block devices is in linux/block.
-
* {{anchor|PSCSI}} '''PSCSI''' (Linux physical SCSI devices): any storage object that does direct pass-through of SCSI commands without SCSI emulation. This assumes an underlying physical SCSI device that appears with ''lsscsi'' in /proc/scsi/scsi, such as a SAS hard drive, such as any SCSI device. The Linux kernel code for device SCSI drivers resides in <code>linux/drivers/scsi</code>.
+
* {{anchor|PSCSI}} '''PSCSI''' (Linux physical SCSI devices): any storage object that does direct pass-through of SCSI commands without SCSI emulation. This assumes an underlying physical SCSI device that appears with ''lsscsi'' in /proc/scsi/scsi, such as a SAS hard drive, such as any SCSI device. The Linux kernel code for device SCSI drivers resides in linux/drivers/scsi.
* {{anchor|RAMDISK}} '''RAMDISK''' (Linux RAMDISK_MCP or RAMDISK_DR devices): any struct page device, such as a redular ramdisk. This type of device is typically used for bandwidth testing.
* {{anchor|RAMDISK}} '''RAMDISK''' (Linux RAMDISK_MCP or RAMDISK_DR devices): any struct page device, such as a redular ramdisk. This type of device is typically used for bandwidth testing.

Revision as of 07:12, 4 December 2010

The Target is the generic multiprotocol target engine of LIO. Template:AdSense right

Contents

Overview

LIO Target
Logo
RisingTide Systems
Multiprotocol Target Engine
Original author(s) Nicholas Bellinger
Developer(s) RisingTide Systems LLC
Initial release January 14, 2011 (2011-01-14)
Stable release 4.1.0 / June 20, 2012;
7 years ago
 (2012-06-20)
Preview release 4.2.0-rc5 / June 28, 2012;
7 years ago
 (2012-06-28)
Development status Production
Written in C
Operating system Linux
Type Target engine
License GNU General Public License
Website datera.io
SCSI Portal Group architecture overview.
LIO iSCSI architecture diagram.
SCSI standards diagram.

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

It supports a wide range of platforms (from PC architecture to mobile devices, STBs and game consoles), all typical backstore storage media devices, and a growing number of fabric modules.

The LIO SCSI engine supports high-end SCSI and iSCSI features, such as Persistent Reservations (PR), ALUA, MC/S and ERL=2 in a fabric agnostic way.

Backstores

Basically, any SCSI block and VFS subsystem device can be brought into the Target as a backstore storage object:

Fabric modules

Standards compliance

The Target supports the SCSI-3 standard for storage devices from Target/IBLOCK, Target/FILEIO, Target/PSCSI, and Target/RAMDISK subsystem plugins. All SCSI functionality is implemented directly in the target engine in a fabric agnostic way, including a number of high-end features, such as Persistent Reservations (PR) and ALUA, which have been available from LIO 3, following the SPC-4 standard.

SCSI-3 and up is supported using the Target/PSCSI subsystem plugin for Linux/SCSI passthrough, but only from control CDBs capable by the device firmware.

Setup

The LIO 3 CLI manual describes a simple userspace shell (lio-utils) for LIO 3 (Target+iSCSI). It also describes how to setup a number of different subsystem storage object backstores for LIO LUN endpoints:

RisingTide Systems makes available upon request and for free RTSadmin, a comprehensive, powerful, yet easy storage management tool that can efficiently handle even complex LIO installations.

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

Specifications

The following specifications are available as T10 Working Drafts:

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

Wikipedia entries

RFCs

See also

Template:AdSense See also

Notes

External links

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Google AdSense