mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-16 10:11:28 +00:00
- Minor cleanups git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@675 d57e44dd-8a1f-0410-8b47-8ef2f437770f
143 lines
8.8 KiB
HTML
143 lines
8.8 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<meta name="Keywords" content="Generic SCSI Target Middle Level for Linux, iSCSI, iSCSI target" />
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
<meta name="author" content="Daniel Fernandes"/>
|
|
<meta name="Robots" content="index,follow" />
|
|
<link rel="stylesheet" href="images/Orange.css" type="text/css" />
|
|
<title>SCST: Generic SCSI Target Middle Level for Linux</title>
|
|
</head>
|
|
|
|
<body>
|
|
<!-- wrap starts here -->
|
|
<div id="wrap">
|
|
<div id="header">
|
|
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
|
|
<h2 id="slogan">SCSI Target Middle Level for Linux</h2>
|
|
</div>
|
|
|
|
<div id="menu">
|
|
<ul>
|
|
<li id="sponsorship"><a href="sponsorship.html">Sponsorship</a></li>
|
|
<li><a href="index.html">Home</a></li>
|
|
<li><a href="http://www.sourceforge.net/projects/scst">Main</a></li>
|
|
<li id="current"><a href="targets.html">Drivers</a></li>
|
|
<li><a href="downloads.html">Downloads</a></li>
|
|
<li><a href="contributing.html">Contributing</a></li>
|
|
<li><a href="scstvsstgt.html">SCST vs STGT</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- content-wrap starts here -->
|
|
<div id="content-wrap">
|
|
<div id="sidebar">
|
|
<h1>Target Drivers</h1>
|
|
<ul class="sidemenu">
|
|
<li><a href="target_iscsi.html">iSCSI-SCST</a></li>
|
|
<li><a href="target_qla22xx_23xx.html">QLogic FC 22xx/23xx</a></li>
|
|
<li><a href="target_qla_isp.html">QLogic FC ISP</a></li>
|
|
<li><a href="target_srp.html">SCSI RDMA Protocol (SRP)</a></li>
|
|
<li><a href="target_lsi.html">LSI/MPT cards</a></li>
|
|
<li><a href="target_fcoe.html">Open-FCoE Target SW</a></li>
|
|
<li><a href="target_old.html">Old Unsupported</a></li>
|
|
</ul>
|
|
<h1>User utilities</h1>
|
|
<ul class="sidemenu">
|
|
<li><a href="scst_admin.html">SCST Admin Utility</a></li>
|
|
<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div id="main">
|
|
<h1>ISCSI target driver iSCSI-SCST</h1>
|
|
<p><strong>ISCSI-SCST</strong> is a forked (with all respects) version of <strong>IET</strong> with updates to work
|
|
over <strong>SCST</strong> as well as with many improvements and bugfixes. The reason of fork is that the necessary
|
|
changes are intrusive and with the current <strong>IET</strong> 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
|
|
<strong>IET</strong> trunk.</p>
|
|
|
|
<p><strong>ISCSI-SCST</strong> has the following major advantages over the mainline <strong>IET</strong>:
|
|
<ul>
|
|
<li><span>It uses full power of <strong>SCST core</strong> without loosing any existing IET feature (except, maybe, illegal
|
|
from SCSI specifications point of view MPIO). Namely, you can additionally use with it:
|
|
<ul>
|
|
<li><span><strong>Pass-through mode with one to many relationship</strong>, i.e. when multiple initiators can connect to the
|
|
exported pass-through devices. For instance, you can safely export your parallel
|
|
<strong>SCSI tape</strong> or <strong>tape library</strong> 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.</span></li>
|
|
<li><span><strong>More advances devices visibility management</strong>, when different initiators can see different set of
|
|
devices with different access permissions from the same target.</span></li>
|
|
<li><span><strong>O_DIRECT</strong>, i.e. "<strong>BLOCKIO</strong> on files", mode, which has all advantages
|
|
of <strong>BLOCKIO</strong>, but also supports files on file systems. Sometimes, in the appropriate cases,
|
|
this mode can make performance difference in 100% or even more.</span></li>
|
|
<li><span>With <strong>4KB blocks</strong> 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.</span></li>
|
|
<li><span><strong>Virtual CD/DVD-ROMs</strong> without necessity for manual patching.</span></li>
|
|
<li><span>Ability to create target devices emulators in the <strong>user space</strong>.</span></li>
|
|
<li><span>Ability to create <strong>multi-transport SCSI targets</strong>, which can export (possibly, the same)
|
|
devices over multiple transports.</span></li>
|
|
</ul>
|
|
</span></li>
|
|
<li><span>It has many code improvements and cleanups, including <strong>stability and iSCSI RFC violations fixes</strong>.
|
|
Many IET users use it for ages without problems, so they consider it free from any real problem. But,
|
|
in fact, unfortunately, it isn't so.
|
|
IET works well only on "fast" paths and regularly used code branches. In many other less used
|
|
cases IET has various problems, from simply ignoring error processing, as it is with memory
|
|
allocations, and crashing itself with BUG() macro, as it is for malformed packets from initiators, to possible data
|
|
corruption. See, for instance, <a href="http://communities.vmware.com/thread/53797?tstart=0&start=15">this</a>
|
|
thread on a VMware forum about in which <strong>Russian roulette</strong> IET users play using it with VMware.
|
|
ChangeLog file lists most noticeable fixes, but there were a lot of many other smaller ones.</span></li>
|
|
|
|
<li><span>Due to reworked I/O architecture and SCST backend iSCSI-SCST has
|
|
better performance in many cases. In future with upcoming improvements in SCST core, like <strong>zero-copy
|
|
with Linux cache FILEIO</strong>, 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 for best
|
|
performance IET a on <strong>on up to 100%</strong>. The difference is especially noticeably with real storage,
|
|
not NULLIO or RAM disks.
|
|
On 10GbE hardware the performance difference is often as high as <strong>100-200%</strong> or even more.
|
|
With higher number of initiators the difference will be even bigger. This is because
|
|
iSCSI-SCST has less commands processing overhead per command, hence has smaller processing
|
|
latency and puts less load on CPU.
|
|
</ul></p>
|
|
|
|
<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 actively
|
|
developed and going to gain in the future new features like support for multiple connections per session, error recovery
|
|
levels >0, etc., which eventually make it really <i>"Enterprise"</i>.</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.</p>
|
|
|
|
<p>The latest stable version is 1.0.0. Requires Linux kernel version 2.6.16.x or higher and SCST version 1.0.0 or higher.
|
|
Tested mostly on i386 and x86_64, but should work on any other supported by Linux platform.</p>
|
|
<p>You can find the latest development version of this driver in the SCST SVN. See the download page how to setup
|
|
access to it.</p>
|
|
<p class="post-footer align-right">
|
|
<a href="iscsi-scst-howto.txt" class="readmore">HOWTO</a>
|
|
<a href="https://sourceforge.net/project/showfiles.php?group_id=110471&package_id=283228" class="readmore">Download</a>
|
|
<a href="http://scst.svn.sourceforge.net/" class="readmore">SCST SVN Repository</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- footer starts here -->
|
|
<div id="footer">
|
|
<p>
|
|
© Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>
|
|
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>
|
|
|
|
</p>
|
|
</div>
|
|
<!-- footer ends here -->
|
|
</body>
|
|
</html>
|