mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-21 20:51:27 +00:00
Web pages updated
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@247 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
15
www/index.html
Normal file
15
www/index.html
Normal file
@@ -0,0 +1,15 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type"
|
||||
content="text/html; charset=ISO-8859-1">
|
||||
<title>SCST: Generic SCSI Target Middle Level for Linux</title>
|
||||
<meta name="Keywords"
|
||||
content="SCST, Linux, SCSI target, Qlogic, QLA2200, QLA2300, iSCSI, SCSI">
|
||||
</head>
|
||||
|
||||
<frameset rows=* cols=25%,*>
|
||||
<frame src="menu.html" />
|
||||
<frame src="main.html" name="showframe" />
|
||||
</frameset>
|
||||
|
||||
</HTML>
|
||||
199
www/main.html
Normal file
199
www/main.html
Normal file
@@ -0,0 +1,199 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type"
|
||||
content="text/html; charset=ISO-8859-1">
|
||||
<title>SCST: Generic SCSI Target Middle Level for Linux</title>
|
||||
<meta name="Keywords"
|
||||
content="SCST, Linux, SCSI target, Qlogic, QLA2200, QLA2300, iSCSI, SCSI">
|
||||
</head>
|
||||
<body>
|
||||
<h1><small>Generic SCSI Target Middle Level for Linux</small><br>
|
||||
</h1>
|
||||
<p style="text-align: justify;">The SCSI target mid-level subsystem for
|
||||
Linux (SCST) is a subsystem of the Linux kernel that provides a
|
||||
standard framework for SCSI target drivers development. It is designed
|
||||
to
|
||||
provide unified, consistent interface between SCSI target drivers and
|
||||
Linux kernel and simplify target drivers development as much as
|
||||
possible. A system with a SCSI target device is able to share its local
|
||||
or virtual devices with other systems on a network with SCSI protocol
|
||||
support, e.g. SCSI bus, SAS, Fibre Channel or iSCSI. This is
|
||||
commonly used for data storage virtualization.<br>
|
||||
</p>
|
||||
<p style="text-align: justify;">SCST has the following features:</p>
|
||||
<div style="text-align: justify;">
|
||||
</div>
|
||||
<p style="text-align: justify;">
|
||||
</p>
|
||||
<div style="text-align: justify;">
|
||||
</div>
|
||||
<ul style="text-align: justify;">
|
||||
<li>Simple, easy to use interface with target drivers. Particularly,
|
||||
SCST performs all required pre- and post- processing of incoming
|
||||
requests and all necessary error recovery.</li>
|
||||
<li>Undertakes most problems, related to execution contexts, thus
|
||||
practically eliminating one of the most complicated problem in the
|
||||
kernel drivers development. For example, a target driver for QLogic
|
||||
2200/2300 cards, which has all necessary features, is only ~2000 lines
|
||||
of code long.</li>
|
||||
<li> Very low overhead, fine-grained locks and simplest commands
|
||||
processing path, which allow to reach maximum possible performance and
|
||||
scalability. Particularly, incoming
|
||||
requests can be processed in the caller's context or in
|
||||
one of the internal SCST's tasklets, therefore no extra context
|
||||
switches
|
||||
required. <br>
|
||||
</li>
|
||||
<li>Device handlers, i.e. plugins, architecture provides extra
|
||||
flexibility by allowing various I/O modes in backstorage handling. For
|
||||
example, pass-through device handlers allows to use real SCSI hardware
|
||||
and vdisk device
|
||||
handler allows to use files as virtual disks.</li>
|
||||
<li>Provides advanced per-initiator device visibility management (LUN
|
||||
masking),
|
||||
which allows different initiators to see different set of devices
|
||||
with different access permissions. For instance, initiator A could see
|
||||
exported from
|
||||
target T devices Da and Db read-writable, and initiator B from the same
|
||||
target T could see devices Db read-only and Dc read-writable.<br>
|
||||
</li>
|
||||
<li> Emulates necessary functionality of SCSI host adapter, because
|
||||
from remote initiators point of view SCST acts as a SCSI host with
|
||||
its
|
||||
own devices. This is especially important in pass-through mode with one
|
||||
to many relationship, i.e. when
|
||||
multiple initiators can connect to the exported pass-through devices.
|
||||
You can find more deep elaboration why it is needed in <a
|
||||
href="http://www.mail-archive.com/linux-scsi@vger.kernel.org/msg06911.html">this</a>
|
||||
message in linux-scsi mailing list. Some of the emulated functions are
|
||||
the following:
|
||||
<ul>
|
||||
<li> Generation of necessary UNIT ATTENTIONs, their storage and
|
||||
delivery to all connected remote initiators. </li>
|
||||
<li> RESERVE/RELEASE functionality. </li>
|
||||
<li> CA/ACA conditions (not implemented yet). </li>
|
||||
<li> All types of RESETs and other task management functions. </li>
|
||||
<li> REPORT LUNS command as well as SCSI address space management
|
||||
in order to have consistent address space on all remote initiators,
|
||||
since local SCSI devices could not know about each other to report
|
||||
via REPORT LUNS command. Additionally, SCST responds with error on
|
||||
all commands to non-existing devices and provides access control, so
|
||||
different remote initiators could see
|
||||
different set of devices. </li>
|
||||
<li> Other necessary functionality (task attributes, etc.) as
|
||||
specified in SAM-2, SPC-2, SAM-3, SPC-3 and other SCSI standards. </li>
|
||||
</ul>
|
||||
</li>
|
||||
<li> Multithreaded design and complete SMP support, so all your
|
||||
processors will participate in the commands processing.<br>
|
||||
</li>
|
||||
<li>Well documented.<br>
|
||||
</li>
|
||||
</ul>
|
||||
<div style="text-align: justify;">
|
||||
</div>
|
||||
<p style="text-align: justify;">Interoperability between SCST and local
|
||||
SCSI initiators (i.e. sd, st, etc.) is
|
||||
the additional issue that SCST is going to address (it is not
|
||||
implemented yet). It is necessary, because local SCSI initiators can
|
||||
change the state of the device, for example RESERVE the device, or some
|
||||
of its parameters and that could be done behind SCST, which could lead
|
||||
to various problems, including data corruption. Thus, RESERVE/RELEASE
|
||||
commands, locally generated
|
||||
UNIT ATTENTIONs, etc. should be intercepted and processed as if local
|
||||
SCSI initiators act as remote SCSI initiators connected to SCST.<br>
|
||||
</p>
|
||||
<p style="text-align: justify;">Interface between SCST and target
|
||||
drivers is based on work, done by <a href="http://www.iol.unh.edu/">University
|
||||
of New Hampshire Interoperability Labs (UNH IOL)</a> for the <a
|
||||
href="http://www.iol.unh.edu/consortiums/iscsi/index.html">UNH-iSCSI
|
||||
project</a>, which was developed on <a
|
||||
href="http://unh-iscsi.sourceforge.net/">SourceForge.net</a>.<br>
|
||||
</p>
|
||||
<p style="text-align: justify;">SCST supports the following I/O modes:<br>
|
||||
</p>
|
||||
<ul>
|
||||
<li>Pass-through mode with one to many relationship, i.e. when
|
||||
multiple initiators can connect to the exported pass-through devices,
|
||||
for virtually all SCSI devices types: disks
|
||||
(type 0), tapes (type 1), processors (type
|
||||
3), CDROMs (type 5), MO disks (type 7), medium changers (type 8) and
|
||||
RAID controllers (type 0xC)</li>
|
||||
<li>FILEIO mode, which allows to use files on file
|
||||
systems or block devices as virtual remotely available SCSI disks or
|
||||
CDROMs with benefits of the Linux page cache<br>
|
||||
</li>
|
||||
<li>BLOCKIO mode, which performs direct block IO with a block device,
|
||||
bypassing page-cache for all operations. This mode works ideally with
|
||||
high-end storage HBAs and for applications that either do not need
|
||||
caching between application and disk or need the large block throughput.</li>
|
||||
<li>User space mode using scst_user device handler, which allows to
|
||||
implement in the user space virtual SCSI devices in the SCST environment<br>
|
||||
</li>
|
||||
<li>"Performance" device handlers, which provide in pseudo
|
||||
pass-through mode a way for direct
|
||||
performance measurements without overhead of actual data transferring
|
||||
from/to underlying SCSI device<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p style="text-align: justify;">The latest stable version is 0.9.5.
|
||||
Requires Linux kernel 2.6.14 or higher.
|
||||
Tested mostly on i386 and x86_64,
|
||||
but should also
|
||||
work on any other
|
||||
supported by Linux platform. More detail information you could find in
|
||||
the SCST README file.
|
||||
</p>
|
||||
Starting from version 0.9.4 2.4 Linux
|
||||
kernels are not supported anymore. The latest
|
||||
stable
|
||||
version of SCST for 2.4 kernels is 0.9.3.1-24.
|
||||
<p style="text-align: justify;">If you have any questions you can ask
|
||||
them via <a
|
||||
href="http://sourceforge.net/mailarchive/forum.php?forum_name=scst-devel">scst-devel
|
||||
mailing list</a> or <a
|
||||
href="http://sourceforge.net/forum/forum.php?forum_id=378683">forum</a>.
|
||||
See main SCST page on SF.net for more info how to subscribe on
|
||||
scst-devel mailing list.
|
||||
</p>
|
||||
Documentation: <a href="doc/scst_pg.html">HTML</a>,
|
||||
<a href="doc/scst_pg.pdf">PDF</a>, <a href="doc/scst_user_spec.txt">scst_user
|
||||
interface description</a><br>
|
||||
Some nice SCST call graphs, created by Ming Zhang: <a
|
||||
href="doc/init_scst.png">init_scst</a>, <a
|
||||
href="doc/scst_cmd_thread.png">scst_cmd_thread</a>, <a
|
||||
href="doc/scst_mgmt_cmd_thread.png">scst_mgmt_cmd_thread</a>, <a
|
||||
href="doc/scst_mgmt_thread.png">scst_mgmt_thread</a><br>
|
||||
<p>The latest development version of SCST and target drivers is
|
||||
available directly from the
|
||||
project's SVN. The SCST release policy is to make stable releases once
|
||||
or
|
||||
twice a year, with the only exception if the current stable version
|
||||
contains a critical bug. But every commit in the SVN is carefully
|
||||
tested, so you can consider them as mini releases. Therefore on
|
||||
practice the development version
|
||||
in the SVN
|
||||
is usually more stable, than the "stable", i.e. released, one. You can
|
||||
access it using
|
||||
either <a href="http://scst.svn.sourceforge.net/">web-based SVN
|
||||
repository viewer</a> or using anonymous access: </p>
|
||||
<p> <tt> svn co https://scst.svn.sourceforge.net/svnroot/scst<br>
|
||||
</tt></p>
|
||||
<p>More information about accessing SVN repository may be found <a
|
||||
href="http://sourceforge.net/docs/E09">here</a>.<br>
|
||||
</p>
|
||||
<p>History of the pre-SVN SCST development is available in SCST CVS
|
||||
repository, which is accessible using <a
|
||||
href="http://cvs.sourceforge.net/viewcvs.py/scst">web-based CVS
|
||||
repository viewer</a> or anonymous CVS access.<br>
|
||||
</p>
|
||||
<p><a href="http://www.sourceforge.net/projects/scst">Main SCST project
|
||||
page on </a><a href="http://www.sourceforge.net/projects/scst">SF.net</a><br>
|
||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=110471">Download
|
||||
released versions</a><br>
|
||||
<a href="ChangeLog.scst">Change Log</a><br>
|
||||
<br>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
34
www/menu.html
Normal file
34
www/menu.html
Normal file
@@ -0,0 +1,34 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=ISO-8859-1"
|
||||
http-equiv="content-type">
|
||||
<title>SCST menu</title>
|
||||
</head>
|
||||
<body>
|
||||
<a href="http://sourceforge.net"> <img
|
||||
src="http://sourceforge.net/sflogo.php?group_id=110471&type=5"
|
||||
alt="SourceForge.net Logo" border="0" height="62" width="210"></a>
|
||||
<br>
|
||||
<br>
|
||||
<a href="main.html" target="showframe">Home</a><br>
|
||||
<a href="scstadmin.html" target="showframe">SCST admin</a><br>
|
||||
<a href="targets.html#iscsi-scst" target="showframe">iSCSI-SCST</a><br>
|
||||
<a href="targets.html#qla2x00" target="showframe">Target driver for
|
||||
QLogic
|
||||
2200/2300 cards</a><br>
|
||||
<a href="targets.html#qla_isp" target="showframe">Target driver for
|
||||
QLogic ISP
|
||||
chipsets</a><br>
|
||||
<a href="targets.html#srpt" target="showframe">SCSI RDMA Protocol (SRP)
|
||||
Target driver</a><br>
|
||||
<a href="targets.html#lsi" target="showframe">Target driver for LSI/MPT
|
||||
cards</a><br>
|
||||
<a href="old-targets.html" target="showframe">Old unsupported target
|
||||
drivers</a><br>
|
||||
<hr style="width: 100%; height: 2px;"><a href="scst-stgt.html"
|
||||
target="showframe">SCST vs
|
||||
STGT</a><br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
81
www/old-targets.html
Normal file
81
www/old-targets.html
Normal file
@@ -0,0 +1,81 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type"
|
||||
content="text/html; charset=ISO-8859-1">
|
||||
<title>SCST: Generic SCSI Target Middle Level for Linux</title>
|
||||
<meta name="Keywords"
|
||||
content="SCST, Linux, SCSI target, Qlogic, QLA2200, QLA2300, iSCSI, SCSI">
|
||||
</head>
|
||||
<body>
|
||||
<h1><small>Old target driver for QLogic 2200/2300 cards for 2.4 kernels<br>
|
||||
</small></h1>
|
||||
<div style="text-align: justify;">Old target driver for QLogic
|
||||
2200/2300
|
||||
cards is capable to work on 2.4 kernels. It has all required features
|
||||
and
|
||||
looks to be quite stable. It is designed to work in conjunction with
|
||||
the initiator
|
||||
driver, which is intended to perform all the initialization and
|
||||
shutdown tasks. In the current release as a base for the initiator
|
||||
driver was taken Red Hat's driver from the stock 2.4.20 kernel. Then it
|
||||
was patched to enable the target mode and provide all
|
||||
necessary callbacks, and it's still able to work as initiator only.
|
||||
Mode, when a host acts as the initiator and the target simultaneously,
|
||||
is also supported. This driver is obsoleted in favor of
|
||||
2.6-based driver.<br>
|
||||
<br>
|
||||
The latest version is 0.9.3.4. Requires Linux kernel versions 2.4.20 or
|
||||
higher and SCST version 0.9.3-pre4 or higher. If you are lucky, it
|
||||
works also on 2.6 kernels, see README file
|
||||
for details. Tested on i386 only, but
|
||||
should work on any other supported by Linux platform.<br>
|
||||
<br>
|
||||
Currently it is not supported and listed here for historical reasons
|
||||
only.<br>
|
||||
<br>
|
||||
</div>
|
||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=110471">Download</a><br>
|
||||
<a href="ChangeLog.qla">Change Log</a><br>
|
||||
<br>
|
||||
<hr style="width: 100%; height: 2px;"><span style="font-weight: bold;"></span>
|
||||
<h1><small>Target drivers for Adaptec 7xxx and QLogic QLA12xx
|
||||
cards</small></h1>
|
||||
Target drivers for Adaptec 7xxx and QLogic QLA12xx cards have
|
||||
been developed by Hu Gang and they available for download from <a
|
||||
href="http://bj.soulinfo.com/%7Ehugang/scst/tgt/">http://bj.soulinfo.com/~hugang/scst/tgt/</a>.
|
||||
These drivers are not completed, but looks to be a good starting point
|
||||
if you are going to use one of these cards.
|
||||
SCST team don't have the appropriate hardware, therefore have not
|
||||
tested and don't support these drivers. Send all questions to Hu Gang
|
||||
<hugang
|
||||
% soulinfo.com>. If some of these drivers don't compile for you, try
|
||||
again with SCST version 0.9.3-pre2.<br>
|
||||
<br>
|
||||
<a href="http://bj.soulinfo.com/%7Ehugang/scst/tgt/">Download</a><br>
|
||||
<br>
|
||||
<hr style="width: 100%; height: 2px;">
|
||||
<h1><small>Patches for UNH-iSCSI Target 1.5.03 and 1.6.00 to work over
|
||||
SCST</small></h1>
|
||||
SCST is much more advanced, than the internal mid-level of <a
|
||||
href="http://sourceforge.net/projects/unh-iscsi">UNH-iSCSI target
|
||||
driver</a>.
|
||||
With SCST the iSCSI target benefits from all its features and gets
|
||||
ability to use all its advantages, like high performance and
|
||||
scalability, SMP support, required SCSI functionality emulation, etc.<br>
|
||||
<br>
|
||||
Since the interface between SCST and the target drivers is based on
|
||||
work, done by UNH IOL, it was relatively simple to update UNH-iSCSI
|
||||
target to work over SCST. Mostly it was "search and replace" job. The
|
||||
built-in scsi_target remains available as a compile-time option.<br>
|
||||
<br>
|
||||
Requires Linux kernel versions 2.4.20 or
|
||||
higher or 2.6.7 or higher and SCST version 0.9.2 or higher.<br>
|
||||
<br>
|
||||
Currently it is not supported and listed here for historical reasons
|
||||
only.<br>
|
||||
<br>
|
||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=110471">Download</a><br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
50
www/scst-stgt.html
Normal file
50
www/scst-stgt.html
Normal file
@@ -0,0 +1,50 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type"
|
||||
content="text/html; charset=ISO-8859-1">
|
||||
<title>SCST: Generic SCSI Target Middle Level for Linux</title>
|
||||
<meta name="Keywords"
|
||||
content="SCST, Linux, SCSI target, Qlogic, QLA2200, QLA2300, iSCSI, SCSI">
|
||||
</head>
|
||||
<body>
|
||||
<a href="http://stgt.berlios.de/">STGT</a> is alternative, independent
|
||||
from SCST implementation of SCSI target framework for Linux. It has
|
||||
different architecture, where SCSI target state machine is placed in
|
||||
the user space, while in SCST all the processing done in the kernel.
|
||||
Such architecture was acknowledged as a "right" one by the Linux SCSI
|
||||
subsystem maintainers, so kernel's part of STGT quickly found its way
|
||||
to the kernel. But such architecture has two inherent problems, namely
|
||||
performance and complexity. See this thread: <a
|
||||
href="http://sourceforge.net/mailarchive/forum.php?thread_name=472F7FA4.7040303%40wpkg.org&forum_name=scst-devel">http://sourceforge.net/mailarchive/forum.php?thread_name=472F7FA4.7040303%40wpkg.org&forum_name=scst-devel</a>
|
||||
and this message: <a
|
||||
href="http://thread.gmane.org/gmane.linux.scsi/36417/focus=37273">http://thread.gmane.org/gmane.linux.scsi/36417/focus=37273</a>
|
||||
for more details.<br>
|
||||
<br>
|
||||
See also the following important discussions:<br>
|
||||
<ul>
|
||||
<li><a
|
||||
href="http://news.gmane.org/find-root.php?message_id=%3c43987F75.2000301%40vlnb.net%3e">http://news.gmane.org/find-root.php?message_id=%3c43987F75.2000301%40vlnb.net%3e</a>,
|
||||
especially pay attention to this message: <a
|
||||
href="http://article.gmane.org/gmane.linux.scsi/21073">http://article.gmane.org/gmane.linux.scsi/21073</a>
|
||||
for motivation behind considering STGT's architecture "right".</li>
|
||||
<li><a
|
||||
href="http://news.gmane.org/find-root.php?message_id=%3c463F36AC.3010207%40vlnb.net%3e">http://news.gmane.org/find-root.php?message_id=%3c463F36AC.3010207%40vlnb.net%3e</a></li>
|
||||
<li><a
|
||||
href="http://news.gmane.org/find-root.php?message_id=%3ce2e108260801170127w2937b2afg9bef324efa945e43%40mail.gmail.com%3e">http://news.gmane.org/find-root.php?message_id=%3ce2e108260801170127w2937b2afg9bef324efa945e43%40mail.gmail.com%3e</a>
|
||||
for performance comparison.<br>
|
||||
</li>
|
||||
</ul>
|
||||
Also you shouldn't be deceived by the fact
|
||||
that some (small) part of STGT was accepted in the kernel. It doesn't
|
||||
mean that STGT has the "kernel quality". In fact, STGT as a whole
|
||||
similarly to any other out-of-tree project lives on its own, hence has
|
||||
its own quality level, which isn't necessary better, than the quality
|
||||
level of SCST. Actually, from such important aspect of quality as
|
||||
simplicity, it might be quite contrary: e.g. SCST isn't required to
|
||||
support HIGHMEM (nowadays it isn't necessary, but required for all
|
||||
in-kernel components), which allowed to simplify memory management a
|
||||
lot.<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,432 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type"
|
||||
content="text/html; charset=ISO-8859-1">
|
||||
<title>SCST: Generic SCSI Target Middle Level for Linux</title>
|
||||
<meta name="Keywords"
|
||||
content="SCST, Linux, SCSI target, Qlogic, QLA2200, QLA2300, iSCSI, SCSI">
|
||||
</head>
|
||||
<body>
|
||||
<a href="http://sourceforge.net"> <img
|
||||
src="http://sourceforge.net/sflogo.php?group_id=110471&type=5"
|
||||
alt="SourceForge.net Logo" border="0" height="62" width="210"></a>
|
||||
<h1><small>Generic SCSI Target Middle Level for Linux</small><br>
|
||||
</h1>
|
||||
<p style="text-align: justify;">The SCSI target mid-level subsystem for
|
||||
Linux (SCST) is a subsystem of the Linux kernel that provides a
|
||||
standard framework for SCSI target drivers development. It is designed
|
||||
to
|
||||
provide unified, consistent interface between SCSI target drivers and
|
||||
Linux kernel and simplify target drivers development as much as
|
||||
possible. A system with a SCSI target device is able to share its local
|
||||
or virtual devices with other systems on a network with SCSI protocol
|
||||
support, e.g. SCSI bus, Fibre Channel, TCP/IP with iSCSI. This is
|
||||
commonly used for data storage virtualization.<br>
|
||||
</p>
|
||||
<p style="text-align: justify;">SCST has the following features:</p>
|
||||
<div style="text-align: justify;">
|
||||
</div>
|
||||
<p style="text-align: justify;">
|
||||
</p>
|
||||
<div style="text-align: justify;">
|
||||
</div>
|
||||
<ul style="text-align: justify;">
|
||||
<li>Simple, easy to use interface with target drivers. Particularly,
|
||||
SCST performs all required pre- and post- processing of incoming
|
||||
requests and all necessary error recovery.</li>
|
||||
<li>Undertakes most problems, related to execution contexts, thus
|
||||
practically eliminating one of the most complicated problem in the
|
||||
kernel drivers development. For example, a target driver for QLogic
|
||||
2200/2300 cards, which has all necessary features, is only ~2000 lines
|
||||
of code long.</li>
|
||||
<li> Very low overhead, fine-grained locks and simplest commands
|
||||
processing path, which allow to reach maximum possible performance and
|
||||
scalability. Particularly, incoming
|
||||
requests can be processed in the caller's context or in
|
||||
one of the internal SCST's tasklets, therefore no extra context
|
||||
switches
|
||||
required.</li>
|
||||
<li>Provides advanced per-initiator device visibility management (LUN
|
||||
masking),
|
||||
which allows different initiators see different set of devices
|
||||
with different access permissions. For instance, initiator A could see
|
||||
exported from
|
||||
target T devices Da and Db read-writable, and initiator B from the same
|
||||
target T could see devices Db read-only and Dc read-writable.<br>
|
||||
</li>
|
||||
<li> Emulates necessary functionality of SCSI host adapter, because
|
||||
from remote initiators point of view SCST acts as a SCSI host with
|
||||
its
|
||||
own devices. This is especially important in pass-through mode with one
|
||||
to many relationship, i.e. when
|
||||
multiple initiators can connect to the exported pass-through devices.
|
||||
You can find more deep elaboration why it is needed in <a
|
||||
href="http://www.mail-archive.com/linux-scsi@vger.kernel.org/msg06911.html">this</a>
|
||||
message in linux-scsi mailing list. Some of the emulated functions are
|
||||
the following:
|
||||
<ul>
|
||||
<li> Generation of necessary UNIT ATTENTIONs, their storage and
|
||||
delivery to all connected remote initiators. </li>
|
||||
<li> RESERVE/RELEASE functionality. </li>
|
||||
<li> CA/ACA conditions (not implemented yet). </li>
|
||||
<li> All types of RESETs and other task management functions. </li>
|
||||
<li> REPORT LUNS command as well as SCSI address space management
|
||||
in order to have consistent address space on all remote initiators,
|
||||
since local SCSI devices could not know about each other to report
|
||||
via REPORT LUNS command. Additionally, SCST responds with error on
|
||||
all commands to non-existing devices and provides access control, so
|
||||
different remote initiators could see
|
||||
different set of devices. </li>
|
||||
<li> Other necessary functionality (task attributes, etc.) as
|
||||
specified in SAM-2, SPC-2, SAM-3, SPC-3 and other SCSI standards. </li>
|
||||
</ul>
|
||||
</li>
|
||||
<li> Device handlers (i.e. plugins) architecture provides extra
|
||||
flexibility by allowing to make any additional
|
||||
requests processing, which is completely independent from target
|
||||
drivers and SCST core, like, for instance, device dependent exceptional
|
||||
conditions treatment, data caching or passing commands in the user
|
||||
space for device emulation. Example of such plugin is FILEIO device
|
||||
handler (see below) .<br>
|
||||
</li>
|
||||
<li> Complete SMP support.<br>
|
||||
</li>
|
||||
<li>Well documented.<br>
|
||||
</li>
|
||||
</ul>
|
||||
<div style="text-align: justify;">
|
||||
</div>
|
||||
<p style="text-align: justify;">Interoperability between SCST and local
|
||||
SCSI initiators (i.e. sd, st, etc.) is
|
||||
the additional issue that SCST is going to address (it is not
|
||||
implemented yet). It is necessary, because local SCSI initiators can
|
||||
change the state of the device, for example RESERVE the device, or some
|
||||
of its parameters and that could be done behind SCST, which could lead
|
||||
to various problems, including data corruption. Thus, RESERVE/RELEASE
|
||||
commands, locally generated
|
||||
UNIT ATTENTIONs, etc. should be intercepted and processed as if local
|
||||
SCSI initiators act as remote SCSI initiators connected to SCST.<br>
|
||||
</p>
|
||||
<p style="text-align: justify;">Interface between SCST and target
|
||||
drivers is based on work, done by <a href="http://www.iol.unh.edu/">University
|
||||
of New Hampshire Interoperability Labs (UNH IOL)</a> for the <a
|
||||
href="http://www.iol.unh.edu/consortiums/iscsi/index.html">UNH-iSCSI
|
||||
project</a>, which is currently developed on <a
|
||||
href="http://unh-iscsi.sourceforge.net/">SourceForge.net</a>.<br>
|
||||
</p>
|
||||
<p style="text-align: justify;">SCST supports the following I/O modes:<br>
|
||||
</p>
|
||||
<ul>
|
||||
<li>Pass-through mode with one to many relationship, i.e. when
|
||||
multiple initiators can connect to the exported pass-through devices,
|
||||
for virtually all SCSI devices types: disks
|
||||
(type 0), tapes (type 1), processors (type
|
||||
3), CDROMs (type 5), MO disks (type 7), medium changers (type 8) and
|
||||
RAID controllers (type 0xC)</li>
|
||||
<li>FILEIO mode, which allows to use files on file
|
||||
systems or block devices as virtual remotely available SCSI disks or
|
||||
CDROMs with benefits of the Linux page cache<br>
|
||||
</li>
|
||||
<li>BLOCKIO mode, which performs direct block IO with a block device,
|
||||
bypassing page-cache for all operations. This mode works ideally with
|
||||
high-end storage HBAs and for applications that either do not need
|
||||
caching between application and disk or need the large block throughput.</li>
|
||||
<li>User space mode using scst_user device handler, which allows to
|
||||
implement in the user space virtual SCSI devices in the SCST environment<br>
|
||||
</li>
|
||||
<li>"Performance" device handlers, which provide in pseudo
|
||||
pass-through mode a way for direct
|
||||
performance measurements without overhead of actual data transferring
|
||||
from/to underlying SCSI device<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p style="text-align: justify;">The latest stable version is 0.9.5.
|
||||
Requires Linux kernel 2.6.14 or higher.
|
||||
Tested mostly on i386 and x86_64,
|
||||
but should also
|
||||
work on any other
|
||||
supported by Linux platform. More detail information you could find in
|
||||
the project's README file.
|
||||
</p>
|
||||
Starting from version 0.9.4 2.4 Linux
|
||||
kernels are not supported anymore. The latest
|
||||
stable
|
||||
version of SCST for 2.4 kernels is 0.9.3.1-24.
|
||||
<p style="text-align: justify;">If you have any questions you can ask
|
||||
them on the SCST SF.net page either using forum, or scst-devel mailing
|
||||
list.<br>
|
||||
</p>
|
||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=110471">Download</a><br>
|
||||
<a href="http://www.sourceforge.net/projects/scst">SCST SF.net project
|
||||
page</a><br>
|
||||
<a href="ChangeLog.scst">Change Log</a><br>
|
||||
Documentation: <a href="doc/scst_pg.html">HTML</a>, <a
|
||||
href="doc/scst_pg.pdf">PDF</a>, <a href="doc/scst_user_spec.txt">scst_user
|
||||
interface description</a><br>
|
||||
Some nice SCST call graphs, created by Ming Zhang: <a
|
||||
href="doc/init_scst.png">init_scst</a>, <a
|
||||
href="doc/scst_cmd_thread.png">scst_cmd_thread</a>, <a
|
||||
href="doc/scst_mgmt_cmd_thread.png">scst_mgmt_cmd_thread</a>, <a
|
||||
href="doc/scst_mgmt_thread.png">scst_mgmt_thread</a><br>
|
||||
<p>The latest development version of SCST and target drivers is
|
||||
available directly from the
|
||||
project's SVN. The SCST release policy is to make stable releases
|
||||
twice a year, with the only exception if the current stable version
|
||||
contains a critical bug. Therefore on practice the development version
|
||||
in the SVN
|
||||
is usually more stable, than the "stable" one. You can access it using
|
||||
either <a href="http://svn.sourceforge.net/scst">web-based SVN
|
||||
repository viewer</a> or using anonymous access: </p>
|
||||
<p> <tt> svn co https://scst.svn.sourceforge.net/svnroot/scst<br>
|
||||
</tt></p>
|
||||
<p>More information about accessing SVN repository may be found <a
|
||||
href="http://sourceforge.net/docs/E09">here</a>.<br>
|
||||
</p>
|
||||
<p>History of the pre-SVN SCST development is available in SCST CVS
|
||||
repository, which is accessible using <a
|
||||
href="http://cvs.sourceforge.net/viewcvs.py/scst">web-based CVS
|
||||
repository viewer</a> or anonymous CVS access.<br>
|
||||
</p>
|
||||
<hr
|
||||
style="width: 100%; height: 2px; margin-left: 0px; margin-right: 0px;">
|
||||
<h1><small>SCST administration utility<br>
|
||||
</small></h1>
|
||||
<p>SCST administration utility "scstadmin" is developed by Mark
|
||||
Buechler. With it you can manually or automatically using either plain
|
||||
text config file, or MySQL database configure every aspect of SCST, for
|
||||
instance as part of the system startup/shutdown, including
|
||||
enabling/disabling target mode on your target SCSI controller.<br>
|
||||
</p>
|
||||
<p><a
|
||||
href="http://sourceforge.net/project/showfiles.php?group_id=110471">Download</a>
|
||||
</p>
|
||||
<hr
|
||||
style="width: 100%; height: 2px; margin-left: 0px; margin-right: 0px;">
|
||||
<h1><small>ISCSI target driver iSCSI-SCST<br>
|
||||
</small></h1>
|
||||
<div style="text-align: justify;">
|
||||
<p>ISCSI-SCST is a forked (with all respects) version of <a
|
||||
href="http://iscsitarget.sourceforge.net/">IET</a> with
|
||||
updates to work over SCST as well as with many improvements and
|
||||
bugfixes. The reason of fork is that the necessary changes are
|
||||
intrusive and with the current IET merge policy, where only simple
|
||||
bugfix-like patches, which doesn't touch the core code, could be
|
||||
merged, it is very unlikely that they will be merged in the main IET
|
||||
trunk.<br>
|
||||
</p>
|
||||
<p>ISCSI-SCST has the following major advantages over the mainline IET:<br>
|
||||
</p>
|
||||
<ul>
|
||||
<li>It uses full SCST power without loosing any existing feature
|
||||
(except, maybe, "illegal" from SCSI specifications point of view MPIO).
|
||||
Namely, you can use with it:</li>
|
||||
</ul>
|
||||
<ul style="list-style-type: circle; margin-left: 40px;">
|
||||
<li>Pass-through mode with one to many relationship, i.e. when
|
||||
multiple initiators can connect to the exported pass-through devices
|
||||
(see above). For instance, you can safely export your parallel SCSI
|
||||
tape or tape library on your iSCSI net and multiple initiators can
|
||||
share it without risk of data loss because of the shared usage.
|
||||
Existing "rawio" patch for IET supports only non-enforced 1:1
|
||||
relationship, so it is unsafe to use it in multiple initiators
|
||||
environments.<br>
|
||||
</li>
|
||||
<li>More advances devices visibility management, when different
|
||||
initiators can see different set of devices with different access
|
||||
permissions from the same target.</li>
|
||||
<li>O_DIRECT, i.e. "BLOCKIO on files", mode, which has all advantages
|
||||
of BLOCKIO, but also supports files on file systems. Sometimes, in the
|
||||
appropriate cases, this mode can make performance difference in 100% or
|
||||
even more.</li>
|
||||
<li>With 4KB blocks you can forget about abysmal write performance
|
||||
caused by misaligned partitions. All modern OS'es, including Windows
|
||||
starting from, at least, Windows 2000, work perfectly with 4KB block
|
||||
devices without any additional storage or handling overhead.</li>
|
||||
<li>Virtual CD/DVD-ROMs without necessity for manual patching.</li>
|
||||
<li>Ability to create target devices emulators in the user space.</li>
|
||||
<li>Ability to create multi-transport SCSI targets, which can export
|
||||
(possibly, the same) devices over multiple transports.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>It has many code improvements and cleanups, including stability
|
||||
and iSCSI RFC violations fixes. If you are an IET user and consider IET
|
||||
problemless, I'm sorry for the bad news. IET works well only on "fast"
|
||||
paths and regularly used branches, in many other less used cases IET
|
||||
has various problems, from simply ignoring error processing, as it is
|
||||
with memory allocations, to crashing itself with BUG() macro, as it is
|
||||
for malformed packets from initiators. ChangeLog file lists most
|
||||
noticeable fixes, but there were a lot of many other smaller ones.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Due to its reworked IO architecture and SCST backend iSCSI-SCST
|
||||
has better performance in many cases. In future with upcoming SCST
|
||||
improvements, like zero-copy with Linux cache FILEIO, the performance
|
||||
difference is going to be even bigger. Currently in tests from a single
|
||||
initiator over a single connection on 1GbE hardware over FILEIO vdisk
|
||||
iSCSI-SCST with default settings usually outperforms tuned IET a on
|
||||
3-10% (by default IET has not too good settings, so it shows
|
||||
considerably worse results) or has the similar performance. The bigger
|
||||
difference is expected with 10GbE hardware or with higher number of
|
||||
initiators, since iSCSI-SCST has less commands processing overhead per
|
||||
command, hence put less load on CPU. If you find a case where
|
||||
iSCSI-SCST has worse performance, than IET, please report it to SCST
|
||||
mailing list scst-devel@lists.sourceforge.net, it will be greatly
|
||||
appreciated.</li>
|
||||
</ul>
|
||||
<p>Also, in contrast to IET, iSCSI-SCST is open for any new
|
||||
development, modifications and improvements, so people who want to fix
|
||||
or implement something new will not have to keep and maintain separate
|
||||
patches as it is currently necessary with IET. ISCSI-SCST is going to
|
||||
be actively developed and gain in the future new features like support
|
||||
for multiple connections per session, error recovery levels >0,
|
||||
etc., which eventually make it really "enterprise".<br>
|
||||
</p>
|
||||
<p>ISCSI-SCST is available for download from the <a
|
||||
href="http://svn.sourceforge.net/scst">SCST SVN repository</a>. See
|
||||
above how to setup access to it.<br>
|
||||
</p>
|
||||
<p>After some testing for month-two, iSCSI-SCST is going to be fully
|
||||
released.<br>
|
||||
</p>
|
||||
<p>If you are an IET user, please, before installation carefully read
|
||||
README files of both iSCSI-SCST and the SCST core. Especially pay
|
||||
attention that now the LUN information for iSCSI-SCST is configured not
|
||||
using iscsi-scstd.conf file in /etc, but using corresponding SCST
|
||||
facilities. This is because now the responsibilities are divided (as it
|
||||
should be) between the target driver (iSCSI-SCST) and the SCST core.
|
||||
The target driver is responsible for handling targets and their
|
||||
parameters, SCST core is responsible for handling backstorage.<br>
|
||||
</p>
|
||||
</div>
|
||||
<hr
|
||||
style="width: 100%; height: 2px; margin-left: 0px; margin-right: 0px;">
|
||||
<h1><small>Target driver for QLogic 2200/2300 cards<br>
|
||||
</small></h1>
|
||||
<div style="text-align: justify;">
|
||||
<p>This is ported and improved version of the "old" target driver for
|
||||
2.4 kernels (see below) to the in-tree 2.6 QLogic 2x00 initiator
|
||||
driver. The port was done by Nathaniel Clark. This is stable and
|
||||
functional driver with
|
||||
the larger feature set, than the parent driver has.</p>
|
||||
<p style="text-align: justify;">The latest version is 0.9.5. Requires
|
||||
Linux kernel version 2.6.16.x or higher and SCST version 0.9.5 or
|
||||
higher.
|
||||
Tested mostly on i386 and
|
||||
x86_64, but
|
||||
should work on any other supported by Linux platform.
|
||||
</p>
|
||||
<p style="text-align: justify;">You can find the latest development
|
||||
version of this driver in the SCST SVN. See above how to setup access
|
||||
to it.<br>
|
||||
</p>
|
||||
<p style="text-align: justify;"><a
|
||||
href="http://sourceforge.net/project/showfiles.php?group_id=110471">Download</a><br>
|
||||
<a href="ChangeLog.qla26">Change Log</a><br>
|
||||
</p>
|
||||
</div>
|
||||
<hr style="width: 100%; height: 2px;">
|
||||
<h1><small>Target driver for LSI/MPT cards</small></h1>
|
||||
Target driver LSI/MPT cards was originally developed by Hu Gang, then
|
||||
Erik Habbinga has continued the development. This driver is on the
|
||||
alpha stage and available for download from the <a
|
||||
href="http://svn.sourceforge.net/scst">SCST SVN repository</a>. See
|
||||
above how to setup access to it.<br>
|
||||
<br>
|
||||
<hr style="width: 100%; height: 2px;">
|
||||
<h1><small>SCSI RDMA Protocol (SRP) Target driver</small></h1>
|
||||
SCSI RDMA Protocol (SRP) Target driver is developed
|
||||
independently from SCST team. You can find instructions how to download
|
||||
and install it on this page: <a
|
||||
href="http://lists.openfabrics.org/pipermail/iwg/2007-March/000378.html">http://lists.openfabrics.org/pipermail/iwg/2007-March/000378.html</a><br>
|
||||
<br>
|
||||
<hr style="width: 100%; height: 2px;">
|
||||
<h1><small>Target driver for QLogic ISP chipsets<br>
|
||||
</small></h1>
|
||||
This is target driver for ISP QLogic chipsets commonly used in many
|
||||
SCSI and FC host bus adapters. Supported chipsets are listed in README
|
||||
file, incomplete list of supported HBA's is in doc/Hardware.txt. It is
|
||||
based on Matthew Jacob's multiplatform driver for ISP chipsets, which
|
||||
can be downloaded from <a
|
||||
href="ftp://ftp.feral.com/pub/isp/isp_dist.tgz">ftp://ftp.feral.com/pub/isp/isp_dist.tgz</a>.
|
||||
The update for SCST was made and supported by Stanislaw Gruszka.<br>
|
||||
<br>
|
||||
One major difference of this driver from the above target driver for
|
||||
QLogic 2200/2300 cards is that it supports 24xx series of chipsets.<br>
|
||||
<br>
|
||||
This driver is unstable and on the
|
||||
alpha stage. It is available for download from the <a
|
||||
href="http://svn.sourceforge.net/scst">SCST SVN repository</a>. See
|
||||
above how to setup access to it.<br>
|
||||
<br>
|
||||
<hr style="width: 100%; height: 2px;">
|
||||
<h1><small>Old target driver for QLogic 2200/2300 cards for 2.4 kernels<br>
|
||||
</small></h1>
|
||||
<div style="text-align: justify;">Old target driver for QLogic
|
||||
2200/2300
|
||||
cards is capable to work on 2.4 kernels. It has all required features
|
||||
and
|
||||
looks to be quite stable. It is designed to work in conjunction with
|
||||
the initiator
|
||||
driver, which is intended to perform all the initialization and
|
||||
shutdown tasks. In the current release as a base for the initiator
|
||||
driver was taken Red Hat's driver from the stock 2.4.20 kernel. Then it
|
||||
was patched to enable the target mode and provide all
|
||||
necessary callbacks, and it's still able to work as initiator only.
|
||||
Mode, when a host acts as the initiator and the target simultaneously,
|
||||
is also supported. This driver is obsoleted in favor of
|
||||
2.6-based driver (see above).<br>
|
||||
<br>
|
||||
The latest version is 0.9.3.4. Requires Linux kernel versions 2.4.20 or
|
||||
higher and SCST version 0.9.3-pre4 or higher. If you are lucky, it
|
||||
works also on 2.6 kernels, see README file
|
||||
for details. Tested on i386 only, but
|
||||
should work on any other supported by Linux platform.<br>
|
||||
<br>
|
||||
Currently it is not supported and listed here for historical reasons
|
||||
only.<br>
|
||||
<br>
|
||||
</div>
|
||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=110471">Download</a><br>
|
||||
<a href="ChangeLog.qla">Change Log</a>
|
||||
<hr style="width: 100%; height: 2px;"><span style="font-weight: bold;"></span>
|
||||
<h1><small>Target drivers for Adaptec 7xxx and QLogic QLA12xx
|
||||
cards</small></h1>
|
||||
Target drivers for Adaptec 7xxx and QLogic QLA12xx cards have
|
||||
been developed by Hu Gang and they available for download from <a
|
||||
href="http://bj.soulinfo.com/%7Ehugang/scst/tgt/">http://bj.soulinfo.com/~hugang/scst/tgt/</a>.
|
||||
These drivers are not completed, but looks to be a good starting point
|
||||
if you are going to use one of these cards.
|
||||
SCST team don't have the appropriate hardware, therefore have not
|
||||
tested and don't support these drivers. Send all questions to Hu Gang
|
||||
<hugang
|
||||
% soulinfo.com>. If some of these drivers don't compile for you, try
|
||||
again with SCST version 0.9.3-pre2.<br>
|
||||
<br>
|
||||
<a href="http://bj.soulinfo.com/%7Ehugang/scst/tgt/">Download</a><br>
|
||||
<br>
|
||||
<hr style="width: 100%; height: 2px;">
|
||||
<h1><small>Patches for UNH-iSCSI Target 1.5.03 and 1.6.00 to work over
|
||||
SCST</small></h1>
|
||||
SCST is much more advanced, than the internal mid-level of <a
|
||||
href="http://sourceforge.net/projects/unh-iscsi">UNH-iSCSI target
|
||||
driver</a>.
|
||||
With SCST the iSCSI target benefits from all its features and gets
|
||||
ability to use all its advantages, like high performance and
|
||||
scalability, SMP support, required SCSI functionality emulation, etc.<br>
|
||||
<br>
|
||||
Since the interface between SCST and the target drivers is based on
|
||||
work, done by UNH IOL, it was relatively simple to update UNH-iSCSI
|
||||
target to work over SCST. Mostly it was "search and replace" job. The
|
||||
built-in scsi_target remains available as a compile-time option.<br>
|
||||
<br>
|
||||
Requires Linux kernel versions 2.4.20 or
|
||||
higher or 2.6.7 or higher and SCST version 0.9.2 or higher.<br>
|
||||
<br>
|
||||
Currently it is not supported and listed here for historical reasons
|
||||
only.<br>
|
||||
<br>
|
||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=110471">Download</a><br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
26
www/scstadmin.html
Normal file
26
www/scstadmin.html
Normal file
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type"
|
||||
content="text/html; charset=ISO-8859-1">
|
||||
<title>SCST: Generic SCSI Target Middle Level for Linux</title>
|
||||
<meta name="Keywords"
|
||||
content="SCST, Linux, SCSI target, Qlogic, QLA2200, QLA2300, iSCSI, SCSI">
|
||||
</head>
|
||||
<body>
|
||||
<a href="http://sourceforge.net"> </a>
|
||||
<h1><small>SCST administration utility<br>
|
||||
</small></h1>
|
||||
<p>SCST administration utility "scstadmin" is developed by Mark
|
||||
Buechler. With it you can manually or automatically using either plain
|
||||
text config file, or MySQL database configure every aspect of SCST, for
|
||||
instance as part of the system startup/shutdown, including
|
||||
enabling/disabling target mode on your target SCSI controller.<br>
|
||||
</p>
|
||||
<p><a
|
||||
href="http://sourceforge.net/project/showfiles.php?group_id=110471">Download
|
||||
released versions</a><br>
|
||||
<br>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
171
www/targets.html
Normal file
171
www/targets.html
Normal file
@@ -0,0 +1,171 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type"
|
||||
content="text/html; charset=ISO-8859-1">
|
||||
<title>SCST: Generic SCSI Target Middle Level for Linux</title>
|
||||
<meta name="Keywords"
|
||||
content="SCST, Linux, SCSI target, Qlogic, QLA2200, QLA2300, iSCSI, SCSI">
|
||||
</head>
|
||||
<body>
|
||||
<h1><small><a name="iscsi-scst"></a>ISCSI target driver iSCSI-SCST<br>
|
||||
</small></h1>
|
||||
<div style="text-align: justify;">
|
||||
<p>ISCSI-SCST is a forked (with all respects) version of <a
|
||||
href="http://iscsitarget.sourceforge.net/">IET</a> with
|
||||
updates to work over SCST as well as with many improvements and
|
||||
bugfixes. The reason of fork is that the necessary changes are
|
||||
intrusive and with the current IET merge policy, where only simple
|
||||
bugfix-like patches, which doesn't touch the core code, could be
|
||||
merged, it is very unlikely that they will be merged in the main IET
|
||||
trunk.<br>
|
||||
</p>
|
||||
<p>ISCSI-SCST has the following major advantages over the mainline IET:<br>
|
||||
</p>
|
||||
<ul>
|
||||
<li>It uses full SCST power without loosing any existing feature
|
||||
(except, maybe, "illegal" from SCSI specifications point of view MPIO).
|
||||
Namely, you can use with it:</li>
|
||||
</ul>
|
||||
<ul style="list-style-type: circle; margin-left: 40px;">
|
||||
<li>Pass-through mode with one to many relationship, i.e. when
|
||||
multiple initiators can connect to the exported pass-through devices.
|
||||
For instance, you can safely export your parallel SCSI
|
||||
tape or tape library on your iSCSI net and multiple initiators can
|
||||
share it without risk of data loss because of the shared usage.
|
||||
Existing "rawio" patch for IET supports only non-enforced 1:1
|
||||
relationship, so it is unsafe to use it in multiple initiators
|
||||
environments.<br>
|
||||
</li>
|
||||
<li>More advances devices visibility management, when different
|
||||
initiators can see different set of devices with different access
|
||||
permissions from the same target.</li>
|
||||
<li>O_DIRECT, i.e. "BLOCKIO on files", mode, which has all advantages
|
||||
of BLOCKIO, but also supports files on file systems. Sometimes, in the
|
||||
appropriate cases, this mode can make performance difference in 100% or
|
||||
even more.</li>
|
||||
<li>With 4KB blocks you can forget about abysmal write performance
|
||||
caused by misaligned partitions. All modern OS'es, including Windows
|
||||
starting from, at least, Windows 2000, work perfectly with 4KB block
|
||||
devices without any additional storage or handling overhead.</li>
|
||||
<li>Virtual CD/DVD-ROMs without necessity for manual patching.</li>
|
||||
<li>Ability to create target devices emulators in the user space.</li>
|
||||
<li>Ability to create multi-transport SCSI targets, which can export
|
||||
(possibly, the same) devices over multiple transports.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>It has many code improvements and cleanups, including stability
|
||||
and iSCSI RFC violations fixes. If you are an IET user and consider IET
|
||||
problemless, I'm sorry for the bad news. IET works well only on "fast"
|
||||
paths and regularly used branches, in many other less used cases IET
|
||||
has various problems, from simply ignoring error processing, as it is
|
||||
with memory allocations, to crashing itself with BUG() macro, as it is
|
||||
for malformed packets from initiators. ChangeLog file lists most
|
||||
noticeable fixes, but there were a lot of many other smaller ones.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Due to its reworked IO architecture and SCST backend iSCSI-SCST
|
||||
has better performance in many cases. In future with upcoming SCST
|
||||
improvements, like zero-copy with Linux cache FILEIO, the performance
|
||||
difference is going to be even bigger. Currently in tests from a single
|
||||
initiator over a single connection on 1GbE hardware over FILEIO vdisk
|
||||
iSCSI-SCST with default settings usually outperforms tuned IET a on
|
||||
3-10% (by default IET has not too good settings, so it shows
|
||||
considerably worse results) or has the similar performance. The bigger
|
||||
difference is expected with 10GbE hardware or with higher number of
|
||||
initiators, since iSCSI-SCST has less commands processing overhead per
|
||||
command, hence has smaller processing latency and puts less load on
|
||||
CPU. If you find a case where
|
||||
iSCSI-SCST has worse performance, than IET, please report it to SCST
|
||||
mailing list, it will be greatly
|
||||
appreciated.</li>
|
||||
</ul>
|
||||
<p>Also, in contrast to IET, iSCSI-SCST is open for any new
|
||||
development, modifications and improvements, so people who want to fix
|
||||
or implement something new will not have to keep and maintain separate
|
||||
patches as it is currently necessary with IET. ISCSI-SCST is going to
|
||||
be actively developed and gain in the future new features like support
|
||||
for multiple connections per session, error recovery levels >0,
|
||||
etc., which eventually make it really "enterprise".<br>
|
||||
</p>
|
||||
<p>ISCSI-SCST is available for download from the <a
|
||||
href="http://scst.svn.sourceforge.net/">SCST SVN repository</a>. See
|
||||
the <a href="main.html">main page</a> how to setup access to it.<br>
|
||||
</p>
|
||||
<p>If you are an IET user before installation carefully read
|
||||
README files of both iSCSI-SCST and the SCST core. Especially pay
|
||||
attention that now the LUN information for iSCSI-SCST is configured not
|
||||
using iscsi-scstd.conf file in /etc, but using corresponding SCST
|
||||
facilities. This is because now the responsibilities are divided (as it
|
||||
should be) between the target driver (iSCSI-SCST) and the SCST core:
|
||||
target driver is responsible for handling targets and their
|
||||
parameters, SCST core is responsible for handling backstorage.<br>
|
||||
</p>
|
||||
</div>
|
||||
<hr
|
||||
style="width: 100%; height: 2px; margin-left: 0px; margin-right: 0px;">
|
||||
<h1><small><a name="qla2x00"></a>Target driver for QLogic 22xx/23xx
|
||||
cards<br>
|
||||
</small></h1>
|
||||
<div style="text-align: justify;">
|
||||
<p>This is target driver for QLogic 22xx/23xx Fibre Channel cards, but
|
||||
24xx and later cards are not supported by it.<br>
|
||||
</p>
|
||||
<p style="text-align: justify;">The latest version is 0.9.5. Requires
|
||||
Linux kernel version 2.6.16.x or higher and SCST version 0.9.5 or
|
||||
higher.
|
||||
Tested mostly on i386 and
|
||||
x86_64, but
|
||||
should work on any other supported by Linux platform.
|
||||
</p>
|
||||
<p style="text-align: justify;">You can find the latest development
|
||||
version of this driver in the SCST SVN. See the <a href="main.html">main
|
||||
page</a> how to setup access to it.
|
||||
</p>
|
||||
<p style="text-align: justify;"><a
|
||||
href="http://sourceforge.net/project/showfiles.php?group_id=110471">Download
|
||||
released versions</a><br>
|
||||
<a href="ChangeLog.qla26">Change Log</a><br>
|
||||
</p>
|
||||
</div>
|
||||
<hr style="width: 100%; height: 2px;">
|
||||
<h1><small><a name="qla_isp"></a>Target driver for QLogic ISP chipsets<br>
|
||||
</small></h1>
|
||||
This is target driver for ISP QLogic chipsets commonly used in many
|
||||
SCSI and FC host bus adapters. Supported chipsets are listed in README
|
||||
file, incomplete list of supported HBA's is in doc/Hardware.txt. It is
|
||||
based on Matthew Jacob's multiplatform driver for ISP chipsets, which
|
||||
can be downloaded from <a
|
||||
href="ftp://ftp.feral.com/pub/isp/isp_dist.tgz">ftp://ftp.feral.com/pub/isp/isp_dist.tgz</a>.
|
||||
The update for SCST was made and supported by Stanislaw Gruszka.<br>
|
||||
<br>
|
||||
One major difference of this driver from the above target driver for
|
||||
QLogic 2200/2300 cards is that it supports 24xx series of chipsets.<br>
|
||||
<br>
|
||||
This driver is unstable and on the
|
||||
alpha stage. It is available for download from the <a
|
||||
href="http://scst.svn.sourceforge.net/">SCST SVN repository</a>. See
|
||||
the <a href="main.html">main page</a> how to setup access to it.<br>
|
||||
<br>
|
||||
<hr style="width: 100%; height: 2px;">
|
||||
<h1><small><a name="srpt"></a>Infiniband SCSI RDMA Protocol (SRP)
|
||||
Target driver</small></h1>
|
||||
SCSI RDMA Protocol (SRP) target driver is developed
|
||||
independently from SCST team. You can find instructions how to download
|
||||
and install it on its <a
|
||||
href="https://wiki.openfabrics.org/tiki-index.php?page=SRPT+Installation">wiki
|
||||
page</a><br>
|
||||
<br>
|
||||
<hr style="width: 100%; height: 2px;">
|
||||
<h1><small><a name="lsi"></a>Target driver for LSI/MPT cards</small></h1>
|
||||
Target driver LSI/MPT cards was originally developed by Hu Gang, then
|
||||
Erik Habbinga has continued the development. It supports parallel SCSI
|
||||
(SPI), but also should work with SAS and Fibre Channel transports. This
|
||||
driver is
|
||||
on the
|
||||
alpha stage and available for download from the <a
|
||||
href="http://scst.svn.sourceforge.net/">SCST SVN repository</a>. See
|
||||
the <a href="main.html">main page</a> how to setup access to it.<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user