LIO (SCSI target)
Logo | |
File:RisingTide Systems | |
Original author(s) | Nicholas Bellinger Jerome Martin |
---|---|
Developer(s) | RisingTide Systems LLC |
Initial release | March 15, 2007 |
Stable release | 3.5.0
/ September 19, 2010 |
Preview release | 4.0.0
/ January 14, 2011 |
Written in | C, Python |
Operating system | Linux |
Type | Unified block storage target |
License | GNU General Public License |
Website | linux-iscsi.org |
LIO (linux-iscsi.org) is a multiprotocol SCSI target for Linux. It currently supports fabric modules for iSCSI, Fibre Channel, FCoE and InfiniBand (SRP). LIO went upstream into Linux with kernel version 2.6.38,[1][2] and is becoming the standard unified block storage target in Linux. Supported CPU architectures include x86, ia64, ARM, CELL, MIPS and POWER, etc.
Features
The LIO SCSI target engine implements a comprehensive SPC-3/SPC-4[3] feature set with support for high-end SCSI features in a fabric-agnostic way, such as Persistent Reservations (PR) and Asymmetric Logical Unit Assignment (ALUA). The LIO iSCSI fabric module also implements a number of advanced features, such as Multiple Connections per Session (MC/S) and Error Recovery Level 2 (ERL=2).
LIO has a configfs-based[4] kernel API, and can be managed via a comprehensive command-line interface and API (RTSadmin). RTSadmin version 2 allows unified management of all LIO block storage protocols, such as iSCSI, Fibre Channel, FCoE and InfiniBand. RTSadmin v2 is dual licensed, and the community edition is available under the AGPL.
LIO is being used in a number of commercial storage systems, including Netgear, QNAP, Synology, etc.
Together with the replication software DRBD and the cluster software Pacemaker, LIO allows the configuration of highly-available storage systems. RTSadmin, the management platform for LIO, supports easy setup and configuration of such HA arrays.
LIO is being developed by RisingTide Systems, located in the Silicon Valley, which manufactures storage systems and software. RisingTide Systems is a member of the Linux Solutions Group (LiSoG), where LIO provides the blocklevel storage component for the open source reference stack.
Architecture
Target
LIO has a modular and extensible architecture. The LIO SCSI target core is independent of specific fabric modules or backstore types. This way, LIO can support any number of fabrics and backstores, and allows using them together at the same time. Currently, the LIO modules are scheduled to go upstream into the Linux kernel as follows:
- Linux 2.6.38 (released on 3/14/2011[5]): Generic multiprotocol target engine (including all backstores)
- Linux 2.6.39 (released on 5/18/2011[6]): tcm_loop (can provide SCSI support on top of any raw hardware)
- Linux 2.6.40: iSCSI, Fibre Channel (QLogic HBAs), FCoE (by Cisco), and IBM vSCSI (for the IBM pSeries)
- Linux 2.6.41: InfiniBand (Mellanox HCAs)
Initiator
RisingTide Systems also provides an open source iSCSI initiator, called Core-iSCSI. Core-iSCSI supports a number of advanced iSCSI features, including, in particular, Multiple Connections per Session (MC/S) and Error Recovery Level 2 (ERL=2), which the standard Linux Open-iSCSI initiator doesn't support. This way, Core-iSCSI can drive increased availability, scalability and performance. Core-iSCSI also allows remote boot across an iSCSI SAN or WAN ("diskless boot").
See also
- Storage fabrics: iSCSI, Fibre Channel, FCoE, InfiniBand
- SCSI
References
- ^ Linus Torvalds (2011-01-15). "Trivial merge". lkml.org. Retrieved 2011-03-07.
- ^ Thorsten Leemhuis (3/2/2011). "Kernel Log: Coming in 2.6.38 (Part 4) - Storage". Heise Online.
{{cite web}}
: Check date values in:|date=
(help) - ^ Ralph Weber (2011-01-17). "SCSI Primary Commands - 4 (SPC-4)". t10.org. Retrieved 2011-03-07.
- ^ Jonathan Corbet (2005-08-24). "Configfs - an introduction". lwn.net. Retrieved 2011-03-07.
- ^ Linus Torvalds (3/14/2011). "Linux 2.6.38". lkml.org.
{{cite web}}
: Check date values in:|date=
(help) - ^ Linus Torvalds (5/18/2011). "Linux 2.6.39". lkml.org.
{{cite web}}
: Check date values in:|date=
(help)
External links
- LIO Wiki (linux-iscsi.org)
- RisingTide Systems website
- Template:RFC 3720: Internet Small Computer Systems Interface (iSCSI)
- RTS Director video