Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design and Implementation of a Linux SCSI Target for Storage Area Networks Ashish A. PalekarAnshul Chaddha, Trebia Networks Narendran Ganapathy, 33 Nagog.

Similar presentations


Presentation on theme: "Design and Implementation of a Linux SCSI Target for Storage Area Networks Ashish A. PalekarAnshul Chaddha, Trebia Networks Narendran Ganapathy, 33 Nagog."— Presentation transcript:

1 Design and Implementation of a Linux SCSI Target for Storage Area Networks Ashish A. PalekarAnshul Chaddha, Trebia Networks Narendran Ganapathy, 33 Nagog Park Robert Russell Acton, MA 01720UNH-IOL Durham, NH –03824 apalekar@trebia.com{achadda, ng3, rdr}@iol.unh.edu

2 Overview Motivation and Objectives Architecture Design Details –User Space Target Emulator –Kernel Space Target Emulator Implementation Issues Configuration Tool Applications Conclusions and Future Work

3 Motivation and Objectives Internet + E-Commerce = Data Storage Area Networks – Concept Emergence of Protocols –Fibre Channel –SEP (SCSI Encapsulation) –iSCSI (Internet SCSI) –iFCP –Infiniband Linux as a SCSI Target ?

4 SCSI Protocol Overview

5 SCSI Initiator Mid-Level User Space Kernel Space SD disks Block device Lower Level SR cdrom/dvd Block device ST tapes Char device SG generic Char device Upper Level Mid Level SCSI Unifying Layer Conversion of command requests into SCSI requests. Hands off these requests to the low level driver. Host Bus Adapter Drivers Drivers for Non- SCSI buses

6 SCSI Initiator and Target

7 Software Design Aspects Basic Code Paths: 1.Registration / Deregistration 2.SCSI Read Type Commands 3.SCSI Write Type Commands 4.SCSI Task Management Commands 5.Configuration of the SCSI Target

8 Step One: User Space Target Emulator SCSI Mid-level SEP Initiator SEP Target Front-end interpret_cmd handle_SEP_connection scsi_server SCSI Target Emulator handle_file_io handle_generic_cmd handle_SCSI_cmd sep_disk_file scsi_generic API TCP/IP Connection SCSI Mid-level qlogicfc driver (for QLA 2200) Fibre Channel Disk (Seagate) SD disks (Block devices) user space kernel space User Level Application to generate SCSI activity e.g., cp

9 Registration Interface

10 Deregistration Interface

11 Handling a SCSI Read Type Command

12 Handling a SCSI Write Type Command

13 “Processing” a SCSI Command “Processing” – different handle_cmd functions 1.I/O to and from memory MEMORYIO -Return junk data on READ commands -Drop data from WRITE commands -Used for protocol performance testing 2.I/O to and from a file FILEIO -Open a file on the local system -Block READs and WRITEs to the file -“Safe” mode for driver testing -Abstract view IDE  SCSI conversion 3.I/O to and from a disk GENERICIO/DISKIO -“Bridge” mode of operation -Protocol conversion between different SCSI Transport Protocols

14 “Processing” a SCSI Command DISKIO GENERICIO

15 Handling a SCSI Task Management Command

16 Implementation Details Initiator side: –Existent Fibre Channel Initiator used (QLogic ISP 2200 A) –Front End Initiator drivers – SEP, iSCSI written Target Side: –Developed the SCSI Target Mid-Level –Developed Front End Target Drivers for –Fibre Channel (QLogic ISP 2200 A) –SEP –iSCSI – draft ’06’ – upgrading to ’09’ –Linux TCP/IP stack used …

17 Target Configuration Need –Statistical information –Configuration Needs for individual driver –Interface for complex SAN management tools Mechanism –“proc” file system Usage –iSCSI Login Negotiation Parameters

18 Conclusions Input to Standards Bodies (IETF) –Development of Frame Structure –Simplification of Login Process –Identifying potential performance issues –iSCSI State Diagram SCSI Target Mid-Level - Generic uses –IDE disks used as SCSI drives –Linux as a bridge Implementations used at Interop plugfests

19 Future/Current Work Making STML/FETDs more robust Upgrading iSCSI FETD to current versions IP-sec and Authentication (CHAPs) for iSCSI Submit for inclusion in kernel “Storage Virtualization” interface “Command Processing”

20 Acknowledgements SUN Microsystems EMC Trebia Networks InterOperability Lab, UNH

21 Thank you Downloads: http://www.iol.unh.edu/consortiums/fc/fc_linux.html


Download ppt "Design and Implementation of a Linux SCSI Target for Storage Area Networks Ashish A. PalekarAnshul Chaddha, Trebia Networks Narendran Ganapathy, 33 Nagog."

Similar presentations


Ads by Google