Core-iSCSI

The Linux SCSI Target Wiki

(Difference between revisions)
Jump to: navigation, search
m
m (See also)
 
(20 intermediate revisions not shown)
Line 1: Line 1:
-
{{Review | date=11/5/2010}}
 
{{Infobox software
{{Infobox software
| name                  = Core-iSCSI
| name                  = Core-iSCSI
-
| logo                  = [[Image:RisingTide_Logo_small.png|180px|Logo]]
+
| logo                  = [[Image:Corp_Logo.png|180px|Logo]]
-
| screenshot            = RisingTide Systems
+
| screenshot            = iSCSI Initiator
| caption                =  
| caption                =  
| collapsible            =
| collapsible            =
-
| author                = Nicholas Bellinger
+
| author                = {{Nicholas Bellinger}}
-
| developer              = RisingTide Systems LLC
+
| developer              = {{RTS legal}}
| released              = {{RTS releases|Core-iSCSI|initial_date}}
| released              = {{RTS releases|Core-iSCSI|initial_date}}
| discontinued          =
| discontinued          =
Line 14: Line 13:
| 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}}
 +
| status                = {{RTS releases|Core-iSCSI|status}}
| frequently updated    =
| frequently updated    =
| programming language  = C
| programming language  = C
Line 20: Line 20:
| size                  =
| size                  =
| language              =
| language              =
-
| status                = Production
 
| genre                  = iSCSI Initiator
| genre                  = iSCSI Initiator
-
| license                = Proprietary
+
| license                = Proprietary commercial software
| 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 has a number of features that significantly improves the performance over [[Open-iSCSI]].  
+
'''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| author=Nicholas Bellinger| work=Core-iSCSI mailing list| date=2006-07-04}}</ref> by {{RTS full}}. Core-iSCSI has a number of features that significantly improves the performance over [[Open-iSCSI]].  
== Performance ==
== Performance ==
-
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]].
+
{{Review | date=2010-11-05}}
-
[[RisingTide Systems]] has developed Core-iSCSI, a high-performanc iSCSI Initiator that alleviates the shortcomings of the standard Linux Initiator [[Open-iSCSI]] (see e.g., the [[KVM#Benchmarking|KVM]] results).
+
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]].
-
In addition, RisingTide Systems has put together a number of performance patches for 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%.<ref>{{cite web| |title=Quick merge window note..| url=http://marc.info/?l=linux-kernel&m=129445043102014&w=2| first=Linus| last=Torvalds| work=Linux-kernel mailing list| date=1/7/2011}}</ref> RisingTide Systems provides these patches along with Core-iSCSI to optimize its SAN installations end-to-end.
+
{{RTS full}} has developed Core-iSCSI, a high-performanc iSCSI Initiator that alleviates the shortcomings of the standard Linux Initiator [[Open-iSCSI]] (see e.g., the [[Kernel-based Virtual Machine#Benchmarking|KVM]] results).
-
RisingTide Systems is a SAN systems and software company located in the Silicon Valley. RisingTide is complementing Core-iSCSI with a storage management UI and API.
+
In addition, {{RTS short}} has put together a number of performance patches for 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%.<ref>{{cite web| |title=Quick merge window note..| url=http://marc.info/?l=linux-kernel&m=129445043102014&w=2| author=Linus Torvalds| work=Linux-kernel mailing list| date=2011-01-07}}</ref> {{RTS short}} 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 ==
Line 68: Line 67:
== Interoperability ==
== 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.
+
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 ===
=== Optional RFC-3720 Features ===
Line 131: Line 130:
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.
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:
 
-
 
-
* [http://www.debian.org Debian]: TESTED: BETA
 
-
** Versions tested: v3.x
 
-
** Boot via PXE: TESTED: STABLE
 
-
** Shutdown: TESTED: BETA
 
-
** Shutdown with active IO: UNTESTED
 
-
* Gentoo: UNTESTED
 
-
** Boot via PXE: UNTESTED
 
-
** Shutdown: UNTESTED
 
-
** Shutdown with active IO: UNTESTED
 
-
* [http://www.slackware.com Slackware] TESTED: BETA
 
-
** Versions tested: v10.x?
 
-
** Boot via PXE: TESTED: STABLE
 
-
** Shutdown: TESTED: ??
 
-
** Shutdown with active IO: TESTED??
 
-
* Redhat: UNTESTED
 
-
** Boot via PXE: UNTESTED
 
-
** Shutdown: UNTESTED
 
-
** Shutdown with active IO: UNTESTED
 
-
* SuSE: UNTESTED
 
-
** Boot via PXE: UNTESTED
 
-
** Shutdown: UNTESTED
 
-
** Shutdown with active IO: UNTESTED
 
== {{anchor|DVT}} Domain Validation Tool ==
== {{anchor|DVT}} Domain Validation Tool ==
Line 174: Line 146:
* DVT sources and binaries: [http://www.linux-iscsi.org/builds/core-iscsi-dv/core-iscsi-dv-v1.0.tar.bz2 <code>core-iscsi-dv-v1.0.tar.bz2</code>] (requires [[#Core-iSCSI Tools|Core-iSCSI Tools]] 3.5) and [http://www.linux-iscsi.org/builds/core-iscsi-dv/core-iscsi-dv-v1.0/README README].
* DVT sources and binaries: [http://www.linux-iscsi.org/builds/core-iscsi-dv/core-iscsi-dv-v1.0.tar.bz2 <code>core-iscsi-dv-v1.0.tar.bz2</code>] (requires [[#Core-iSCSI Tools|Core-iSCSI Tools]] 3.5) and [http://www.linux-iscsi.org/builds/core-iscsi-dv/core-iscsi-dv-v1.0/README README].
-
* {{anchor|Core-iSCSI Tools}} Core-iSCSI Tools v3.5 (iSNS client, scripts, manual pages, example configuration files and documentation): [http://www.kernel.org/pub/linux/utils/storage/iscsi/core-iscsi-tools-v3.5.tar.bz2 <code>core-iscsi-tools-v3.5.tar.bz2</code>].<ref>{{cite web| url=http://groups.google.com/group/Core-iSCSI/browse_frm/thread/c530886d5247e913/#| title=core-iscsi-dv.sh and Core-iSCSI-tools v3.5 released| first=Nicholas |last=Bellinger| work=Core-iSCSI mailing list| date=7/11/2006}}</ref>
+
* {{anchor|Core-iSCSI Tools}} Core-iSCSI Tools v3.5 (iSNS client, scripts, manual pages, example configuration files and documentation): [http://www.kernel.org/pub/linux/utils/storage/iscsi/core-iscsi-tools-v3.5.tar.bz2 <code>core-iscsi-tools-v3.5.tar.bz2</code>].<ref>{{cite web| url=http://groups.google.com/group/Core-iSCSI/browse_frm/thread/c530886d5247e913/#| title=core-iscsi-dv.sh and Core-iSCSI-tools v3.5 released| author=Nicholas Bellinger| work=Core-iSCSI mailing list| date=2006-07-11}}</ref>
== See also ==
== See also ==
Line 180: Line 152:
* [[Diskless boot]]
* [[Diskless boot]]
* [[Platforms]]
* [[Platforms]]
-
* [[Target]]
+
* {{Target}}
-
* [[KVM]]
+
* [[Kernel-based Virtual Machine|KVM]]
== Notes ==
== Notes ==

Latest revision as of 16:09, 23 May 2014

Core-iSCSI
Logo
iSCSI Initiator
Original author(s) Nicholas Bellinger
Developer(s) Datera, Inc.
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 commercial software
Website datera.io

Core-iSCSI is a high-performance iSCSI Initator[1] by Datera, Inc.. Core-iSCSI has a number of features that significantly improves the performance over Open-iSCSI.

Contents

Performance

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.

Datera, Inc. has developed Core-iSCSI, a high-performanc iSCSI Initiator that alleviates the shortcomings of the standard Linux Initiator Open-iSCSI (see e.g., the KVM results).

In addition, Datera has put together a number of performance patches for 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%.[2] Datera 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.

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

Notes

  1. Nicholas Bellinger (2006-07-04). "Core-iSCSI v1.6.2.9 Released". Core-iSCSI mailing list. 
  2. Linus Torvalds (2011-01-07). "Quick merge window note..". Linux-kernel mailing list. 
  3. Nicholas Bellinger (2006-07-11). "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