Main Page

The Linux SCSI Target Wiki

(Difference between revisions)
Jump to: navigation, search
m
m (Undo revision 15858 by Marcf (talk))
 
(173 intermediate revisions not shown)
Line 2: Line 2:
{| id="mp-topbanner" style="width:100%; background:#f6f6f6; margin-top:0px; border:1px solid #ddd;"
{| id="mp-topbanner" style="width:100%; background:#f6f6f6; margin-top:0px; border:1px solid #ddd;"
| style="width:61%; color:#000;" |
| style="width:61%; color:#000;" |
-
<!-- "Welcome to "linux-iscsi.org" and Article Count -->
+
<!-- "Welcome to "linux-io.org" and Article Count -->
{| style="width:280px; border:none; background:none;"
{| style="width:280px; border:none; background:none;"
| style="width:280px; text-align:center; white-space:nowrap; color:#000;" |
| style="width:280px; text-align:center; white-space:nowrap; color:#000;" |
<div style="font-size:162%; border:none; margin:0; padding:.1em; color:#000;">Welcome to {{LIO servername}},</div>
<div style="font-size:162%; border:none; margin:0; padding:.1em; color:#000;">Welcome to {{LIO servername}},</div>
-
<div style="top:+0.2em; font-size:95%;">the standard multiprotocol storage [[Target]] in Linux.</div>
+
<div style="top:+0.2em; font-size:95%;">the Linux SCSI Target wiki.</div>
<div id="articlecount" style="width:100%; text-align:center; font-size:85%;">[[Special:Statistics|{{NUMBEROFARTICLES}}]] articles, [[Special:Statistics|{{NUMBEROFVIEWS}}]] pageviews</div>
<div id="articlecount" style="width:100%; text-align:center; font-size:85%;">[[Special:Statistics|{{NUMBEROFARTICLES}}]] articles, [[Special:Statistics|{{NUMBEROFVIEWS}}]] pageviews</div>
|}
|}
<!-- Top Menu -->
<!-- Top Menu -->
| style="width:13%; font-size:95%;" |
| style="width:13%; font-size:95%;" |
-
* [[Features]]
+
* [[Targetcli]]
-
* [[Platforms]]
+
* [[LIO]]
-
* [[Core-iSCSI|Initiator]]
+
* [[{{C}}]]
| style="width:13%; font-size:95%;" |
| style="width:13%; font-size:95%;" |
* [[Downloads]]
* [[Downloads]]
-
* [[Support]]
+
* [[Features]]
* [[Contributing]]
* [[Contributing]]
| style="width:13%; font-size:95%;" |
| style="width:13%; font-size:95%;" |
-
* [[News]]
+
* [[Support]]
* [[Ecosystem]]
* [[Ecosystem]]
-
* [[RisingTide Systems|RisingTide]]
 
|}
|}
Line 31: Line 30:
<!-- Summary -->
<!-- Summary -->
{{Main Page Subbox|#f2ddce|#bfafa3|Summary|
{{Main Page Subbox|#f2ddce|#bfafa3|Summary|
-
'''LIO''' ('''{{LIO servername}}''') is the standard open-source Unified [[Target]] in Linux. It supports all prevalent storage fabrics, including [[iSCSI]], [[Fibre Channel]] ([[QLogic]]), [[Fibre Channel over Ethernet|FCoE]] and [[InfiniBand]] ([http://www.mellanox.com/ Mellanox] [[SCSI RDMA Protocol|SRP]]). LIO has replaced [[STGT]] as the standard Target with Linux kernel version 2.6.38.
+
'''{{Target}}''' ('''{{T}}&#0153;''') is the standard open-source [[SCSI]] target in Linux. It supports all prevalent storage fabrics, including [[Fibre Channel]] ([http://www.qlogic.com QLogic], Emulex), [[FCoE]], iEEE&nbsp;1394, [[iSCSI]] (incl. Chelsio offload support), NVMe-OF, [[iSER]] ([http://www.mellanox.com/ Mellanox] [[InfiniBand]]), [[SRP]] (Mellanox InfiniBand), USB, [[vHost]], etc.
-
LIO has become the Linux iSCSI target of choice for many volume storage appliance vendors, including [http://www.buffalotech.com/ Buffalo], [http://www.netgear.com/ Netgear], [http://www.qnap.com/ QNAP], etc., allowing them to achieve [[VMware ESX]]&nbsp;4 and [[VMware vSphere]] certifications.  
+
The advanced feature set of {{Target}} has made it the SCSI target of choice for many storage array vendors, for instance allowing them to achieve [[VMware]]&reg; Ready certifications. Native support for {{T}} in QEMU/[[KVM]], libvirt, and OpenStack&trade; ([https://wiki.openstack.org/wiki/Cinder/LIO-Grizzly setup], [https://review.openstack.org/#/c/18274/ code]) makes it an attractive storage option for cloud deployments.
-
LIO is developed by {{RTS full}}, a SAN systems and software company located in the Silicon Valley. RTS has complemented LIO with [[targetcli]], a comprehensive storage management tool and API with a single namespace for all storage objects. RTS will also provide the [[RTS Director]], a distributed, highly available storage management tool with a unified namespace for complete storage infrastructures.
+
{{T}} includes [[targetcli]], a management shell and API with a single namespace for all storage objects.
 +
 
 +
{{T}} and targetcli are developed by {{Company}}, a data storage systems and software company located in Mountain View in the Silicon Valley.
}}
}}
|}
|}
Line 48: Line 49:
<!-- Target -->
<!-- Target -->
-
{{Main Page Subbox|#cef2e0|#a3bfb1|[[Target]]|'''Architecture'''
+
{{Main Page Subbox|#cef2e0|#a3bfb1|[[LIO]]|'''[[LIO#Fabric modules|Frontend]]'''
-
* High-performance, non-blocking, multithreaded architecture with SSE4.2 support.
+
-
* [[Target#CPUs|CPU architectures]]: x86, ia64, Alpha, [[PlayStation 3|Cell]], [[Platforms#Nintendo Gamecube|PPC]], [[TS-7800|ARM]], [[PlayStation 2|MIPS]], etc.
+
-
* [[targetcli#Download|Distributions]]: [[CentOS]], [[Debian]], [[Fedora]], [[RHEL]], Scientific Linux, SLES, [[Ubuntu]]
+
-
* [[Platforms]]: PC architecture, Sony [[PlayStation 2|PS2]] and [[PlayStation 3|PS3]], and Technologic [[TS-7800]]
+
-
* No single point of failure within either logical or physical connections
+
-
'''Advanced [[SCSI]] feature set'''
+
Fabric Modules implement the protocols to transmit data over diverse fabrics, providing transport media independence.
-
* Persistent Reservations ([[Persistent Reservations|PRs]])
+
-
* Asymmetric Logical Unit Assignment ([[Asymmetric Logical Unit Assignment|ALUA]])
+
-
* Protocol and intra-nexus multiplexing, load-balancing and failover ([[Multiple Connections per Session|MC/S]])
+
-
* Full Error Recovery ([[Error Recovery Level|ERL]]&#61;0,1,2)
+
-
* Active/active task migration and session continuation ([[Error Recovery Level#2|ERL&#61;2]])
+
-
* Thin [[News#LUN provisioning|LUN provisioning]] (TRIM)
+
-
'''[[Target#Fabric modules|Multiprotocol target]]'''
+
* [[Fibre Channel]] - [http://www.qlogic.com QLogic]: released, Emulex: released
-
* [[Fibre Channel]] (FC). [[QLogic]]: RC
+
* [[Fibre Channel over Ethernet]] (FCoE): released
* [[Fibre Channel over Ethernet]] (FCoE): released
-
* iEEE 1394: Beta
+
* iEEE 1394: released
-
* USB Gadget: Beta
+
-
* TCM VHost with QEMU virtio and virtio-scsi PV guests: Beta
+
-
* [[iSCSI]] (SCSI over IP): released
+
* [[IBM vSCSI]] for [http://www-03.ibm.com/systems/p/ IBM System p]: RC
* [[IBM vSCSI]] for [http://www-03.ibm.com/systems/p/ IBM System p]: RC
-
* [[SCSI RDMA Protocol]] (SRP). [http://www.mellanox.com Mellanox]: released
+
* [[iSCSI]] (SCSI over IP) - software: released, Chelsio: released
-
* [[tcm_loop]] [[SCSI]] virtualization: released
+
* [[iSER]] ([http://www.mellanox.com Mellanox] [[InfiniBand]]): released
 +
* [[Loopback]] [[SCSI]] virtualization: released
 +
* NVMe-OF: In development
 +
* [[SRP]] ([http://www.mellanox.com Mellanox] [[InfiniBand]]): released
 +
* USB Gadget: released
 +
* [[vHost]] with QEMU/KVM virtio and virtio-scsi PV guests: released
-
'''[[Target#Backstores|Storage media]] independence'''
+
'''[[LIO#Backstores|Backend]]'''
-
* Virtualization of all storage media; transparent mapping of I/O to LUNs
+
-
* No hard limits on number of LUNs per Target; maximum LUN size &#190;PB
+
-
* [[Target#Backstores|Backstores]]: [[IBLOCK|SATA]], [[PSCSI|SAS]], [[PSCSI|SCSI]], [[IBLOCK|BluRay]], [[IBLOCK|DVD]], [[IBLOCK|FLASH]], [[IBLOCK|USB]], [[RAMDISK|ramdisk]], etc.
+
-
}}
+
-
<!-- Compatibility and certifications -->
+
Backstores implement the methods to access data on devices, providing storage media independence.
-
{{Main Page Subbox|#cef2e0|#a3bfb1|Compatibility and certifications|LIO is compatible to Initiators on the following operating systems:
+
-
* Microsoft: Windows Server 2003/2008/R2, Windows XP/Vista/7
+
* [[LIO#Backstores|Backstores]]: [[IBLOCK|SATA]], [[PSCSI|SAS]], [[PSCSI|SCSI]], [[IBLOCK|SSD]], [[IBLOCK|FLASH]], [[IBLOCK|DVD]], [[IBLOCK|USB]], [[RAMDISK|ramdisk]], etc.
-
* Apple [[Mac OS X]] Leopard (via third-party initiator)
+
* Virtualization of storage media; transparent mapping of I/O to LUNs
-
* Linux: RHEL&nbsp;4.x/5.x, SLES&nbsp;10.3/11, [[CentOS]], [[Debian]], [[Ubuntu]]
+
* No hard limits on number of LUNs/target; maximum LUN size &#190;PB
-
* Unix: Solaris&nbsp;10, OpenSolaris, HP-UX
+
-
* VMs: [[VMware&nbsp;ESX]] and [[VMware&nbsp;vSphere]], Red&nbsp;Hat [[Kernel-based Virtual Machine|KVM]], Microsoft Virtual PC, Oracle xVM/VirtualBox, Xen
+
-
LIO passed [[VMware ESX]] 4.0 and [[VMware vSphere]] 4.0 certifications with [http://www.buffalotech.com/ Buffalo], [http://www.netgear.com/ Netgear] and [http://www.qnap.com/ QNAP] storage appliances. It also passes the Microsoft [http://en.wikipedia.org/wiki/Windows_Server_2008 Windows Server 2008] / [http://en.wikipedia.org/wiki/Windows_Server_2008_R2 R2] [http://en.wikipedia.org/wiki/High-availability_cluster Failover Cluster] compatibility test suites.
+
'''Architecture'''
-
}}
+
 
 +
The {{Target}} engine implements the generic SCSI semantics.
-
<!-- Standards compliance -->
+
* High-performance, non-blocking, multithreaded architecture with SSE4.2 support
-
{{Main Page Subbox|#cef2e0|#a3bfb1|Standards compliance|
+
* [[LIO#CPUs|CPU architectures]]: x86, ia64, Alpha, [[PlayStation 3|Cell]], [[Platforms#Nintendo Gamecube|PPC]], [[TS-7800|ARM]], [[PlayStation 2|MIPS]], etc.
-
* Full compliance with IETF (RFC 3720)
+
* [[targetcli#Download|Distributions]]: [[CentOS]], [[Debian]], [[Fedora]], [[openSUSE]], [[RHEL]], [[Scientific Linux]], [[SLES]], [[Ubuntu]]
-
* Implementation of [[SPC-4]] [[Persistent Reservations|PRs]] and [[Asymmetric Logical Unit Assignment|ALUA]]
+
* [[Platforms]]: PC architecture, Sony [[PlayStation 2|PS2]]/[[PlayStation 3|PS3]], [[Platforms#Raspberry Pi|Raspberry Pi]], Technologic [[TS-7800]]
 +
 
 +
'''Advanced [[SCSI]] feature set'''
 +
 
 +
* [[Persistent Reservations]] (PRs)
 +
* [[Asymmetric Logical Unit Assignment]] (ALUA)
 +
* [[Error Recovery Level]]s (ERL&#61;0,1,2)
 +
* Active/active task migration and session continuation ([[Error Recovery Level#2|ERL&#61;2]])
 +
* Protocol multiplexing, load-balancing and failover ([[Multiple Connections per Session|MC/S]])
 +
* T10 Data Integrity Format ([[DIF]])
 +
* [[vStorage APIs for Array Integration]] (VAAI)
}}
}}
|}
|}
Line 104: Line 99:
{| id="mp-right" style="width:100%; vertical-align:top; background:#f5faff;"
{| id="mp-right" style="width:100%; vertical-align:top; background:#f5faff;"
-
<!-- Initiator -->
+
<!-- targetcli -->
-
{{Main Page Subbox|#cedff2|#a3b0bf|[[Core-iSCSI|Initiator]]|The [[Core-iSCSI]] Initiator is a high-end iSCSI Initiator that resolves a number of known issues with the [[Open-iSCSI]] standard Linux Initiator, especially its slow performance.
+
{{Main Page Subbox|#cedff2|#a3b0bf|[[Targetcli]]|[[targetcli]] provides the fabric agnostic single-node management shell for {{T}}. targetcli aggregates and exports all {{T}} SAN functionality via the RTSlib library and API {{Lib Ref Guide HTML}}{{Lib Ref Guide PDF}}.
 +
}}
-
Core-iSCSI is available on Linux and Windows, and it has been ported to a wide range of [[platforms]] and devices, including:
+
<!-- Compatibility and certifications -->
 +
{{Main Page Subbox|#cedff2|#a3b0bf|Compatibility and certifications|{{T}} works with Initiators of the following operating systems:
-
* Linksys [[OpenWRT]] (MIPS)
+
* Microsoft: Windows&reg; Server 2008/R2/2012 and Windows&reg; XP/Vista/7/8
-
* [[Motorola ROKR E2]] cell phone (XScale)
+
* Apple [[Mac OS X]] (via third-party initiator)
-
* [[Neuros OSD]] Set-top-box (ARM9)
+
* Linux: [[CentOS]], [[Debian]], [[Fedora]], [[openSUSE]], [[RHEL]], [[Scientific Linux]], [[SLES]], [[Ubuntu]]
-
* [[Nokia 770]] and [[Nokia N800]] Internet Tablets (ARM9 and Cortex)
+
* Unix: Solaris&nbsp;10, OpenSolaris, HP-UX
-
* [[OpenMoko#Neo1973|OpenMoko Neo1973]] and [[OpenMoko#Neo FreeRunner|OpenMoko Neo FreeRunner]] cell phones (ARM)
+
* VMs: [[VMware&nbsp;vSphere|vSphere]]&trade;&nbsp;5, Red&nbsp;Hat [[Kernel-based Virtual Machine|KVM]], Microsoft Hyper-V, Oracle xVM/VirtualBox, Xen
-
{{RTS full}} ported [[OCFS2]] onto the Nokia Internet Tablets on top of the Core-iSCSI Initiator.
+
{{T}} enables [[VMware]] Ready certifications (incl. [[VMware vSphere|vSphere]]&trade;&nbsp;5). It also passes the Microsoft [http://en.wikipedia.org/wiki/Windows_Server_2008 Windows&reg; Server 2008] / [http://en.wikipedia.org/wiki/Windows_Server_2008_R2 R2] [http://en.wikipedia.org/wiki/High-availability_cluster Failover Cluster] compatibility test suites.
}}
}}
<!-- High availability -->
<!-- High availability -->
-
{{Main Page Subbox|#cedff2|#a3b0bf|[[Network RAID1|High availability]] and clustering|LIO is designed from gound up to support highly available and cluster storage:
+
{{Main Page Subbox|#cedff2|#a3b0bf|[[Network RAID1|High availability]] and clustering|{{T}} is designed from ground up to support highly available and cluster storage:
* Deeply embedded high availability ([[Network RAID1]])
* Deeply embedded high availability ([[Network RAID1]])
-
* Scale-out clusters via concatenating LUNs
+
* Scale-out clusters and disaster recovery solutions
-
* Scale-out clusters via striping (2012)
+
}}
}}
-
<!-- Management -->
 
-
{{Main Page Subbox|#cedff2|#a3b0bf|Management|LIO is complemented with three comprehensive management frameworks:
 
-
* Single-node management: [[targetcli]]
 
-
* Unified cloud/cluster management: [[RTS Director]]
 
-
* Cloud computing prototype: [[VHACS]] (predecessor of RTS Director)
 
-
}}
 
-
 
-
<!-- RTS OS -->
 
-
{{Main Page Subbox|#cedff2|#a3b0bf|[[RTS OS]]|LIO has been integrated into [[RTS OS]], a comprehensive single-node storage operating system. RTS&nbsp;OS is currently being extended into RTS&nbsp;Live, a cluster storage operating system that is based on [[RTS Director]].
 
-
}}
 
-
 
-
<!-- RTS Director -->
 
-
{{Main Page Subbox|#cedff2|#a3b0bf|[[RTS Director]]|[[RTS Director]] is a distributed, highly-available cluster management framework. It comprises a shell, active library and API. The active library and API provide an extensible platform with a unified namespace to manage complex functionality, such as high-availability and cluster striping. The shell offers location-transparent access to all objects in the SAN. New functionality and devices can be added via plugin-modules.
 
-
 
-
RTS Director provides zero configuration. It is based on a symmetrically distributed architecture - there is no single point of failure, no cluster controller, no central database, etc. Nodes running the RTS Director automatically discover and join the cluster when coming up ([http://www.youtube.com/watch?v&#61;zSyybHxuT68 demo video]).
 
-
}}
 
|}
|}
|}
|}
Line 149: Line 129:
<!-- See also -->
<!-- See also -->
-
{{Main Page Subbox|#e0e0e0|#a0a0a0|See also|[[Fibre Channel]] &#124; [[Fibre Channel over Ethernet|FCoE]] &#124; [[InfiniBand]] &#124; [[iSCSI]] &#124; [[iSCSI Extensions for RDMA|iSER]] &#124; [[Internet Storage Name Service|iSNS]] &#124; [[Internet Wide Area RDMA Protocol|iWARP]] &#124; [[tcm_loop|SCSI virtualization]] &#124; [[Service Location Protocol|SLP]] &#124; [[SCSI RDMA Protocol|SRP]]
+
{{Main Page Subbox|#e0e0e0|#a0a0a0|See also|[[DIF]] &#124; [[Fibre Channel]] &#124; [[FCoE]] &#124; [[InfiniBand]] &#124; [[iSCSI]] &#124; [[iSER]] &#124; [[iSNS]] &#124; [[iWARP]] &#124; [[RoCE]] &#124; [[SLP]] &#124; [[SRP]] &#124; [[targetcli]] &#124; [[VAAI]] &#124; [[vHost]]
}}
}}
|}
|}
|}
|}
__NOTOC____NOEDITSECTION__
__NOTOC____NOEDITSECTION__

Latest revision as of 05:21, 26 December 2016

Welcome to Linux-IO,
the Linux SCSI Target wiki.
100 articles, 90,473,896 pageviews

Summary

LinuxIO (LIO) is the standard open-source SCSI target in Linux. It supports all prevalent storage fabrics, including Fibre Channel (QLogic, Emulex), FCoE, iEEE 1394, iSCSI (incl. Chelsio offload support), NVMe-OF, iSER (Mellanox InfiniBand), SRP (Mellanox InfiniBand), USB, vHost, etc.

The advanced feature set of LinuxIO has made it the SCSI target of choice for many storage array vendors, for instance allowing them to achieve VMware® Ready certifications. Native support for LIO in QEMU/KVM, libvirt, and OpenStack™ (setup, code) makes it an attractive storage option for cloud deployments.

LIO includes targetcli, a management shell and API with a single namespace for all storage objects.

LIO and targetcli are developed by Datera, Inc., a data storage systems and software company located in Mountain View in the Silicon Valley.

LIO

Frontend

Fabric Modules implement the protocols to transmit data over diverse fabrics, providing transport media independence.

Backend

Backstores implement the methods to access data on devices, providing storage media independence.

Architecture

The LinuxIO engine implements the generic SCSI semantics.

Advanced SCSI feature set

Targetcli

targetcli provides the fabric agnostic single-node management shell for LIO. targetcli aggregates and exports all LIO SAN functionality via the RTSlib library and API [HTML][PDF].

Compatibility and certifications

LIO works with Initiators of the following operating systems:

LIO enables VMware Ready certifications (incl. vSphere™ 5). It also passes the Microsoft Windows® Server 2008 / R2 Failover Cluster compatibility test suites.

High availability and clustering

LIO is designed from ground up to support highly available and cluster storage:
  • Deeply embedded high availability (Network RAID1)
  • Scale-out clusters and disaster recovery solutions

See also

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Google AdSense