SCST

SCST
Stable release
3.1 / January 21, 2016 (2016-01-21)
Operating system Linux
Type Block storage
License GNU General Public License
Website http://scst.sourceforge.net/

SCST is a GPL licensed SCSI target software stack. The design goals of this software stack are high performance, high reliability, strict conformance to existing SCSI standards, being easy to extend and easy to use. SCST does not only support multiple SCSI protocols (iSCSI, FC, SRP, ...) but also supports multiple local storage interfaces (SCSI pass-through, block I/O and file I/O) and also storage drivers implemented in user-space via the scst_user driver.[1]

In order to reach maximum performance SCST has been implemented as a set of kernel drivers. SCST is often combined with RAID, data deduplication and/or high-availability cluster software to augment its functionality. The SCST software stack is the basis software of many SAN systems.[2] Several world records have been set with SAN systems based on SCST.[3][4][5][6]

SCST competes with LIO Target for the same purpose of providing a generic SCSI target module inside the Linux kernel.[7] For the narrower purpose providing a Linux iSCSI target, the older IET and STGT modules also enjoy industry support.[8]

SCST is now primarily developed by SanDisk personnel, after Fusion-io acquired in 2013 the start-up ID7 which initially developed SCST[9][10][11] and after SanDisk acquired Fusion-io in 2014.[12]

Architecture

SCST Architecture

SCST consists of three groups of modules:

Configuration of all these modules happens via a sysfs interface. Although direct configuration of SCST via its sysfs interface is convenient, the tool called scstadmin allows to control SCST via its sysfs interface and also to save and restore the SCST configuration.

The following design aspects help SCST to reach the high performance this project is known for:

History

In the year 2000 a SCSI target framework was developed by the University of New Hampshire InterOperability Laboratory (UNH-IOL). Although the UNH-IOL SCSI target implementation only supports the iSCSI protocol, it was designed such that support for other storage protocols would be easy to add.[16]

In 2004 the SCST project was announced, providing Fibre Channel and iSCSI support. The initial iSCSI target in SCST was based on the UNH-IOL iSCSI target implementation.[17] Around that time an alternative iSCSI target software stack was developed by Ardis Technologies.[18]

The iSCSI Enterprise Target software, announced in 2005, is a further evolution of the Ardis stack.[19][20] Later in 2005 Chelsio announced an SCST iSCSI target driver for the Chelsio T2 Ethernet adapter family.[21]

In 2006 a target driver for LSI/MPT cards was added.[22] Later in this year the scstadmin tool was added. This tool allows to save and restore the SCST configuration from or to a file.[23]

In 2007 the UNH-IOL iSCSI target patch in the SCST project was replaced by a fork of IET.[24]

In 2008 an SRP target driver was donated by Mellanox.[25] Later on this driver was optimized by Bart Van Assche.[26]

In 2009 Marvell donated a target driver for their SAS cards.[27]

Also in 2009 a target driver for Emulex Fibre Channel/FCoE adapter cards was announced by Emulex.[28][29][30]

The same year a sysfs interface has been added to SCST next to the already existing procfs interface.

In 2010 an FCoE target driver was donated by Cisco[31] and Bart Van Assche ported the IBM System p SCSI target driver to SCST.[32]

In 2011 implicit ALUA support was added to the SCST core and to the scstadmin configuration tool.[33] The three init scripts (scst, iscsi-scst and qla2x00t) were merged into a single init script, simplifying installation and management of SCST.

In 2013 support for QLogic InfiniBand HCA's was added in the SRP target driver.[34]

In January 2014 Mellanox donated an iSER target driver implementation to the SCST project.[35]

In May 2014 QLogic made a 16 Gbit/s QLogic target driver available and also announced to take over maintainership of the SCST QLogic target driver.[36]

See also

References

  1. Van Assche, Bart (19 August 2015). SCST, a SCSI Target Framework (PDF). LinuxCon North America 2015. Seattle.
  2. Bolkhovitin, Vladislav (December 20, 2012). "SCST Users".
  3. "New VMmark Cloud Computing World Record set with Cisco UCS, VMware, and Fusion-io". Fusion-io. May 10, 2013.
  4. "HP Achieves Two New #1 VMmark Virtualization Benchmarks with ION Data Accelerator". Fusion-io. September 12, 2013.
  5. "HP achieves world records for 2P blade and 2P rack-mount server virtualization performance on VMmark 2.5.1 benchmark" (PDF). HP. October 2013.
  6. "The K2 Tops Two Million IOPS Using a Single All-Flash Storage System". Kaminario. October 4, 2012.
  7. https://lwn.net/Articles/424004/
  8. Florian Haas, "Replicate Everything! Highly Available iSCSI Storage with DRBD and Pacemaker", (Linux iSCSI: a Tale of Four Targets section) Linux Journal Issue #217, May 2012
  9. Meyer, David (18 March 2013). "Fusion-io picks up software-defined storage firm ID7 for SCST chops". Gigaom. Retrieved 20 July 2014.
  10. O'Brien, Kevin (18 March 2013). "Fusion-io Acquires ID7, Developers of SCST". Retrieved 20 July 2014.
  11. "Fusion-io ID7 - Accelerating Shared Storage with Software Defined Solutions". Fusion-io. Retrieved 20 July 2014.
  12. Iyer, Jay (23 July 2014). "SanDisk Completes Acquisition of Fusion-io". SanDisk.
  13. Edge, Jake (April 3, 2012). "2012 Linux Storage, Filesystem, and Memory Management Summit - Day 1".
  14. Van Assche, Bart (December 25, 2012). "More fine-grained locking in SCST".
  15. Bolkhovitin, Vladislav; Van Assche, Bart (September 26, 2012). "SCST README".
  16. Palekar, Ashish; Ganapathy, Narendran; Chadda, Anshul; Russell, Robert D. (2001). "Design and implementation of a Linux SCSI target for storage area networks". Proceedings of the 5th annual Linux Showcase & Conference. USENIX Association. 5: 11–18. CiteSeerX 10.1.1.61.2706Freely accessible.
  17. Bolkhovitin, Vladislav. "ANNOUNCE Generic SCSI Target Middle Level for Linux (SCST) with target drivers".
  18. Fujita, Tomonori; Masanori, Ogawara (2004). "Analysis of iSCSI target software" (PDF). Proceedings of the international workshop on Storage network architecture and parallel I/Os. ACM: 25–32.
  19. Fujita, Tomonori (June 1, 2004). "iSCSI Enterprise Target".
  20. Fujita, Tomonori (March 1, 2005). "ANNOUNCE iSCSI enterprise target software".
  21. Smith, Randy (September 7, 2005). "Chelsio Delivers Next-Generation iSCSI Product Family Featuring Breakthroughs in Performance and Port Density". Chelsio.
  22. Habbinga, Erik (December 13, 2006). "LSI/MPT target driver".
  23. Buechler, Mark R. (November 14, 2006). "Initial scstadmin commit".
  24. Bolkhovitin, Vladislav (August 15, 2007). "Initial iSCSI-SCST commit".
  25. Pham, Vu (May 17, 2008). "Initial SRP target driver commit".
  26. Van Assche, Bart (December 20, 2010). "PATCH 4/7 scst: Add SRP target driver".
  27. Yan, Andi (April 14, 2009). "Target driver for Marvell 88SE64xx(3G) and 88SE94xx(6G) SAS cards".
  28. Bolkhovitin, Vladislav (July 8, 2009). "ANNOUNCE SCST Target driver support for Emulex lpfc FC/FCoE adapters".
  29. Lane, Katherine (September 15, 2009). "SDK Brings Enhanced Value and Expanded Market Opportunity to Data Center Storage Solution Developers". Emulex.
  30. "Fibre Channel TargetConnect™ Linux Software Developer Kit (SDK) for Target Mode Applications". Emulex. September 15, 2009.
  31. Eykholt, Joe (February 20, 2010). "Initial FCoE target driver commit".
  32. Van Assche, Bart (December 20, 2010). "PATCH 5/7 ibmvstgt: Port from tgt to SCST".
  33. Van Assche, Bart (May 11, 2011). "PATCH scst: Add implicit ALUA support".
  34. Van Assche, Bart (Mar 17, 2013). "PATCH ib_srpt: Add support for QLogic InfiniBand HCA's".
  35. Burman, Yan (January 21, 2014). "PATCH 0/9 iSER support for SCST".
  36. Grigsby, Duane (May 20, 2014). "QLogic's 16G FC/FCoE HBA support".
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.