Features

The Linux SCSI Target Wiki

Jump to: navigation, search

This Features overview compares Linux-IO Target with Sun COMSTAR and other Linux open-source SCSI targets.

Contents

Open-source SCSI targets

Mainstream

The two main open-source multiprotocol SCSI targets in the industry are:

Linux out-of-tree and legacy

In Linux, there are also three out-of-tree or legacy SCSI targets:

Comparison

General

Linux LIO Sun COMSTAR Other Linux
IET SCST STGT
OS inclusion Linux 2.6.38 OpenSolaris - - 2.6.12
Obsolete
OpenStack integration Grizzly
(setup, code)
- - - -
Generic SCSI Target engine + + - + +
Architecture Kernel Kernel Kernel Kernel User
Configuration interface ConfigFS IOCTL - SysFS Custom
Dynamic session teardowns
While processing active I/O
+ - - -[4] -
iSNS support + + - + -
Parallel command processing
Concurrency-Managed Workqueues (CMWQ)
+ - - - -
Processor architectures x86, IA64, Cell, PPC, ARM, MIPS x86, SPARC x86, IA64, PPC
Zero-copy + + - +[5] +

User interface

Linux LIO Sun COMSTAR Other Linux
IET SCST STGT
CLI targetcli itadm, smtfadm, sbdadm + scstadm +
Library RTSlib - - - -
API RTSapi - - - -
Dynamic configuration changes
While processing active I/O
+ + - -[4] -
Transactional configuration Tag, Commit, Rollback Persistent Persistent Persistent Persistent
Remote management RTSapi + - - -
Storage object IDs Auto-generated
T10 WWN Unit Serial
with local aliasing
Auto-generated GUID - - -

SCSI Target

Linux LIO Sun COMSTAR Other Linux
IET SCST STGT
4k sector support + + - + -
Advanced LUN access control + (ACLs) + (Views) - + -
AEN[6]
Asynchronous Event Notifications
ERL=2 only - - + -
ALUA[7]
Asymmetric Logical Unit Assignment
+ - - + -
Backstore drivers Kernel/User Kernel - Kernel/User User
Bidirectional commands + - - + +
CDB split-up in pass-through mode + + - - -
CPU affinity control + - - + -
Extended CDBs (>16 bytes) + - - + +
Failover clustering + + + + +
Host (Initiator) groups - + - - -
MPIO + + + + +
OS inclusion Linux 2.6.38 OpenSolaris - - -
SCSI MIBs Enterprise Edition - - - -
SCSI-2 RESERVE/RELEASE[8][9] + + + + +
SCSI-3 PR[7][10][11]
Persistent Reservations
+ - - + -
T10 DIF
Data Integrity Format
Linux 3.14 - - - -
T10 Referrals Linux 3.14 - - - -
Target drivers Kernel/User Kernel iSCSI only Kernel/User Kernel/User
TPG-specific LUN mappings + - - - -
User-space backend
Data and exception handling in user space
Linux 3.15 - - - -
Unit Attentions (UAs) + + - + -
VAAI
vStorage APIs for Array Integration
+ - - - -

Backstores

Linux LIO Sun COMSTAR Other Linux
IET SCST STGT
BLOCKIO + + + + -
BLOCKIO (cache safe) + + - + -
FILEIO + + + + +
FILEIO (O_SYNC) + + - + +
LUN provisioning + - - + -
RAID MD/LVM2/HW ZFS MD/LVM2/HW
RAW + + - - -
RAMDISK + - - - -
SCSI pass-through + - - + +

Fabric modules

Linux LIO Sun COMSTAR Other Linux
IET SCST STGT
16 GFC (HBA) + - - -[12] -
Fibre Channel (HBA) QLogic + - QLogic[12] -
FCoE + + - Beta -
IBM vSCSI out of tree - - + +
IEEE 1394 + - - - -
iSCSI + + + + +
iSER (iWARP) - - - - -
iSER (IB/RoCE) Mellanox + - - +
Loopback SCSI LLD tcm_loop[13] - - scst_local -
NTB
Non-Transparent Bridging
- - - - -
Parallel (Wide) SCSI - - - Alpha -
SAS - + - Marvell (Beta) -
SRP
InfiniBand SCSI RDMA Protocol
Mellanox + - + -
USB Gadget + - - - -
vHost
QEMU virtio and virtio-scsi PV guests
+[14] - - - -

Fibre Channel

Linux LIO Sun COMSTAR Other Linux
IET SCST STGT
16 GFC support Linux 3.9 - - -[12] -
NPIV
NPort ID Virtualization
Linux 3.14 Emulex - + -
OS inclusion Linux 3.5 OpenSolaris - - -

FCoE

Linux LIO Sun COMSTAR Other Linux
IET SCST STGT
DDP
Direct Data Placement
+ - - - -
OS inclusion Linux 3.0 OpenSolaris - - -

IEEE 1394

Linux LIO Sun COMSTAR Other Linux
IET SCST STGT
OS inclusion Linux 3.5 - - - -

iSCSI

Linux LIO Sun COMSTAR Other Linux
IET SCST STGT
AHS
Additional Header Segment
- - - + +
AEN
Asynchronous Event Notification
For ERL=2 - - + -
Bidirectional commands + - - + +
Extended CDBs (>16 bytes) + - - + +
iSCSI MIBs Enterprise Edition - - - -
Maximum ERL
Error Recovery Level
2 0 0 0 0
MC/S
Multiple Connections per Session
+ - - - -
OS inclusion Linux 3.1 OpenSolaris - - -
SSE4.2 hardware assist[15] + - - - -

iSER

Linux LIO Sun COMSTAR Other Linux
IET SCST STGT
T10 DIF Linux 3.15 - - - -
OS inclusion Linux 3.10 OpenSolaris - - -

Loopback

Linux LIO Sun COMSTAR Other Linux
IET SCST STGT
OS inclusion Linux 2.6.39 OpenSolaris - - -

SRP

Linux LIO Sun COMSTAR Other Linux
IET SCST STGT
OS inclusion Linux 3.3 OpenSolaris - - -

USB Gadget

Linux LIO Sun COMSTAR Other Linux
IET SCST STGT
OS inclusion Linux 3.5 - - - -

vHost

Linux LIO Sun COMSTAR Other Linux
IET SCST STGT
OS inclusion Linux 3.6 - - - -

See also

Notes

  1. a b Thorsten Leemhuis (3/2/2011). "Kernel Log: Coming in 2.6.38 (Part 4) - Storage". Heise Online. 
  2. a b Linus Torvalds (1/14/2011). "Trivial merge". lkml.org. 
  3. a b Jonathan Corbet (12/22/2010). "Shooting at SCSI targets". lnw.net. 
  4. a b Brian Auld (5/12/2012). "How to reliably force_close scst iscsi_sessions that are processing IO". sourceforge.net. 
  5. Bart Van Assche (9/24/2012). "Re: Can't build SCST for CentOS 6.2x64". http://sourceforge.net. 
  6. Deprecated with SCSI-3.
  7. a b Required for VMware vSphere certification.
  8. Required for VMware ESX certification.
  9. Required for Windows 2003 Clustering.
  10. Required for RHEL5 I/O Fencing and Clustering.
  11. Required for Windows 2008/R2 Failover Clustering.
  12. a b c Emulex discontinued support on 5/3/2012 (see Emulex and SCST).
  13. Throughput: >12 GB/s (native) and >2 GB/s (virtualized, KVM: per VM without hardware assist).
  14. Throughput: >20 GB/s (virtualized without hardware assist).
  15. E.g., for payload digest acceleration.

External links

Timeline of the Linux-IO Target
Release Details 2010 2011 2012 2013 2014
123456789101112 123456789101112 123456789101112 123456789101112 123456789101112
4.x Version 4.0
Feature LIO Core Loop back FCoE iSCSI Perf SRP
CM WQ FC
USB
1394
vHost Perf Misc 16 GFC iSER Misc VAAI Misc DIF
Ref's
NPIV
iSER DIF
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.x Version 3.2 3.4 3.5
Feature Misc Open-FCoE Backports

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Google AdSense