Core-iSCSI

The Linux SCSI Target Wiki

(Difference between revisions)
Jump to: navigation, search
m
m
Line 1: Line 1:
{{Infobox software
{{Infobox software
-
|name                       = Core-iSCSI
+
| name                   = Core-iSCSI
-
|logo                       = [[Image:RisingTide_Logo_small.png|180px|Logo]]
+
| logo                   = [[Image:RisingTide_Logo_small.png|180px|Logo]]
-
|screenshot                 = RisingTide Systems
+
| screenshot             = RisingTide Systems
-
|caption                   =  
+
| caption               =  
-
|collapsible               =
+
| collapsible           =
-
|author                     = Nicholas Bellinger
+
| author                 = Nicholas Bellinger
-
|developer                 = RisingTide Systems LLC
+
| developer             = RisingTide Systems LLC
-
|released                   = {{RTS releases|Core-iSCSI|initial_date}}
+
| released               = {{RTS releases|Core-iSCSI|initial_date}}
-
|discontinued               =
+
| discontinued           =
-
|latest release version     = {{RTS releases|Core-iSCSI|release_ver}}
+
| latest release version = {{RTS releases|Core-iSCSI|release_ver}}
-
|latest release date       = {{RTS releases|Core-iSCSI|release_date}}
+
| latest release date   = {{RTS releases|Core-iSCSI|release_date}}
-
|latest preview version     = {{RTS releases|Core-iSCSI|preview_ver}}
+
| latest preview version = {{RTS releases|Core-iSCSI|preview_ver}}
-
|latest preview date       = {{RTS releases|Core-iSCSI|preview_date}}
+
| latest preview date   = {{RTS releases|Core-iSCSI|preview_date}}
-
|frequently updated         =
+
| frequently updated     =
-
|programming language       = C
+
| programming language   = C
-
|operating system           = Linux
+
| operating system       = Linux
-
|platform                   =
+
| platform               =
-
|size                       =
+
| size                   =
-
|language                   =
+
| language               =
-
|status                     = Production
+
| status                 = Production
-
|genre                     = iSCSI Initiator
+
| genre                 = iSCSI Initiator
-
|license                   = Proprietary
+
| license               = Proprietary
-
|website                   = {{RTS website}}
+
| website               = {{RTS website}}
}}
}}
-
'''Core-iSCSI''' is a high-performance iSCSI Initator<ref>{{cite web |url=http://groups.google.com/group/Core-iSCSI/browse_frm/thread/20f458bde0883e61/# |title=Core-iSCSI v1.6.2.9 Released |first=Nicholas |last=Bellinger |work=Core-iSCSI mailing list |date=7/4/2006}}</ref> by [[RisingTide Systems]].
+
'''Core-iSCSI''' is a high-performance iSCSI Initator<ref>{{cite web| url=http://groups.google.com/group/Core-iSCSI/browse_frm/thread/20f458bde0883e61/#| title=Core-iSCSI v1.6.2.9 Released| first=Nicholas| last=Bellinger| work=Core-iSCSI mailing list| date=7/4/2006}}</ref> by [[RisingTide Systems]].
RisingTide Systems is an IP SAN systems and software company located in the Silicon Valley. RisingTide is complementing Core-iSCSI with a storage management UI and API. In Q1 2011, RisingTide will be releasing the [[RTS Director]], a distributed, highly available storage management tool with a unified namespace for entire storage infrastructures.
RisingTide Systems is an IP SAN systems and software company located in the Silicon Valley. RisingTide is complementing Core-iSCSI with a storage management UI and API. In Q1 2011, RisingTide will be releasing the [[RTS Director]], a distributed, highly available storage management tool with a unified namespace for entire storage infrastructures.
 +
 +
== Performance ==
 +
 +
Core-iSCSI has a number of features that significantly improves the performance over [[Open-iSCSI]].
 +
 +
Unfortunately, many Linux SAN installations are lacking performance, even with high-end arrays, because the default Linux initiator [[Open-iSCSI]] is lacking a number of features that are essential to achieve optimal throughput and IOPS. These features include, most notably, a lock-less multithreaded architecture and iSCSI [[Multiple Connections per Session|MC/S]]. Core-iSCSI supports all of these high-performance features.
 +
 +
In addition, [[RisingTide Systems]] has developed a number of performance patches to the Linux kernel. For instance, one patchset that was developed together with Intel Labs and IBM significantly reduced lock-contention in the Linux storage subsystem, which reduced CPU utilization by up to 20% and can increase IOPS by up to 50%. RisingTide Systems provides these patches along with Core-iSCSI to optimize its SAN installations end-to-end.
== {{anchor|building_and_installing}}Building and installing ==
== {{anchor|building_and_installing}}Building and installing ==

Revision as of 17:24, 30 December 2010

Core-iSCSI
Logo
RisingTide Systems
Original author(s) Nicholas Bellinger
Developer(s) RisingTide Systems LLC
Initial release 2002 (2002)
Stable release 1.6.2.9 / July 4, 2006;
15 years ago
 (2006-07-04)
Development status Production
Written in C
Operating system Linux
Type iSCSI Initiator
License Proprietary
Website datera.io

Core-iSCSI is a high-performance iSCSI Initator[1] by RisingTide Systems.

RisingTide Systems is an IP SAN systems and software company located in the Silicon Valley. RisingTide is complementing Core-iSCSI with a storage management UI and API. In Q1 2011, RisingTide will be releasing the RTS Director, a distributed, highly available storage management tool with a unified namespace for entire storage infrastructures.

Contents

Performance

Core-iSCSI has a number of features that significantly improves the performance over Open-iSCSI.

Unfortunately, many Linux SAN installations are lacking performance, even with high-end arrays, because the default Linux initiator Open-iSCSI is lacking a number of features that are essential to achieve optimal throughput and IOPS. These features include, most notably, a lock-less multithreaded architecture and iSCSI MC/S. Core-iSCSI supports all of these high-performance features.

In addition, RisingTide Systems has developed a number of performance patches to the Linux kernel. For instance, one patchset that was developed together with Intel Labs and IBM significantly reduced lock-contention in the Linux storage subsystem, which reduced CPU utilization by up to 20% and can increase IOPS by up to 50%. RisingTide Systems provides these patches along with Core-iSCSI to optimize its SAN installations end-to-end.

Building and installing

  KERNEL_DIR=/usr/src/linux && make install
  make install
   CHANNEL="0 2 eth0 192.168.55.6 3260 0"

and /etc/sysconfig/iscsi_device_maps:

   DEVICE="0 0 1 diska"

Interoperability

The following third-party iSCSI Target implementations have been validated, have pending TODO items, or are completely untested against Core-iSCSI. We'd be glad to hear feedback on your experiences with all Linux/iSCSI implementations! Note that this list relates to interoperability with Core-iSCSI, but feedback for Open-iSCSI is also encouraged.

Optional RFC-3720 Features

Transports

iSNS

iSCSI Targets

Diskless boot

Overview

The logic required to run Linux iSCSI for your root device and be able to shutdown and reboot cleanly ("diskless boot") involves the following:

  1. Core-iSCSI kernel threads that are providing iSCSI services SHOULD NOT be shutdown. Note that killall5 leaves kernel threads alone, but may cause problems with user-level iscsi daemons.
  2. Considerations for session reinstatement during shutdown while iSCSI LUNs (not limited to the root device) are being unmounted.
  3. Miscellanous failures during shutdown caused by nopin_response_timeout, datain_timeout, cmdsn_timeout, transport layer resets, and communication path PHY loss.

Most of this logic is distribution agnostic, but sometimes shutdown scripts do the 'network backed root device' (think nfsroot shutdown) that is required to make iSCSI initiators perform diskless shutdown properly.

Distributions

Boot via Core-iSCSI tests:

Domain Validation Tool

Overview

The Core-iSCSI Domain Validation Tool (DVT) is primarly targeted to iSCSI vendors and developers for testing data IO using a CLI program accepting a block device as an argument.

The DVT executes a pre-determined number of loop iterations, each time negotiating a different set of RFC-3720 parameter keys until the configuration space has been exhausted. DVT will perform iSCSI Login, a script defined test operation, and Logout on a defined network portal. The sequence of steps is determined by which keys are enabled for testing, type, minimum and maximum settings as defined by RFC-3720.

SCSI domain validation is goverened by a T10 Working Draft:

Download

See also

Template:AdSense See also

Notes

  1. Bellinger, Nicholas (7/4/2006). "Core-iSCSI v1.6.2.9 Released". Core-iSCSI mailing list. 
  2. Bellinger, Nicholas (7/11/2006). "core-iscsi-dv.sh and Core-iSCSI-tools v3.5 released". Core-iSCSI mailing list. 

External links

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Google AdSense