Linux Conf Presentation

of 21 /21
Design and Implementation of a Linux SCSI Target for Storage Area Networks Ashish A. Palekar Anshul Chaddha, Trebia Networks Narendran Ganapathy, 33 Nagog Park Robert Russell Acton, MA 01720 UNH-IOL Durham, NH – 03824

Embed Size (px)

Transcript of Linux Conf Presentation

  • Design and Implementation of a Linux SCSI Target for Storage Area NetworksAshish A. PalekarAnshul Chaddha,Trebia Networks Narendran Ganapathy,33 Nagog Park Robert RussellActon, MA 01720UNH-IOL Durham, NH [email protected]{achadda, ng3, rdr}@iol.unh.edu

  • OverviewMotivation and ObjectivesArchitectureDesign DetailsUser Space Target EmulatorKernel Space Target EmulatorImplementation IssuesConfiguration ToolApplicationsConclusions and Future Work

  • Motivation and ObjectivesInternet + E-Commerce = DataStorage Area Networks ConceptEmergence of ProtocolsFibre ChannelSEP (SCSI Encapsulation)iSCSI (Internet SCSI)iFCPInfinibandLinux as a SCSI Target ?

  • SCSI Protocol Overview

  • SCSI Initiator Mid-Level

  • SCSI Initiator and Target

  • Software Design AspectsBasic Code Paths:Registration / DeregistrationSCSI Read Type CommandsSCSI Write Type CommandsSCSI Task Management CommandsConfiguration of the SCSI Target

  • Step One: User Space Target Emulator

  • Registration Interface

  • Deregistration Interface

  • Handling a SCSI Read Type Command

  • Handling a SCSI Write Type Command

  • Processing a SCSI CommandProcessing different handle_cmd functionsI/O to and from memory MEMORYIOReturn junk data on READ commandsDrop data from WRITE commandsUsed for protocol performance testingI/O to and from a file FILEIOOpen a file on the local systemBlock READs and WRITEs to the fileSafe mode for driver testingAbstract view IDE SCSI conversionI/O to and from a disk GENERICIO/DISKIOBridge mode of operationProtocol conversion between different SCSI Transport Protocols

  • Processing a SCSI CommandDISKIOGENERICIO

  • Handling a SCSI Task Management Command

  • Implementation DetailsInitiator side:Existent Fibre Channel Initiator used (QLogic ISP 2200 A)Front End Initiator drivers SEP, iSCSI writtenTarget Side:Developed the SCSI Target Mid-LevelDeveloped Front End Target Drivers forFibre Channel (QLogic ISP 2200 A)SEPiSCSI draft 06 upgrading to 09Linux TCP/IP stack used

  • Target ConfigurationNeedStatistical informationConfiguration Needs for individual driverInterface for complex SAN management toolsMechanismproc file systemUsageiSCSI Login Negotiation Parameters

  • ConclusionsInput to Standards Bodies (IETF)Development of Frame StructureSimplification of Login ProcessIdentifying potential performance issuesiSCSI State DiagramSCSI Target Mid-Level - Generic usesIDE disks used as SCSI drivesLinux as a bridgeImplementations used at Interop plugfests

  • Future/Current WorkMaking STML/FETDs more robustUpgrading iSCSI FETD to current versionsIP-sec and Authentication (CHAPs) for iSCSISubmit for inclusion in kernelStorage Virtualization interfaceCommand Processing

  • AcknowledgementsSUN MicrosystemsEMCTrebia NetworksInterOperability Lab, UNH

  • Thank you

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