Stable SCST Releases
-The latest stable version of SCST core is 1.0.1.1. It requires Linux kernel 2.6.16 or higher. - More detail information you could find in its README file.
+The latest stable version of SCST core is 1.0.1.1. It requires Linux kernel 2.6.16 or higher. + More detail information you could find in its README file.
-The latest development version of SCST core, target drivers and - user space utilities is available directly from the - project's SVN. The SCST release policy is to make stable releases once or twice a +
The latest development version of SCST core, target drivers and user space utilities 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.
@@ -50,6 +49,8 @@svn co https://scst.svn.sourceforge.net/svnroot/scst/trunk
Also you can find in the SCST SVN the latest updates for the stable branches.
+More information about accessing SVN repository may be found here.
diff --git a/www/images/tooltips.js b/www/images/tooltips.js new file mode 100644 index 000000000..307095d1c --- /dev/null +++ b/www/images/tooltips.js @@ -0,0 +1,52 @@ +var d = document; +var offsetfromcursorY=15 // y offset of tooltip +var ie=d.all && !window.opera; +var ns6=d.getElementById && !d.all; +var tipobj,op; + +function tooltip(el,txt) { + tipobj=d.getElementById('mess'); + tipobj.innerHTML = txt; + op = 0.1; + tipobj.style.opacity = op; + tipobj.style.display="block"; + tipobj.style.visibility="visible"; + + el.onmousemove=positiontip; + appear(); +} + +function hide_info(el) { + d.getElementById('mess').style.visibility='hidden'; + d.getElementById('mess').style.display='none'; + el.onmousemove=''; +} + +function ietruebody(){ +return (d.compatMode && d.compatMode!="BackCompat")? d.documentElement : d.body +} + +function positiontip(e) { + var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft; + var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop; + var winwidth=ie? ietruebody().clientWidth : window.innerWidth-20 + var winheight=ie? ietruebody().clientHeight : window.innerHeight-20 + + var rightedge=ie? winwidth-event.clientX : winwidth-e.clientX; + var bottomedge=ie? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY; + + if (rightedge < tipobj.offsetWidth) tipobj.style.left=curX-tipobj.offsetWidth+"px"; + else tipobj.style.left=curX+"px"; + + if (bottomedge < tipobj.offsetHeight) tipobj.style.top=curY-tipobj.offsetHeight-offsetfromcursorY+"px" + else tipobj.style.top=curY+offsetfromcursorY+"px"; +} + +function appear() { + if(op < 0.9) { + op += 0.07; + tipobj.style.opacity = op; + tipobj.style.filter = 'alpha(opacity='+op*100+')'; + t = setTimeout('appear()', 30); + } +} diff --git a/www/index.html b/www/index.html index 2242f7b32..e373fda6e 100644 --- a/www/index.html +++ b/www/index.html @@ -33,7 +33,7 @@Generic SCSI Target Subsystem for Linux
-The generic SCSI target subsystem for Linux (SCST) is an alternative +
The generic SCSI target subsystem for Linux (SCST) is an alternative implementation of a SCSI target subsystem for Linux. It provides unified, consistent interface between SCSI target drivers and Linux kernel as well as between Linux kernel and storage backend @@ -63,13 +63,13 @@
You can find comparison of SCST with other SCSI targets on the Comparison page. + Some highlights what it can mean for end users you can find on the iSCSI-SCST page. +
SCST core supports the following I/O modes
-
-
- 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),
+
- 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)
. In this mode you can, for instance, share your parallel SCSI tape or SATA + controllers (type 0xC). In this mode you can, for instance, share your parallel SCSI tape or SATA DVD-RW device to your iSCSI network.
- - 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 cache. -
- BLOCKIO mode, which performs direct block IO with a block device, bypassing
+
- 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 cache.
+- BLOCKIO mode, which performs direct block IO with a block device, bypassing page-cache for all operations. This mode works well with high-end storage HBAs and for applications that either do not need caching between application and disk or need the large block throughput.
-- User space mode using scst_user device handler, which allows to implement in the +
- User space mode using scst_user device handler, which allows to implement in the user space virtual SCSI devices in the SCST environment.
-- "Performance" device handlers as well as NULLIO mode provide +
- Performance testing device handlers as well as NULLIO mode to provide a way for direct performance measurements without overhead of actual data - transferring from/to underlying SCSI device. + transfers from/to underlying SCSI devices.
SCST administration utility
-SCST administration utility "scstadmin" 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.
SCST administration utility scstadmin 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.
Especially useful feature of scstadmin is ability to figure out and apply on the currently running system changes in scst.conf file. In other words, you can have SCST subsystem running with configuration from file diff --git a/www/scstvsstgt.html b/www/scstvsstgt.html index e23985442..bf3e3225e 100644 --- a/www/scstvsstgt.html +++ b/www/scstvsstgt.html @@ -44,7 +44,7 @@
SCST vs STGT
-STGT is alternative, independent from SCST implementation +
STGT 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 as STGT has was acknowledged by the Linux SCSI subsystem maintainers as a "right" one, so kernel's part of STGT quickly diff --git a/www/target_iscsi.html b/www/target_iscsi.html index 6c2f2bfcf..1cead94cf 100644 --- a/www/target_iscsi.html +++ b/www/target_iscsi.html @@ -56,61 +56,62 @@
ISCSI target driver iSCSI-SCST
-ISCSI-SCST is a forked (with all respects) version of IET. Reasons of the fork were:
+ISCSI-SCST is an iSCSI target driver for SCST. It is a deeply reworked fork of + IET with a lot of fixes and improvements. Reasons of the fork were:
-
-
- To be able to use full power of SCST core. -
- To fix all the problems, corner cases issues and iSCSI standard violations IET which has. +
- To be able to use full power of SCST core. +
- To fix all the problems, corner cases issues and iSCSI standard violations which IET has.
IET is a well recognized and widely used iSCSI target, but, frankly speaking, it works more or less well - on fast paths and regularly used code branches only, however in many corner - cases it has a lot of problems, like ignoring error processing, as it is for memory allocations, +
IET in many corner cases has a lot of problems, like ignoring errors processing, as it is for memory allocations, crashing itself with BUG() macro, as it is for malformed packets from initiators, possible data corruptions, because of, for instance, unsafe task management or sessions reinstatement implementations, etc. - There was no way to fix all them without a fork. As the result of this effort nearly 90% of the IET kernel code was fully - rewritten.
- -Since ISCSI-SCST uses SCST core, it has the following additional features:
+ There was no way to fix all them without a fork. As the result of this effort nearly all (80-90% overall and >90% + of the core) of the IET kernel code and 20-25% of the user space code were rewritten. + +You can find comparison of iSCSI-SCST with IET and other iSCSI targets on the Comparison page. + Some highlights: +
-
-
- Pass-through mode with one to many relationship, i.e. when multiple initiators can connect to - exported pass-through devices. For instance, in this mode you can safely export your parallel - SCSI tape or tape library (or VTL) on - your iSCSI net and multiple initiators can share it without risk of data loss because of the - shared usage. Existing outdated "rawio" patch for IET supports only non-enforced 1:1 - relationship, so it is unsafe to use it in multiple initiators environments. +
- Improved performance. In some cases there is >100% improvement. + +
- Pass-through mode with one to many relationship, when multiple initiators can connect to + exported local SCSI devices. For instance, in this mode you can safely export your parallel + SCSI tape or tape library, or VTL on your iSCSI net and multiple initiators can share it without risk of + data loss because of the shared usage. -
- More advanced devices visibility management, when different initiators can see different set of - devices with different access permissions from the same target. +
- Automatic PnP-like reconfiguration, when initiators instantly see any configuration changes on the + target, like addition of new LUNs or a LUN resize. No restart or anything like that is needed. -
- O_DIRECT, i.e. "BLOCKIO on files", mode, which has all advantages
+
- Safe implementation of many management and errors recovery facilities as well as better handling of various + corner cases, which means better errors recovery stability without putting user data at risk.
+ +- Advanced devices visibility management, when different initiators can see different set of + devices from the same target.
+ +- 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.
-- 4KB blocks eliminate abysmal write performance caused by misaligned partitions. +
- 4KB blocks eliminate abysmal write performance issues caused by misaligned partitions.
-- Virtual CD/DVD-ROMs.
+- Virtual CD/DVD-ROMs.
-- Ability to create target devices emulators in the user space.
+- Ability to create target devices emulators in the user space.
-- Ability to create multi-transport SCSI targets, which can export (possibly, the same) - devices over multiple transports.
-
Also, due to reworked I/O architecture and SCST backend iSCSI-SCST has much - better performance in many cases and has potential for future improvements, like zero-copy - with Linux cache FILEIO. In many tests iSCSI-SCST outperforms tuned for best - performance IET on more than 100%.
- -Advantages of iSCSI-SCST over IET are summarized on the Comparison page.
+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.
+ iscsi-scstd.conf file in /etc, but using corresponding SCST facilities. This is because now responsibilities + are divided (as it logically should be) between the target driver (iSCSI-SCST) and the SCSI target core (SCST), + where target driver is responsible for handling targets with their parameters, and SCST core is responsible for handling + backstorage.The latest stable version is 1.0.1.1. Requires Linux kernel version 2.6.16.x or higher and SCST version 1.0.1.1 or higher. Tested mostly on i386 and x86_64, but should work on any other supported by Linux platform.
diff --git a/www/target_old.html b/www/target_old.html index d057dd123..bfc4ebb10 100644 --- a/www/target_old.html +++ b/www/target_old.html @@ -75,7 +75,7 @@ download from http://bj.soulinfo.com/~hugang/scst/tgt/. These drivers are not completed, but looks to be a good starting point if you are going to use one of these adapters. 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 + Send all questions to Hu Gang < hugang at soulinfo com >. If some of these drivers don't compile for you, try again with SCST version 0.9.3-pre2.





