CN101471947B - Storage server implemented through iSCSI in Linux system - Google Patents

Storage server implemented through iSCSI in Linux system Download PDF

Info

Publication number
CN101471947B
CN101471947B CN2007101606818A CN200710160681A CN101471947B CN 101471947 B CN101471947 B CN 101471947B CN 2007101606818 A CN2007101606818 A CN 2007101606818A CN 200710160681 A CN200710160681 A CN 200710160681A CN 101471947 B CN101471947 B CN 101471947B
Authority
CN
China
Prior art keywords
scsi
subsystem
iscsi
computer system
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007101606818A
Other languages
Chinese (zh)
Other versions
CN101471947A (en
Inventor
张鹤
陈玄同
刘文涵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Corp
Original Assignee
Inventec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to CN2007101606818A priority Critical patent/CN101471947B/en
Publication of CN101471947A publication Critical patent/CN101471947A/en
Application granted granted Critical
Publication of CN101471947B publication Critical patent/CN101471947B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a storage server achieved by an iSCSI in a Linux system. The storage server comprises a network subsystem and a miniature computer system interface subsystem; and an iSCSI module and an SCSI module are respectively inserted in the network subsystem and the miniature computer system interface subsystem. When the network subsystem receives an online request packet from an initiating terminal, an SCSI identification format packet used for the iSCSI subsystem is generated by the built-in iSCSI module and the SCSI module. In addition, the iSCSI subsystem generates a network subsystem identification format packet with a response instruction through the SCSI module and the iSCSI module inserted in the iSCSI subsystem; and the response procedure is finished by the network subsystem. The iSCSI module and the SCSI module are respectively inserted in the network subsystem and the SCSI subsystem and can be transferred immediately without waiting for process switching, thereby further solving the efficiency limit of the storage service and improving the operating speed of the storage service.

Description

The storage server of realizing through iSCSI in the linux system
Technical field
The present invention relates to a kind of storage server, and particularly a kind of storage server of in linux system, realizing through internet small computer system interface.
Background technology
Seagate makes rapid progress, hard drive space by Mbytes (Mega Byte, MB) be promoted to the gigabit hyte (Giga Byte, GB).Along with the network technology progress; Internet small computer system interface (internetSmall Computer Systems Interface by name; ISCSI) communication protocol standard is proposed by IETF; In order to form a virtual network storage server through many main frames of TCP/IP communications protocol serial connection, it has high speed transmission abilities and the unrestricted expansion/backup capabilities that expands the virtual storage equipment capacity.Storage server through the iSCSI communications protocol realizes can be made up of one or more destination end (Target); Once store data and be called session (Session); Initiation session one end is called originating end (Initator); Originating end transmits request (Request) package and sets up session with destination end, and destination end receives Request Packet to respond and to set up session online.
The system architecture sketch map of the destination end in the storage server as shown in Figure 1; When a Request Packet is sent to destination end 100 through the TCP/IP network; Need through network subsystem 110, iSCSI module 120, SCSI module 130, and then pass to SCSI subsystem 140.ISCSI module 120 has independently to be carried out body and is responsible for parsing SCSI instruction and data by the iSCSI package that network subsystem 110 is resolved.Afterwards, transfer to SCSI module 130 again and resolve these SCSI instruction and data.After treating that SCSI module 130 is resolved completion, analysis result is committed to SCSI subsystem 140, and waits for the response data (that is carrying out the result after SCSI instruction and the data) that produces behind SCSI subsystem 140 those analysis results of execution.Above-mentioned each layer carries out process switching with the friendship mode of holding, and each layer all serves as requestor and respondent's role.For instance; After destination end 100 receives network package; Network subsystem 110 sends Request Packet (or signal) notice iSCSI module 120 and switches to the role who resolves the iSCSI packet data in the network package in order to carry out, and by 120 these requests of response of iSCSI module; SCSI module 130 in SCSI instruction and the data carried out after resolving, and is initiated a request SCSI subsystem 140 and is submitted execution result to after the request that receives iSCSI module 120.Under the network environment (big pressure environment) of a large amount of transmission, aforementioned friendship is held the formula processing mode and is caused the process switching number of times significantly to promote.Each online request all need be through the process switching of each interlayer; Particularly iSCSI module 120 and SCSI module 130 need to receive the online request of lower floor's (network subsystem 110) and further execution result is submitted to upper strata (SCSI subsystem 140) on the one hand, need transmit the request of response packets (signal) in order to response lower floor on the other hand.So frequent process switching causes the usefulness bottleneck of storage server, reduces the execution speed of storage server.
Summary of the invention
In view of needing to hold program (transmit and require and wait-for-response) through the complicated friendship of each layer assembly, the destination end in the above-mentioned storage server sets up session, the usefulness bottleneck that each layer assembly process switching is frequent, be prone to cause the storage server.The invention provides the storage server of realizing through internet small computer system interface in a kind of linux system; Through network subsystem and small computer system interface (Small Computer SystemsInterface; SCSI) embedded module of subsystem is with internet small computer system interface layer (internetSmall Computer Systems Interface; ISCSI) and the function embedded network subsystem of SCSI layer and SCSI subsystem, make network subsystem and SCSI subsystem, avoid process switching frequent between each layer respectively for independently carrying out body; And avoid between each layer internal storage data copy repeatedly; Data need not be carried out copy at each layer during transmitting, and can save the data passes required time, make the overall operation enhancing efficiency.
For reaching above-mentioned purpose, the storage server of realizing through internet small computer system interface (iSCSI) in the linux system of the present invention comprises network subsystem and SCSI subsystem two parts:
First is network subsystem partly, and it receives the network package that originating end transmits.In network subsystem, be embedded with internet small computer system interface (internet Small Computer Systems Interface; ISCSI) module and small computer system interface (Small Computer Systems Interface, SCSI) module.When the internet small computer system interface module is called by network subsystem, judge that network package is the iSCSI Request Packet, and SCSI request instruction or scsi data in the middle of parsing; The small computer system interface module is received SCSI request instruction or scsi data, and is encapsulated as SCSI subsystem identification format packet by the internet small computer system interface module invokes.
Second is the SCSI subsystem partly, and it receives aforementioned SCSI identification format packet, and returns network subsystem identification format packet to network subsystem to accomplish the reception program.The SCSI subsystem also is embedded with small computer system interface module and internet small computer system interface module.The small computer system interface module is called by the SCSI subsystem, in order to judge that the move instruction of SCSI subsystem institute is a response instruction.Afterwards; The small computer system interface module is called the internet small computer system interface module again; The internet small computer system interface module produces iSCSI response format data according to response instruction, and is that the network subsystem identification format packet transmits and gives network subsystem with this iSCSI response format data encapsulation.
According to the storage server of realizing through internet small computer system interface in the described linux system of preferred embodiment of the present invention; Wherein the embedded internet small computer system interface module of network subsystem is judged when the network package that receives is not the iSCSI Request Packet, network package is passed to the package process of analysis of network subsystem operative norm; In addition, when the instruction that the embedded small computer system interface module judgement SCSI subsystem of SCSI subsystem is transmitted was not response instruction, then the SCSI subsystem was submitted to relevant application program to response through normal process.
According to the storage server of realizing through internet small computer system interface in the described linux system of preferred embodiment of the present invention, wherein the aforementioned network package is the data packet of TCP layer; The iSCSI Request Packet is the iSCSI package that comprises the iSCSI request instruction.
According to the storage server of realizing through internet small computer system interface in the described linux system of preferred embodiment of the present invention; Wherein the small computer system interface module of network subsystem is sent to the SCSI subsystem through calling the interface that the SCSI subsystem provides with the SCSI identification format packet; The internet small computer system interface module of SCSI subsystem also through calling the interface that network subsystem provides, transmits the network subsystem identification format packet.
From the above mentioned; Network subsystem and the embedded separately one group of internet small computer system interface module of small computer system interface subsystem and the small computer system interface module of the storage server of realizing through internet small computer system interface in the linux system of the present invention; In order to carry out specially or as the purposes of the process of transmission as reception; The process switch that each module need not receive or send (switching to the promoter who transmits requirement/response instruction) therefore can be saved the system effectiveness bottleneck that process switch causes.In addition and since require with the running of the originating end (network subsystem and SCSI subsystem) of response task for separately independently, but therefore require to instruct parallel work-flow with initiation, promote the processing speed of whole storage server.
About detailed features of the present invention and real the work; Now cooperate to be shown in the execution mode and specify as follows; Its content is enough to make any those of ordinary skill in the art to understand technology contents of the present invention and implements according to this; And, can understand purpose and advantage that the present invention is correlated with easily according to content that this specification disclosed and graphic.
Description of drawings
Fig. 1 is the system architecture sketch map of the destination end in the prior art storage server;
Fig. 2 is the system architecture sketch map of the destination end in the storage server of preferred embodiment of the present invention;
Fig. 3 handles the flow chart of the network package that receives for the network subsystem of preferred embodiment of the present invention;
Fig. 4 is the flow chart of the SCSI subsystem processes response instruction of preferred embodiment of the present invention.
Wherein, Reference numeral is:
100,200 destination end
110,210 network subsystems
120,212,222 internet small computer system interface modules
130,214,224 small computer system interface modules
140,220 small computer system interface subsystems
Embodiment
The object of the invention and manner of execution thereof specify in following preferred embodiment.Yet notion of the present invention also can be used for other scope.Following listed examples only is used to the object of the invention and manner of execution are described, is not in order to limit its scope.
Fig. 2 is the system architecture sketch map of the destination end in the storage server of preferred embodiment of the present invention.Please with reference to Fig. 2; In the present embodiment; The storage server of realizing through internet small computer system interface (iSCSI) in the linux system; For example constitute, comprise network subsystem 210 and small computer system interface (Small Computer Systems Interface, SCSI) subsystem 220 two parts in the destination end 200 by one or more destination end 200.Embedded separately one group of internet small computer system interface in network subsystem 210 and SCSI subsystem 220 (internal Small Computer Systems Interface, iSCSI) module (212,222) and SCSI module (214,224).
Network subsystem 210 receives the network package that transmits from originating end, and this network package is the data packet of TCP layer.Afterwards, network subsystem 210 calls iSCSI module 212 and judges whether network package has the iSCSI Request Packet, and parses SCSI request instruction or the scsi data that is coated on this iSCSI Request Packet.So-called iSCSI Request Packet promptly is the iSCSI package that comprises the iSCSI request instruction; In the present embodiment; For example judging earlier to have or not in the network package exists iSCSI shelves head to judge whether the package into iSCSI fast; Resolve SCSI request instruction or scsi data in the iSCSI package subsequently again, to judge whether the being SCSI Request Packet.Afterwards, iSCSI module 212 is called SCSI request instruction or the scsi data of SCSI module 214 receive to resolve, and is the SCSI identification format packet with these data encapsulation.The iSCSI module is called the interface that SCSI subsystem 220 provides again, and this SCSI identification format packet is sent to SCSI subsystem 220.
Because SCSI subsystem 220 is embedded with independently iSCSI module 222 and SCSI module 224, but therefore Synchronous Processing response instruction and need not wait for that iSCSI module 222 and SCSI module 224 are to respond end by the request end process switch.After SCSI subsystem 220 received aforesaid SCSI identification format packet, judgement need be returned network subsystem identification format packet to network subsystem 210 to accomplish the reception program.Then SCSI subsystem 220 calls SCSI module 224 earlier, and SCSI module 224 judges that SCSI subsystem 220 is transmitted as response instruction.Afterwards, SCSI module 224 is called iSCSI module 222, and produces iSCSI response format data according to this response instruction, and is that the network subsystem identification format packet transmits and gives network subsystem 210 with this iSCSI response format data encapsulation.Wherein, iSCSI module 222 is called the interface that network subsystem 210 provides, and the network subsystem identification format packet is sent to network subsystem 210.
Fig. 3 handles the flow chart of the network package that receives for the network subsystem of preferred embodiment of the present invention.Please with reference to Fig. 3, originating end transmits the network package of setting up conversation request, and at first destination end receives network package (step S310); Afterwards; Network subsystem calls the interface (step S320) that embedded iSCSI module provides; And judge whether network package is the relevant package (step S330) of iSCSI: if the relevant package (step S330 is) of iSCSI, then further with instruction of the SCSI in the iSCSI module parses iSCSI package that calls or data (step S340); (otherwise step S330 denys); Then handle the normal process of network package with network subsystem; Directly network package is submitted to related application (step S350), for example when the iSCSI module judges that network package is not the iSCSI Request Packet, network package is submitted to the TCP application program; Then; The iSCSI module is called embedded small computer system interface module again small computer system interface instruction and data encapsulation is identification format packet (step S360) and transmits this identification format packet to the small computer system interface subsystem, to accomplish receiving course (step S370).
Fig. 4 is the SCSI subsystem processes response instruction volume flow chart of preferred embodiment of the present invention.Please with reference to Fig. 4, the SCSI subsystem is carried out following steps to carry out response request package process through the iSCSI module and the SCSI module that are embedded in the SCSI subsystem.At first, the SCSI subsystem receives and carries out SCSI instruction (step S410) and return execution result or data (step S420); The SCSI subsystem calls the SCSI module and judges whether to be SCSI layer response instruction (step S430) afterwards: if then take out response instruction (step S440) through the SCSI module of calling; Otherwise; Directly execution result or data are submitted to relevant application program (step S450); For example when the SCSI module finds that the instruction of SCSI subsystem transmission is not response instruction,, be responsible for submitting to this instruction to carry out to application program by normal process then directly with SCSI subsystem normal process.Then; SCSI module invokes iSCSI module produces iSCSI response format data according to response instruction; And be network subsystem identification format packet (step S460) with this iSCSI response format data encapsulation, and the interface that calls network subsystem and provide transmits this network subsystem identification format packet to network subsystem (step S470).
Though the present invention discloses as above with a preferred embodiment; Right its is not in order to limit the present invention; Under the situation that does not deviate from spirit of the present invention and essence thereof; Those of ordinary skill in the art work as can make various corresponding changes and distortion according to the present invention, but these corresponding changes and distortion all should belong to the protection range of the appended claim of the present invention.

Claims (7)

1. pass through the storage server that iSCSI realizes in a linux system, it is characterized in that, comprising:
One network subsystem and a SCSI subsystem,
Wherein, said network subsystem receives the network package that an originating end transmits, and this network subsystem is embedded with: an internet small computer system interface module and a small computer system interface module,
This internet small computer system interface module is called by this network subsystem, has an iSCSI Request Packet to judge this network package, and parses a SCSI request instruction or a scsi data;
This small computer system interface module is by this internet small computer system interface module invokes, in order to receiving this SCSI request instruction or this scsi data, and is encapsulated as a SCSI identification format packet; And
Wherein, Said SCSI subsystem receives this SCSI identification format packet; And return a network subsystem identification format packet to this network subsystem to accomplish the reception program; This SCSI subsystem is embedded with: a small computer system interface module and an internet small computer system interface module
This small computer system interface module is called by this SCSI subsystem, judges that this SCSI subsystem is transmitted as a response instruction;
This internet small computer system interface module is by this small computer system interface module invokes; Produce iSCSI response format data according to this response instruction, and this iSCSI response format data encapsulation is given this network subsystem for this network subsystem identification format packet transmits.
2. the storage server of realizing through iSCSI in the linux system according to claim 1; It is characterized in that; This embedded internet small computer system interface module of this network subsystem is judged when this network package is not the iSCSI Request Packet, and this network package is submitted to relevant TCP application program.
3. the storage server of realizing through iSCSI in the linux system according to claim 1; It is characterized in that; This embedded small computer system interface module of this SCSI subsystem judges that the instruction that this SCSI subsystem transmitted is not response instruction, then directly submits to and should instruction give related application.
4. the storage server of realizing through iSCSI in the linux system according to claim 1 is characterized in that this network package is the data packet of TCP layer.
5. the storage server of realizing through iSCSI in the linux system according to claim 1 is characterized in that this iSCSI Request Packet is for comprising an iSCSI request instruction or an iSCSI package.
6. the storage server of realizing through iSCSI in the linux system according to claim 1; It is characterized in that; This small computer system interface module of this network subsystem more comprises calls the interface that this SCSI subsystem provides, and this SCSI identification format packet is sent to this SCSI subsystem.
7. the storage server of realizing through iSCSI in the linux system according to claim 1; It is characterized in that; This internet small computer system interface module of this SCSI subsystem more comprises calls the interface that this network subsystem provides, and transmits this network subsystem identification format packet.
CN2007101606818A 2007-12-29 2007-12-29 Storage server implemented through iSCSI in Linux system Expired - Fee Related CN101471947B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101606818A CN101471947B (en) 2007-12-29 2007-12-29 Storage server implemented through iSCSI in Linux system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101606818A CN101471947B (en) 2007-12-29 2007-12-29 Storage server implemented through iSCSI in Linux system

Publications (2)

Publication Number Publication Date
CN101471947A CN101471947A (en) 2009-07-01
CN101471947B true CN101471947B (en) 2012-07-04

Family

ID=40829068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101606818A Expired - Fee Related CN101471947B (en) 2007-12-29 2007-12-29 Storage server implemented through iSCSI in Linux system

Country Status (1)

Country Link
CN (1) CN101471947B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1633131A (en) * 2005-01-14 2005-06-29 清华大学 A method for implementing iSCSI memory system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1633131A (en) * 2005-01-14 2005-06-29 清华大学 A method for implementing iSCSI memory system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
谭怀亮等.基于iSCSI网络存储协议的虚拟SCSIHBA驱动方法.《计算技术与自动化》.2006,第25卷(第4期),第57-59页. *
陈俊明等.基于ISCSI的用户控制与冗余存储的设计与实现.《江南大学学报(自然科学版)》.2006,第5卷(第1期),第63-64页. *

Also Published As

Publication number Publication date
CN101471947A (en) 2009-07-01

Similar Documents

Publication Publication Date Title
EP3352431B1 (en) Network load balance processing system, method, and apparatus
CN102932472B (en) Data processing method and communication system
CN105915658B (en) Obtain data calling method, the data transmission method of client ip address
CN105488837A (en) Cloud computing based real-time off-screen rendering method, apparatus and system
JP2006033854A (en) Method of enabling transmission between nodes, system, and program
CN105472023B (en) A kind of method and device of direct distance input and output
CN108270732A (en) A kind of Streaming Media processing method and system
US8527661B1 (en) Gateway for connecting clients and servers utilizing remote direct memory access controls to separate data path from control path
CN110099115B (en) Load balancing method and system for transparent scheduling forwarding
CN102571715A (en) Multidimensional data query method and multidimensional data query system
CN103905510A (en) Processing method and background server for data package
CN1761929A (en) Method and apparatus for providing multi-client support in a SIP-enabled terminal
WO2017114378A1 (en) Forwarding of ip data packet
CN102333210A (en) Video data storage method and equipment
CN103036885B (en) Sip server overload protective device and method
CN1863202B (en) Method for improving load balance apparatus and server processing performance
CN102752188A (en) Transmission control protocol connection migratory method and system
US20120197961A1 (en) Method and system for information exchange utilizing an asynchronous persistent store protocol
CN103067981B (en) A kind of content caching by-pass method and system
CN101355483B (en) Method and equipment for transmitting data packet by multiple network ports
CN106936723B (en) Bluetooth router and routing method based on tunnel mechanism
CN101471947B (en) Storage server implemented through iSCSI in Linux system
US20100175073A1 (en) Network device for accelerating iscsi packet processing
WO2015055008A1 (en) Storage controller chip and disk packet transmission method
CN101442547B (en) Method, system and equipment for processing message

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120704

Termination date: 20151229

EXPY Termination of patent right or utility model