b3d9d6abbfbd7990c641323e202be1ee47407280
[mirror/scst/.git] / www / target_iscsi.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\r
3 <head>\r
4 <meta name="Keywords" content="Generic SCSI Target Middle Level for Linux, iSCSI, iSCSI target" />\r
5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />\r
6 <meta name="author" content="Daniel Fernandes"/>\r
7 <meta name="Robots" content="index,follow" />\r
8 <link rel="stylesheet" href="images/Orange.css" type="text/css" />      \r
9 <title>SCST: Generic SCSI Target Middle Level for Linux</title>\r
10 </head>\r
11 \r
12 <body>\r
13 <!-- wrap starts here -->\r
14 <div id="wrap"> \r
15         <div id="header">       \r
16                 <div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>\r
17                 <h2 id="slogan">SCSI Target Middle Level for Linux</h2>\r
18         </div>          \r
19                 \r
20         <div id="menu">\r
21                 <ul>\r
22                         <li id="sponsorship"><a href="sponsorship.html">Sponsorship</a></li>
23                         <li><a href="index.html">Home</a></li>
24                         <li><a href="http://www.sourceforge.net/projects/scst">Main</a></li>\r
25                         <li id="current"><a href="targets.html">Drivers</a></li>\r
26                         <li><a href="downloads.html">Downloads</a></li>\r
27                         <li><a href="contributing.html">Contributing</a></li>\r
28                         <li><a href="scstvsstgt.html">SCST vs STGT</a></li>             \r
29                 </ul>\r
30         </div>\r
31         \r
32         <!-- content-wrap starts here -->       \r
33         <div id="content-wrap">
34                         <div id="sidebar">\r
35                                 <h1>Target Drivers</h1>\r
36                                 <ul class="sidemenu">
37                                         <li><a href="target_iscsi.html">iSCSI-SCST</a></li>
38                                         <li><a href="target_qla22xx_23xx.html">QLogic FC 22xx/23xx</a></li>
39                                         <li><a href="target_qla_isp.html">QLogic FC ISP</a></li>
40                                         <li><a href="target_srp.html">SCSI RDMA Protocol (SRP)</a></li>
41                                         <li><a href="target_lsi.html">LSI/MPT cards</a></li>
42                                         <li><a href="target_fcoe.html">Open-FCoE Target SW</a></li>\r
43                                         <li><a href="target_old.html">Old Unsupported</a></li>\r
44                                 </ul>
45                                 <h1>User utilities</h1>
46                                 <ul class="sidemenu">
47                                         <li><a href="scst_admin.html">SCST Admin Utility</a></li>
48                                         <li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
49                                 </ul>\r
50                         </div>          
51                         \r
52                         <div id="main">\r
53                                 <h1>ISCSI target driver iSCSI-SCST</h1>
54                                 <p><strong>ISCSI-SCST</strong> is a forked (with all respects) version of <strong>IET</strong> with updates to work 
55                                 over <strong>SCST</strong> as well as with many improvements and bugfixes. The reason of fork is that the necessary 
56                                 changes are intrusive and with the current <strong>IET</strong> merge policy, where only simple bugfix-like patches,
57                                  which doesn't touch the core code, could be merged, it is very unlikely that they will be merged in the main 
58                                  <strong>IET</strong> trunk.</p>
59                                 
60                                 <p><strong>ISCSI-SCST</strong> has the following major advantages over the mainline <strong>IET</strong>:
61                                 <ul>
62                                         <li><span>It uses full power of <strong>SCST core</strong> without loosing any existing feature (except, maybe, illegal
63                                          from SCSI specifications point of view MPIO). Namely, you can additionally use with it:
64                                          <ul>
65                                                 <li><span><strong>Pass-through mode with one to many relationship</strong>, i.e. when multiple initiators can connect to the 
66                                                 exported pass-through devices. For instance, you can safely export your parallel
67                                                 <strong>SCSI tape</strong> or <strong>tape library</strong> on 
68                                                 your iSCSI net and multiple initiators can share it without risk of data loss because of the 
69                                                 shared usage. Existing "rawio" patch for IET supports only non-enforced 1:1 
70                                                 relationship, so it is unsafe to use it in multiple initiators environments.</span></li>
71                                                 <li><span><strong>More advances devices visibility management</strong>, when different initiators can see different set of 
72                                                 devices with different access permissions from the same target.</span></li>
73                                                 <li><span><strong>O_DIRECT</strong>, i.e. "<strong>BLOCKIO</strong> on files", mode, which has all advantages 
74                                                 of <strong>BLOCKIO</strong>, but also supports files on file systems. Sometimes, in the appropriate cases, 
75                                                 this mode can make performance difference in 100% or even more.</span></li>
76                                                 <li><span>With <strong>4KB blocks</strong> you can forget about abysmal write performance caused by misaligned partitions. 
77                                                 All modern OS'es, including Windows starting from, at least, Windows 2000, work perfectly with 4KB block 
78                                                 devices without any additional storage or handling overhead.</span></li>
79                                                 <li><span><strong>Virtual CD/DVD-ROMs</strong> without necessity for manual patching.</span></li>       
80                                                 <li><span>Ability to create target devices emulators in the <strong>user space</strong>.</span></li>
81                                                 <li><span>Ability to create <strong>multi-transport SCSI targets</strong>, which can export (possibly, the same) 
82                                                 devices over multiple transports.</span></li>                                                                                                                            
83                                          </ul>                                   
84                                          </span></li>
85                                          <li><span>It has many code improvements and cleanups, including <strong>stability and iSCSI RFC violations fixes</strong>. 
86                                           Many IET users use it for ages without problems, so they consider it problemless. But,
87                                           in fact, unfortunately, it isn't so.
88                                           IET works well only on "fast" paths and regularly used branches, in many other less used
89                                           cases IET has various problems, from simply ignoring error processing, as it is with memory 
90                                           allocations, and crashing itself with BUG() macro, as it is for malformed packets from initiators, to possible data
91                                           corruption. See, for instance, <a href="http://communities.vmware.com/thread/53797?tstart=0&start=15">this</a>
92                                           thread on a VMware forum about in which <strong>Russian roulette</strong> IET users play using it with VMware.
93                                           ChangeLog file lists most noticeable fixes, but there were a lot of many other smaller ones.</span></li>
94                                          <li><span>Due to reworked I/O architecture and <strong>SCST</strong> backend <strong>iSCSI-SCST</strong> has
95                                           better performance in many cases. In future with upcoming improvements in <strong>SCST core</strong>, like zero-copy 
96                                           with Linux cache <strong>FILEIO</strong>, the performance difference is going to be even bigger. Currently in 
97                                           tests from a single initiator over a single connection on 1GbE hardware over <strong>FILEIO</strong> vdisk 
98                                           <strong>iSCSI-SCST</strong> with default settings usually outperforms tuned for best
99                                           performance <strong>IET</strong> a on <strong>3-30%</strong>. The difference is especially noticeably with real storage,
100                                           not NULLIO or RAM disks.
101                                           On 10GbE hardware the performance difference is often as high as <strong>100-200%</strong> or even more.
102                                           With higher number of initiators the difference will be even bigger. This is because 
103                                           <strong>iSCSI-SCST</strong> has less commands processing overhead per command, hence has smaller processing 
104                                           latency and puts less load on CPU.                    
105                                 </ul></p>\r
106                                 <p>Also, in contrast to <strong>IET, iSCSI-SCST</strong> is open for any new development, modifications and 
107                                 improvements, so people who want to fix or implement something new will not have to keep and maintain separate 
108                                 patches as it is currently necessary with <strong>IET</strong>. <strong>ISCSI-SCST</strong> is actively
109                                  developed and going to gain in the future new features like support for multiple connections per session, error recovery 
110                                  levels >0, etc., which eventually make it really <i>"Enterprise"</i>.</p>
111                                 
112                                 <p>If you are an IET user before installation carefully read README files of both iSCSI-SCST and 
113                                 the SCST core. Especially pay attention that now the LUN information for iSCSI-SCST is configured not using 
114                                 iscsi-scstd.conf file in /etc, but using corresponding SCST facilities. This is because now the responsibilities 
115                                 are divided (as it should be) between the target driver (iSCSI-SCST) and the SCST core: target driver is 
116                                 responsible for handling targets and their parameters, SCST core is responsible for handling backstorage.</p>
117
118                                 <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. 
119                                 Tested mostly on i386 and x86_64, but should work on any other supported by Linux platform.</p>
120                                 <p>You can find the latest development version of this driver in the SCST SVN. See the download page how to setup 
121                                 access to it.</p>
122                                 <p class="post-footer align-right">                                     \r
123                                         <a href="iscsi-scst-howto.txt" class="readmore">HOWTO</a>\r
124                                         <a href="https://sourceforge.net/project/showfiles.php?group_id=110471&package_id=283228" class="readmore">Download</a>                         \r
125                                         <a href="http://scst.svn.sourceforge.net/" class="readmore">SCST SVN Repository</a>\r
126                                 </p>
127                         </div> \r
128         </div>\r
129 </div>          \r
130 <!-- footer starts here -->             \r
131                 <div id="footer">\r
132                         <p>\r
133                         &copy; Copyright 2008 <b><font color="#EC981F">Vladislav Bolkhovitin & others.</font>&nbsp;&nbsp;\r
134                         Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;         \r
135                         \r
136                         </p>            \r
137                 </div>  \r
138 <!-- footer ends here -->\r
139 </body>\r
140 </html>