Main Page

The Linux SCSI Target Wiki

(Difference between revisions)
Jump to: navigation, search
m (Source Code)
m (Source Code)
Line 342: Line 342:
To see how to build the latest v3.x tree, please have a look at
To see how to build the latest v3.x tree, please have a look at
[ Building_Generic_Target_Engine_and_LIO-Target_v3.x.0_from_kernel.org_git]
[[LIO-Target#Building_Generic_Target_Engine_and_LIO-Target_v3.x.0_from_kernel.org_git Building_Generic_Target_Engine_and_LIO-Target_v3.x.0_from_kernel.org_git]]
Below is the legacy v2.9 build README, that has been in maintence mode since 2008.  It does not contain the support for [[Persistent Reservations]], [[ALUA]] or the ConfigFS interface.
Below is the legacy v2.9 build README, that has been in maintence mode since 2008.  It does not contain the support for [[Persistent Reservations]], [[ALUA]] or the ConfigFS interface.

Revision as of 21:59, 27 August 2009

Welcome to!

VHACS-VM x86_64 across 2x physical node (12 Ghz 45 nanometer) x86_64 across 2x open platforms (Linux x86_64 / Linux i386) with 8 active 5 & 2.5 GB storage clouds.
VHACS-VM x86_64 across 2x physical nodes (12 Ghz 45 nanometer) x86_64 across one (Linux x86_64) and one closed (win32) platforms with 12 active 2 GB storage clouds.
VHACS-VM v0.8.15 running 8x 1 GB VHACS Storage Clouds on 45 nm x86_64!
Playing songs with OpenMoko Media Player over iSCSI/Wifi connected to LIO-Target
The first OCFS2/iSCSI_for_OS-2008 prototype on N800 hardware is up and running!!
iSCSI/MacOSX on a TiBook G4 connected to many different LIO-Target architectures, watching iSCSI/DVD.
iSCSI/HD across IPv6 from LIO-Target Storage on the Playstation3/iSCSI.
iSCSI Storage via Remote Control on ARM5 embedded Linux! Check NeurosOSD for more information about iSCSI on this great device!
Virtualized LIO-VM Targets in JeOS/Vmware, JeOS/Qemu and Debian/Qemu i386 virtual machines on a Debian Etch i386 host. Playstation3/iSCSI is also running iSCSI/HD native on Linux/ppc64.
OpenMoko/FIC Neo1973 with USB Flash and BD-ROM storage access to i386 LIO-VM and ppc64 Playstation3/iSCSI storage.


Feature Overview

Upstream - - - X
Zero-Copy X - X X
Generic Target Engine X - X X
User Interface
Basic CLI X X X X
Cluster Storage CLI VHACS - - -
Generic Target Engine
Backstorage Drivers Kernel - Kernel & User User
Target Drivers Kernel iSCSI only Kernel & User
4k Sector Support X - - X
Advanced LUN Access control - - X -
Failover Clustering X X - -
Windows 2003 Clustering
Persistent Reservations
Windows 2008 Clustering
X - - -
ALUA X - - -
I/O Fencing
RHEL5 Clustering
X - - -
SCSI MIBs X - - -
Configuration Interface ConfigFS Custom ProcFS n/a
Fabric Modules
FC (HBAs) - - Drivers: Emulex, QLogic, LSI
Only in-tree: QLogic in STGT
FCoE Experimental - X Experimental
SRP - - X -
iSER/iWarp - - - -
iSER/IB - - - X
Parallel (Wide) SCSI - - X -
SAS - - Experimental -
iSCSI Target
Additional Header Segment - - X X
Asynchronous Event Notification (AEN) - - X -
Bidirectional Commands - - X X
Extended CDBs (>16 bytes) - - X X
Maximum Error Recovery Level (ERL) 2 0 0 0
Multiple Connections per Session (MC/S) X - - -
iSCSI MIBs X - - -
Configuration Interface ConfigFS - ProcFS n/a

Implict and Explict Asymmetric Logical Unit Assignment (ALUA) added!

The complete functionality of implict (out-of-band ConfigFS controlled) and explict (in-band SET_TARGET_PORT_GROUP controlled) ALUA has been added to lio-core-2.6.git running v2.6.31-rc5! This includes complete support for ALUA Logical Unit and Target Port Groups abstractions as well as all primary and secondary ALUA access states defined by SPC-4.

ALUA is used extensively on a number of client platforms (including Linux via scsi_dh_alua.ko) for doing multipath (MPIO) between multiple SCSI target ports.

Please have a look at ALUA for more information!

LIO 3.0 users reference manual released!

The first users reference manual for the LIO 3.0 CLI has been released!

The manual contains information related to operation of the lio-utils userspace package on v3.0 kernel level Target_Core_Mod/ConfigFS core and LIO-Target/ConfigFS fabric including different Linux subsystem storage object backstore reference to iSCSI Target LUN Endpoints.

Please have a look here: LIO-3.0-Users_Reference_Manual.pdf

Persistent Reservation support for APTPL=1, SPEC_I_PT=1 and REGISTER_AND_MOVE added!

The Activate Persist across Target Power Loss (APTPL) and Specify Initiator Ports Capable (SPEC_I_PT) logic from SPC-4 is up and running on v2.6.31-rc5! Also, the final PROUT service action: REGISTER_AND_MOVE has also been added recently. This makes the TCM/LIO 3.x code 100% persistent reservation feature complete!

Please have a look at Persistent Reservations for more information

Updated to kernel v2.6.31-rc5 in lio-core-2.6.git

The lio-core-2.6.git kernel tree has been updated to v2.6.31-rc5, and the lio-core-2.6.30.git tree has been created.

Updated to kernel v2.6.30 and v3.0 python CLI/source and initial HOWTO released!

The lio-core-2.6.git kernel tree has been updated to v2.6.30 and LIO modules for Target_Core_Mod/ConfigFS and LIO-Target/ConfigFS.

Also, the userspace source package for v3.0 has been released. Please see lio-utils for more information.

The v3.0 Howto is now online as well. This is a WIP (it still takes a bit of kernel build knowledge to get up and running) but it gives a good idea of what tcm_node and lio_node CLI operations look like.

SPC-3 compliant Persistent_Reservations for Target_Core_Mod/ConfigFS v3.0

As of early April 2009, all modes of Persistent_Reservations have been completed and are currently in testing. So for, the v3.0 target mode is passing validation for RHEL/Linux_Persistent_Reservations and MSFT/Persistent_Reservations with more to follow. SPC-3 persistent reservations are used by cluster storage implementations for hanlding I/O fencing across failover/retakeover scenarios. LIO-Target is the first v3.0 fabric module to take advantage of the SPC-3 PR emulation for IBLOCK, FILEIO and RAMDISK subsystem plugins in Target_Core_Mod/ConfigFS.

Please see Persistent_Reservations for a complete list of what is supported.

LIO-Target/ConfigFS v3.0 for kernel v2.6.29

For v3.0 in lio-core-2.6.git, development has been underway since early Sept 2008 to enable a generic target engine running configfs between our Target (LIO-Target) Stack also running configfs.

As of the Late march release of Linux Kernel v2.6.29, all main functionality is up using ConfigFS symbolic links between target_core_mod Storage Objects and <-> LIO-Target iSCSI Target Portal Group Port LUNs. This includes support for SPC-3 Persistent_Reservations and initial implict ALUA logic and configFS infrastructure

Please see LIO-Target/ConfigFS and LIO-Target for more information

VHACS-VM Alpha Preview

VHACS is an storage cloud based on at least 8 (eight) open source technologies running on Linux v2.6.25. VHACS is an acrynom for Virtualization, High Availibility, and Cluster Storage. There is now an alpha release of the software stack running in a virtualized x86_64 environment. The VHACS-VM images are available now, and oriented towards kernel developers, storage and network systems researchers, C programmers, Python and Shell programmers, and anyone who wants to see a real life open storage cloud on their virtualized x86 PC. Using the VHACS-Vm is the fastest method for users to get involved with the project. This is a very developer oriented release, so you should feel comfortable using a modern CLI Linux shell. A complete development environment is included in the images.

VHACS-VM v0.8 Alpha Images

VHACS-VM and VHACS development is moving very quickly, please keep checking back for more information as it becomes available.

LIO-Target v3.0.0 available from Git

v3.0-UPSTREAM: v3.0.0 for v2.6.29;a=summary

To clone a lio-target tree of your own, use:

git clone git:// lio-core-2.6

Please have a look at LIO-Target for more information!

OpenMoko Freerunner

iSCSI/WIFI and iSCSI/GPRS are up and running between Core-iSCSI on the OpenMoko Freerunner connected via Playstation3/iSCSI using LIO-Target v2.9-STABLE

Core-iSCSI Initiator .ipk are available from LIO-Cluster link

OCFS2/iSCSI on Nokia N Series Maemo devices running OS 2008

The first set of packages for using a cluster filesystem, OCFSv2 on the Maemo platform for Nokia Devices.

The .debs are now online at LIO-Cluster link

Have a look at OCFS2/iSCSI_for_OS-2008 for more information!

OS 2008 for Nokia Maemo internet tablets

The first stable release of Mobile IP storage services for the Nokia N800 running OS 2008 has been released. This mobile stack has been ported using the excellent cross-compile toolkit Scratchbox to the 2.6.21-omap1 kernel and Busybox environment that runs on the OMAP/ARM.

Core-iSCSI Mobile Client - OS 2008 - CLI Stable Release

Have a look at Core-iSCSI/Nokia_800 for more information!

iSCSI/MacOSX and LIO-Target

The Small-Tree v0.6.8 is up and running! Have a look at iSCSI/MacOSX for the full details!

LIO-Target iSCSI/SE for TS-7800 ARM9 development board

The TS-7800 development board from Technologic has a 32-bit Marvell Orion 88F5182 ASIC clocked at 500 Mhz with 128MB DDR-RAM, and integrated support for 2 SATA ports, 2 USB 2.0 480Mbit/s host/slave, 10/100/1000 Ethernet.

As this chip is being used in a number of NAS appliances link, running this device with IP fabric services to USB, SATA, LVM is now up running with LIO-Target.

Please see TS-7800 for more information!

LIO-Target iSCSI/SE for PS3-Linux


This modules are built for ppc64 and built with the toolkit for Fedora Core 8 ppc. This is gcc (GCC) 4.1.2 20070925 (Red Hat 4.1.2-33)

This module has been tested with 2.6.25 from ps3-linux.git and built against arch/powerpc/configs/ps3_defconfig with drivers/md/* enabled as modules for MD/LVM access with LIO-Target.

Please see Playstation3/iSCSI for move information!

LIO-VM i386 Demo Images are now Online!

The LIO-VM Storage Engine demo is a set of VMware, KVM, and Qemu compatible virtual machine images that contains a self-configuring iSCSI target mode storage engine that runs on a very large and diverse amount of PC storage software and hardware. When the LIO-VM image boots, the host local storage hardware that is made available to the guest is exported as iSCSI target ports, and made available to both local and remote iSCSI Initiator clients.

Note that the iSCSI target is configured to allow _ALL_ iSCSI Initiators to access _ALL_ iSCSI Target Ports across all available iSCSI Network Portals. By default, the storage devices with filesystems will be exported as READ-ONLY to prevent multiple accesses by non-cluster filesystems. Support for production R/W configurations of this demo are in the works, please stay tuned to the site and lists for more information as this unfolds. Also, if you really know what you are doing when it comes to non cluster filesystem + RW access, please see Section IX in LIO-VM.

LIO-JeOS-VMware6 99050274 Bytes


LIO-JeOS-KVM 88605611 Bytes


LIO-JeOS-Qemu 87135808 Bytes

md5sum 186084763 Bytes


Please see LIO-VM for more information.

Internet Small Computer Systems Interface / High Definition

iSCSI/HD allows owners of high definition capable hardware and software to access their media across an IP network.

A server acting running iSCSI Target mode running Linux v2.6 with an HD capable optical drive. A client that is capable of HD media playback, has a GigE network connection, and can speak iSCSI.

Please see iSCSI/HD for more information.

iSCSI on the Neuros OSD Personal Video Recorder/Player

Please have a look at NeurosOSD for more information.

iSCSI over Cellular Data Networks

Please have a look at iSCSI/GSM and Rokr_E2 for more information.

iSCSI on OpenMoko Devices

Please have a look at OpenMoko Freerunner and FIC Neo1973 for more information.

Internet Storage Naming Service (RFC-4171)

Please have a look at iSNS, iSNS Control Node Client, and Linux iSNS Server Howto

Source Code

To see how to build the latest v3.x tree, please have a look at LIO-Target#Building_Generic_Target_Engine_and_LIO-Target_v3.x.0_from_kernel.org_git Building_Generic_Target_Engine_and_LIO-Target_v3.x.0_from_kernel.org_git

Below is the legacy v2.9 build README, that has been in maintence mode since 2008. It does not contain the support for Persistent Reservations, ALUA or the ConfigFS interface.

Source via HTTP/SVN Build README

Repositories and Builds

To see how to build the latest v3.x tree, please have a look at [1]

This is the legacy v2.9 builds, that has been in maintence mode since 2008. It does not contain the support for Persistent Reservations, ALUA or the ConfigFS interface.

Builds for CentOS 5u1 Repository for Debian4 Etch Repository for Ubuntu/JeOS 7.10 Gutsy

The debian/ubuntu binary package names are target-utils, target-modules for binary packages.

For debian/ubuntu source packages, target-source requires module-assistant to build the kernel module from source.

Building the target-utils source currently requires checking out the code and using dpkg-buildpackage from trunk/target Please see the Build README for more information.

Mailing List Target Dev List

Interoperability Results

core-iscsi Interopt Information linux-iscsi Interopt Information open-iscsi Interopt Information

Long-term and Next Generation Projects


Personal tools
Google AdSense