KR101470857B1 - Network distributed file system and method using iSCSI storage system - Google Patents

Network distributed file system and method using iSCSI storage system Download PDF

Info

Publication number
KR101470857B1
KR101470857B1 KR1020120149312A KR20120149312A KR101470857B1 KR 101470857 B1 KR101470857 B1 KR 101470857B1 KR 1020120149312 A KR1020120149312 A KR 1020120149312A KR 20120149312 A KR20120149312 A KR 20120149312A KR 101470857 B1 KR101470857 B1 KR 101470857B1
Authority
KR
South Korea
Prior art keywords
iscsi
scsi
data
block
server
Prior art date
Application number
KR1020120149312A
Other languages
Korean (ko)
Other versions
KR20140061194A (en
Inventor
오승
신중수
Original Assignee
주식회사 유투앤
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 주식회사 유투앤 filed Critical 주식회사 유투앤
Publication of KR20140061194A publication Critical patent/KR20140061194A/en
Application granted granted Critical
Publication of KR101470857B1 publication Critical patent/KR101470857B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Abstract

비대칭 클러스터 분산 파일 시스템에서 iSCSI 스토리지 시스템을 이용하여 분산 파일 시스템의 효율을 높일 수 있는 시스템 및 방법이 제공된다.
본 발명에 따른 네트워크 분산 파일 시스템은 메타데이터 서버(M), 데이터 서버(D) 및 어플리케이션 서버(0)를 포함하여 구동되고, 상기 메타데이터 서버(M) 및 데이터 서버(D)를 블록 입출력 저장공간으로 활용하여 SCSI 명령을 iSCSI 인터페이스 기반으로 처리하기 위하여 복수의 iSCSI 게이트웨이를 포함하는 확장형 iSCSI 스토리지 시스템을 더 포함하며, 상기 iSCSI 게이트웨이는 네트워크 기반의 스토리지 외부에서 요청하는 블록 데이터 입출력의 표준 인터페이스로 기능하는 SCSI 타겟 코어와, 분산 파일 시스템에 iSCSI 인터페이스를 지원하기 위한 SCSI CDB 처리 모듈과, 다수의 물리적 디스크 공간에 분산된 데이터 블록 정보를 관리하는 블록 레이아웃 매니저를 포함하는 것을 특징으로 한다.
Asymmetric Clusters A system and method are provided for increasing the efficiency of a distributed file system using an iSCSI storage system in a distributed file system.
The network distributed file system according to the present invention is driven including a metadata server M, a data server D and an application server 0 and stores the metadata server M and the data server D as block I / Wherein the iSCSI gateway further comprises a plurality of iSCSI gateways for processing SCSI commands based on an iSCSI interface, wherein the iSCSI gateway functions as a standard interface for block data input / output requested outside the network- A SCSI CDB processing module for supporting an iSCSI interface in a distributed file system, and a block layout manager for managing data block information distributed in a plurality of physical disk spaces.

Description

iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템 및 방법 {Network distributed file system and method using iSCSI storage system}[0001] The present invention relates to a network distributed file system and method using an iSCSI storage system,

본 발명은 비대칭 클러스터 분산 파일 시스템에서 iSCSI 스토리지 시스템을 이용하여 분산 파일 시스템의 효율을 높일 수 있는 시스템 및 방법에 관한 것이다.
The present invention relates to a system and method for increasing the efficiency of a distributed file system using an iSCSI storage system in an asymmetric cluster distributed file system.

최근 인터넷 기술의 비약적인 발전에 따라 사진, 동영상과 같은 멀티미디어 데이터의 전송이 비약적으로 증가하고 있으며, 따라서 인터넷을 이용한 멀티미디어 데이터 전송 서비스를 제공하는 업체의 경우 매우 큰 용량의 데이터가 새롭게 생성되고 있다. 따라서, 많은 용량의 데이터를 효과적으로 분산하여 관리할 수 있는 시스템의 도입이 시급한 실정이다.In recent years, with the rapid development of the Internet technology, the transmission of multimedia data such as photographs and moving images has been dramatically increased. Therefore, a company providing a multimedia data transmission service using the Internet has generated a very large amount of data. Therefore, it is urgent to introduce a system capable of effectively distributing and managing a large amount of data.

최근, 스토리지 시스템 또는 파일 시스템에 대한 기술 발전은 스토리지 시스템의 확장성 및 성능을 크게 향상시키고 있다. 파일 시스템 구조 측면에서 살펴보면, 몇몇 시스템들이 파일의 데이터 입출력 경로와 파일의 메타데이터 관리 경로를 분리시킨, 소위 비대칭 클러스터 파일 시스템을 구축하여 분산 스토리지 시스템의 확장성과 성능을 높이기 위한 노력을 하고 있다.Recently, advances in storage system or file system technology have greatly improved the scalability and performance of storage systems. In terms of the file system structure, some systems are making efforts to improve the scalability and performance of distributed storage systems by constructing a so-called asymmetric cluster file system that separates the data input / output path of the file and the metadata management path of the file.

이러한 구조는 클라이언트 시스템이 저장 장치들을 직접 접근할 수 있게 해주며, 또한, 파일의 빈번한 접근으로 인해 발생하는 병목 지점을 회피하여 스토리지의 확장성을 높일 수 있다. This structure allows the client system to directly access the storage devices and also increases storage scalability by avoiding bottlenecks caused by frequent file accesses.

IBM의 StorageTank와 Panasas의 ActiveScale Storage Cluster, Cluster Filesystems의 Luster, Hadoop의 DFS, Google의 Google Filesystem 등의 엔터프라이즈급 스토리지 솔루션이 이러한 구조를 기반으로 개발되었다. Enterprise-class storage solutions such as IBM's StorageTank and Panasas ActiveScale Storage Cluster, Cluster Filesystems' Luster, Hadoop's DFS and Google's Google Filesystem were developed based on this structure.

이러한 네트워크 기반 분산 파일 시스템 환경에서는 어플리케이션 서버, 메타데이터 서버, 데이터 서버들이 네트워크를 통해 교신하면서 데이터의 입출력을 제공한다. 또한, 어플리케이션 서버가 특정 파일에 접근하기 위해서는 먼저 메타데이터 서버로부터 파일의 실제 데이터가 저장된 블록의 위치 정보를 얻은 뒤에, 이 위치 정보를 이용하여 실제 데이터를 저장하고 있는 데이터 서버에 접근하여 해당 블록의 데이터를 얻는다.
In such a network-based distributed file system environment, an application server, a metadata server, and a data server communicate with each other via a network to provide data input / output. In order for the application server to access a specific file, the metadata server obtains the location information of the block in which the actual data of the file is stored, accesses the data server storing the actual data using the location information, Data is obtained.

그런데, 종래의 비대칭형 구조의 분산 파일 시스템에서는 파일 IO만 제공되고, 블록 IO는 제공되지 않는다는 단점이 있다.
However, in the distributed file system of the conventional asymmetric structure, only the file IO is provided, and the block IO is not provided.

본 발명은 종래의 비대칭 클러스터 분산 파일 시스템이 갖는 문제점을 해결하여 파일 IO 뿐만 아니라 Block IO의 지원이 가능한 분산 파일 시스템을 제공하는 것을 목적으로 한다.
It is an object of the present invention to provide a distributed file system capable of supporting Block IO as well as file IO by solving the problems of the conventional asymmetric cluster distributed file system.

메타데이터 서버(M), 데이터 서버(D) 및 어플리케이션 서버(0)를 포함하여 구동되는 네트워크 분산 파일 시스템으로서, A network distributed file system driven by including a metadata server (M), a data server (D), and an application server (0)

상기 분산 파일 시스템은 상기 메타데이터 서버(M) 및 데이터 서버(D)를 블록 입출력 저장공간으로 활용하여 SCSI(Small Computers System Interface) 명령을 iSCSI(internet Small Computers System Interface) 인터페이스 기반으로 처리하기 위하여 복수의 iSCSI 게이트웨이(Gateway) 및 iSCSI 컨트롤 서버(Control Server)를 포함하는 확장형 iSCSI 스토리지 시스템을 더 포함하며, The distributed file system includes a plurality of (i. E., SCSI) interfaces for processing SCSI (Small Computers System Interface) commands on an iSCSI (Internet Small Computer System Interface) interface by utilizing the metadata server M and the data server D as block input / Gt; iSCSI < / RTI > gateway (Gateway) and an iSCSI control server (Control Server)

상기 iSCSI 게이트웨이는 네트워크 기반의 스토리지 외부에서 요청하는 블록 데이터 입출력의 표준 인터페이스로 기능하는 SCSI 타겟 코어(Target Core)와, 분산 파일 시스템에 iSCSI 인터페이스를 지원하기 위한 SCSI 미들웨어와, 다수의 물리적 디스크 공간에 분산된 데이터 블록 정보를 관리하는 블록 레이아웃 매니저(Block Layout Manager)를 포함하는 것을 특징으로 한다.The iSCSI gateway includes a SCSI target core serving as a standard interface for block data input / output requested outside the network-based storage, SCSI middleware for supporting the iSCSI interface in the distributed file system, And a block layout manager (Block Layout Manager) for managing distributed data block information.

또한, 상기 컨트롤 서버는 분산 파일 시스템의 저장공간을 이용하여 iSCSI 볼륨을 구성하고 다수의 iSCSI 게이트웨이를 제어하는 기능을 포함하는 것이 바람직하다.Preferably, the control server includes a function of configuring an iSCSI volume using a storage space of the distributed file system and controlling a plurality of iSCSI gateways.

또한, 상기 SCSI 타겟 코어는 iSCSI 타겟 관리, 네트워크 포털 관리, 타겟 포털 그룹 관리, LUN 매핑(Mapping), CHAP(Challenge Handshake Authentication Protocol) 기반 iSCSI 인증 관리, 다중 연결 방식 iSCSI 세션(Session) 관리, iSCSI PDU(Protocol Data Unit) 및 커맨드(Command) 처리 중 적어도 하나의 기능을 갖는 것을 특징으로 한다.In addition, the SCSI target core includes iSCSI target management, network portal management, target portal group management, LUN mapping, Challenge Handshake Authentication Protocol (CHAP) based iSCSI authentication management, multiple connection type iSCSI session management, (Protocol Data Unit) and a command process.

또한, 상기 SCSI 미들웨어는 SCSI CDB(Command Descriptor Block)를 처리하기 위한 SCSI CDB 모듈이고, CDB를 디코딩하여 해당 SCSI 명령어의 표준에 따라 해당 명령을 구분하여 처리하고, 블록 레이아웃 매니저와 연동하여, 데이터 입력 또는 출력하도록 명령하는 기능을 갖는 것을 특징으로 한다.In addition, the SCSI middleware is a SCSI CDB module for processing a SCSI CDB (Command Descriptor Block). The SCSI middleware decodes the CDB, identifies and processes the commands according to the standard of the corresponding SCSI command, and interlocks with the block layout manager, Or outputting the command.

또한, 블록 레이아웃 매니저는 iSCSI 볼륨을 구성하고 있는 파일 조각(Chunk)의 위치, 저장단위, 개수를 관리하고, 상기 파일 조각의 위치, 저장단위, 개수 정보와 SCSI CDB 처리 모듈에서 전달받은 블록 입출력의 파라미터인 블록 주소 및 입출력 사이즈 정보를 매핑하여 블록 데이터 입출력을 수행하는 기능을 갖는 것을 특징으로 한다.Also, the block layout manager manages the location, storage unit, and number of file chunks constituting the iSCSI volume, and stores the location, the storage unit, and the number information of the file fragment and the information of the block input / output received from the SCSI CDB processing module And a function of performing block data input / output by mapping block address and input / output size information as parameters.

또한, 메타데이터 서버에서 관리하는 파일에 대한 메타 정보는 파일 이름, 디렉토리 구조, 파일을 구성하고 있는 데이터 조각 목록 및 데이터 서버상의 위치 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.
In addition, the meta information about the file managed by the metadata server includes at least one of a file name, a directory structure, a data piece list constituting a file, and position information on a data server.

또한, iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 방법은 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템에 의하여 구동되며, In addition, the network distributed file method using the iSCSI storage system is driven by the network distributed file system using the iSCSI storage system,

상기 iSCSI 컨트롤 서버는 메타데이터 서버에게 iSCSI 볼륨 생성을 요청하는 단계;The iSCSI control server requesting a metadata server to generate an iSCSI volume;

상기 메타데이터 서버는 생성할 iSCSI 볼륨의 ID를 배정하고 네트워크상에 분산되어 있는 데이터 서버에 저장될 청크를 크기만큼 배정하는 단계; 및 Assigning an ID of an iSCSI volume to be created to the metadata server and allocating a chunk to be stored in a data server distributed on the network to a size of the chunk; And

상기 메타데이터 서버는 iSCSI 볼륨 ID 정보를 iSCSI 관리 서버에 반환하면, 반환된 iSCSI 볼륨 ID 정보는 해당 iSCSI 볼륨과 연관된 블록 레이아웃 매니저에게 전달하는 단계를 포함하는 것을 특징으로 한다.
When the metadata server returns iSCSI volume ID information to the iSCSI management server, transmitting the returned iSCSI volume ID information to a block layout manager associated with the iSCSI volume.

또한, iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 방법은:Also, the network distributed file method using the iSCSI storage system is:

상기 어플리케이션 서버로부터 iSCSI 표준 방식으로 iSCSI 게이트웨이에 SCSI 블록 데이터 읽기를 요청받으면, 상기 SCSI 타겟 코어는 iSCSI PDU를 분석한 후 분해하여 SCSI 미들웨어에게 SCSI CDB를 전달하는 단계;Receiving a request to read SCSI block data from the application server in the iSCSI gateway in an iSCSI standard manner, the SCSI target core analyzes and decomposes the iSCSI PDU to deliver a SCSI CDB to the SCSI middleware;

상기 SCSI 미들웨어는 SCSI 명령을 분석하여 데이터 읽기 할 블록의 LBA(Logical Block Address) 및 읽기 크기 정보를 블록 레이아웃 매니저에 전달하는 단계;The SCSI middleware analyzing SCSI commands and transferring LBA (Logical Block Address) and read size information of a block to be read to a block layout manager;

상기 블록 레이아웃 매니저는 LBA 주소을 이용하여 해당 iSCSI 볼륨을 구성하는 청크 ID 및 오프셋(Offset)을 산출하고 읽을 데이터의 크기를 메타데이터 서버에 전달하고, 상기 메타데이터 서버에게 전달된 청크 ID, 오프셋, 읽을 데이터의 크기 정보를 기반으로 네트워크에 분산된 데이터 서버 영역의 관련된 모든 청크 파일 위치 리스트를 ID 순서대로 정렬하여 블록 레이아웃 매니저에 전달하는 단계;The block layout manager calculates a chunk ID and an offset constituting the corresponding iSCSI volume using the LBA address, transfers the size of the data to be read to the metadata server, and stores the chunk ID, offset, Arranging a list of all related chunk file locations of a data server area distributed in a network on the basis of size information of the data in the order of IDs and transmitting the sorted list to the block layout manager;

상기 블록 레이아웃 매니저는 청크 파일 위치 리스트를 기반으로 첫번째 청크 파일의 오프셋부터 마지막 청크 파일까지 읽을 데이터의 크기만큼 데이터를 데이터 읽어 블록 레이아웃 매니저에 위치한 버퍼에 데이터를 기록하는 단계;Wherein the block layout manager reads data from the offset of the first chunk file to the last chunk file based on the chunk file location list and writes the data to the buffer located in the block layout manager.

상기 블록 레이아웃 매니저는 버퍼의 메모리상의 위치를 SCSI 미들웨어에 전달하고, SCSI 미들웨어는 해당 버퍼 내용을 포함하는 SCSI CDB를 생성하여 SCSI 타겟 코어에게 전달하는 단계; 및 The block layout manager transfers the location on the buffer of the buffer to the SCSI middleware, the SCSI middleware generates a SCSI CDB including the contents of the buffer, and transmits the SCSI CDB to the SCSI target core; And

상기 SCSI 타겟 코어는 SCSI CDB를 포함하는 iSCSI PDU를 생성한 후, 생성된 iSCSI PDU를 iSCSI 표준 방식으로 어플리케이션 서버에 전달하는 단계를 포함하는 것을 특징으로 한다.
The SCSI target core may include generating an iSCSI PDU including a SCSI CDB and transmitting the generated iSCSI PDU to an application server in an iSCSI standard manner.

또한, iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 방법은: Also, the network distributed file method using the iSCSI storage system is:

상기 블록 레이아웃 매니저는 청크 파일 위치 리스트를 기반으로 첫번째 청크 파일의 오프셋부터 마지막 청크 파일까지 쓰기할 데이터의 크기만큼 블록 레이아웃 매니저(1-3)에 위치한 버퍼에 데이터를 기록하는 단계;The block layout manager recording data in a buffer located in the block layout manager 1-3 by a size of data to be written from the offset of the first chunk file to the last chunk file based on the chunk file location list;

상기 블록 레이아웃 매니저는 데이터 쓰기(write)가 완료된 정보를 SCSI 미들웨어(1-2)에 전달하고, SCSI 미들웨어(1-2)는 데이터 쓰기(write)가 완료된 정보를 포함하는 SCSI CDB를 생성하는 단계를 더 포함할 수 있다.
The block layout manager transfers the write completed information to the SCSI middleware 1-2 and the SCSI middleware 1-2 generates the SCSI CDB including the information that the data write has been completed As shown in FIG.

본 발명에 따른 분산 파일 시스템을 이용하면 파일 IO 뿐만 아니라 Block IO의 지원이 가능하므로 데이터 전달 및 저장이 효율적으로 이루어질 수 있다.
The distributed file system according to the present invention can support not only the file IO but also the block IO, so that data transfer and storage can be efficiently performed.

도 1은 본 발명의 바람직한 실시예에 따른 iSCSI 스토리지 시스템 및 상기 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 개략적인 구성을 도시하는 도면이다.
도 2는 블록(Block) IO를 지원하기위한 iSCSI 불륨(Volume) 형성 절차를 개략적으로 도시하는 도면이다.
도 3은 블록 IO에서 데이터 읽기(Data Read)를 처리하는 절차를 개략적으로 도시하는 도면이다.
도 4는 블록 IO에서 데이터 쓰기(Data Write)를 처리하는 절차를 개략적으로 도시하는 도면이다.
FIG. 1 is a diagram showing a schematic configuration of an iSCSI storage system and a network distributed file system using the storage system according to a preferred embodiment of the present invention.
2 is a schematic diagram illustrating an iSCSI Volume formation procedure for supporting Block IO.
3 is a view schematically showing a procedure of processing a data read in the block IO.
Fig. 4 is a view schematically showing a procedure of processing data write (Data Write) in block IO.

본 발명의 바람직한 실시예에 따른 iSCSI 스토리지 시스템 및 이를 이용한 네트워크 분산 파일 시스템의 바람직한 실시예를 첨부한 도면을 참고로 이하에서 설명한다.
Preferred embodiments of an iSCSI storage system and a network distributed file system using the same according to a preferred embodiment of the present invention will be described below with reference to the accompanying drawings.

본 실시예에 따른 네트워크 분산 파일 시스템은 논리적인 iSCSI 볼륨(LUN)을 생성하고 이를 iSCSI 타겟(Target)을 통해 iSCSI 이니시에이터(initiator)로 제공하여 블록 IO를 처리하는 스토리지 시스템이다.The network distributed file system according to the present embodiment is a storage system that creates a logical iSCSI volume (LUN) and provides it to an iSCSI initiator through an iSCSI target to process a block IO.

또한, 본 발명의 바람직한 실시예에 따르면 스토리지 용량의 확장은 분산 파일 시스템의 노드를 증설하는 형태로 제공된다.Also, according to a preferred embodiment of the present invention, the expansion of the storage capacity is provided in the form of adding nodes of the distributed file system.

또한, 본 발명의 바람직한 실시예에 따르면 전체 입출력 대역폭의 확장은 게이트웨이 형식의 iSCSI 타겟을 증설하는 형태로 제공된다.Also, according to a preferred embodiment of the present invention, the overall input / output bandwidth expansion is provided in the form of adding an iSCSI target of a gateway type.

또한, 본 발명의 바람직한 실시예에 따르면 스토리지 가용성 확보는 2개 이상의 iSCSI 게이트웨이를 이용하며, 하나의 iSCSI 게이트웨이의 이상 발생시 타 iSCSI 게이트웨이에 자동으로 페일-오버(Fail-Over) 하는 형태로 제공된다.
According to a preferred embodiment of the present invention, more than two iSCSI gateways are used for ensuring storage availability and fail-over is automatically provided to other iSCSI gateways when an iSCSI gateway fails.

도 1은 본 발명의 바람직한 실시예에 따른 iSCSI 스토리지 시스템 및 상기 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 개략적인 구성을 도시하는 도면이다. FIG. 1 is a diagram showing a schematic configuration of an iSCSI storage system and a network distributed file system using the storage system according to a preferred embodiment of the present invention.

도 1에서 보듯이, 본 발명의 바람직한 실시예에 따른 네트워크 분산 파일 시스템은 물리적으로 분리된 대규모의 스토리지 자원을 단일 스토리지 볼륨으로 가상화하는 메타데이터 서버(M), 데이터 서버(D) 및 어플리케이션 서버(0)를 포함한다. 구체적으로, 메타데이터 서버(M)는 분산 파일 시스템에서 컨트롤 패스(Path) 기능을 수행한다. 또한, 메타데이터 서버(M)는 파일에서 메타정보 (파일 속성, 경로, (D)상에서 데이터 조각의 경로 리스트, 복제 여부 등)을 관리한다. 또한, 데이터 서버(D)는 분산 파일 시스템에서 데이터 패스(Path)의 기능을 수행한다. 즉, 메타데이터 서버(M)에 의해서 파일을 데이터 조각으로 분리하면, 실질적으로 분리된 데이터 조각을 분산 저장하는 기능과 분리된 데이터 조각을 분산 전달하는 기능을 수행한다.1, a network distributed file system according to a preferred embodiment of the present invention includes a metadata server M, a data server D, and an application server (hereinafter, referred to as " 0). Specifically, the metadata server M performs a control path function in the distributed file system. In addition, the metadata server M manages meta information (file attribute, path, path list of data pieces on the path (D), replication status, etc.) in the file. The data server D also functions as a data path in the distributed file system. That is, when a file is divided into data fragments by the metadata server M, a function of distributing and storing substantially separated data fragments and a function of dispersing and transmitting separated data fragments are performed.

또한, 본 발명의 바람직한 실시예에따른 분산 파일 시스템은 상기 메타데이터 서버(M) 및 데이터 서버(D)를 블록 입출력 저장공간으로 활용하여 SCSI 명령을 iSCSI 인터페이스 기반으로 처리하는 시스템이다. 또한, 본 발명의 바람직한 실시예에 따르면 어플리케이션 서버(0)에는 iSCSI 이니시에이터가 형성된다.The distributed file system according to the preferred embodiment of the present invention is a system for processing SCSI commands based on an iSCSI interface by utilizing the metadata server M and the data server D as block input / output storage spaces. Also, according to a preferred embodiment of the present invention, an iSCSI initiator is formed in the application server (0).

또한, 본 발명의 바람직한 실시예에 따른 네트워크 분산 파일 시스템은 확장형 iSCSI 스토리지 시스템을 더 포함하는데, 확장형 iSCSI 스토리지 시스템은 복수의 iSCSI 게이트웨이(1)와 iSCSI 컨트롤 서버(2)를 포함한다. 또한, 복수의 iSCSI 게이트웨이(1)는 각각 SCSI 타겟 코어(1-1), SCSI 미들웨어(Middleware; 1-2) 및 블록 레이아웃 매니저 세트(Block Layout Manager SET; 1-3)를 포함한다. In addition, the network distributed file system according to the preferred embodiment of the present invention further includes an expandable iSCSI storage system, which includes a plurality of iSCSI gateways 1 and an iSCSI control server 2. Each of the plurality of iSCSI gateways 1 includes a SCSI target core 1-1, a SCSI middleware 1-2, and a block layout manager set 1-3.

또한, 메타데이터 서버(M), 데이터 서버(D) 및 어플리케이션 서버(3)와 확장형 iSCSI 스토리지 시스템을 구성하는 iSCSI 컨트롤 서버(2)와 복수의 iSCSI 게이트웨이(1)는 이더넷(Ethernet)으로 연결되어, 다수의 기존 iSCSI 이니시에이터(3)에게 블록 입출력 서비스를 확장성 있게 제공하도록 구성된다.
The iSCSI control server 2 and the plurality of iSCSI gateways 1 constituting the scalable iSCSI storage system and the metadata server M, the data server D and the application server 3 are connected to each other via Ethernet , And is configured to extensively provide block I / O services to a plurality of existing iSCSI initiators 3.

또한, 본 발명의 바람직한 실시예에 따르면 확장형 iSCSI 스토리지 시스템의 기반 저장소로 이용되는 메타데이터 서버(M), 데이터 서버(D)는 iSCSI 게이트웨이(1) 별로 분산 데이터 처리를 지원하고 블록 기반 스토리지 용량의 확장성을 제공하는 것이 바람직하다. 또한, iSCSI 게이트웨이(1)는 블록 데이터 입출력 서비스를 이용하는 다수의 iSCSI 이니시에이터의 성능 요구사항을 충족하기 위해 복수로 구성되는 것이 바람직하다.
According to a preferred embodiment of the present invention, the metadata server M and the data server D, which are used as a base storage of the scalable iSCSI storage system, support distributed data processing for each iSCSI gateway 1, It is desirable to provide scalability. In addition, the iSCSI gateway 1 is preferably composed of a plurality of iSCSI gateways 1 in order to satisfy the performance requirements of a plurality of iSCSI initiators using the block data input / output service.

한편, 본 발명의 바람직한 실시예에 따른 iSCSI 게이트웨이(1)는 각각 SCSI 타겟 코어(1-1), SCSI 미들웨어(1-2) 및 블록 레이아웃 메니저 세트(1-3)로 구성되는데, 구체적으로 다음과 같은 기능을 수행한다.
The iSCSI gateway 1 according to the preferred embodiment of the present invention comprises a SCSI target core 1-1, a SCSI middleware 1-2 and a block layout manager set 1-3. And the like.

먼저, SCSI 타겟 코어(1-1)는 이더넷 네트워크 기반의 스토리지 외부에서 요청하는 블록 데이터 입출력의 표준 인터페이스로 기능한다. 구체적으로, SCSI 타겟 코어(1-1)는 iSCSI 타겟 관리, 네트워크 포털 관리, 타겟 포털 그룹 관리, LUN 매핑(Mapping), CHAP(Challenge Handshake Authentication Protocol) 기반 iSCSI 인증 관리, 다중 연결 방식 iSCSI 세션(Session) 관리, iSCSI PDU(Protocol Data Unit) 및 커맨드(Command) 처리 기능을 갖는다. 한편, UCS-FS상의 iSCSI 볼륨(LUN)과 타겟과의 매핑은 iSCSI 볼륨 매니저의 SCSI 타겟 코어의 제어를 통해 이루어진다.
First, the SCSI target core 1-1 functions as a standard interface for block data input / output requested outside the storage based on the Ethernet network. Specifically, the SCSI target core 1-1 can perform iSCSI target management, network portal management, target portal group management, LUN mapping, iSCSI authentication management based on Challenge Handshake Authentication Protocol (CHAP) ) Management, an iSCSI protocol data unit (PDU), and a command processing function. On the other hand, the mapping between the iSCSI volume (LUN) on the UCS-FS and the target is achieved through control of the SCSI target core of the iSCSI volume manager.

한편, iSCSI 인터페이스의 기능은 SCSI 명령어와 파라미터를 캡슐화 형태로 기술된 CDB를 이더넷(Ethernet) 기반의 TCP/IP 형태로 교환하기 위해서, CDB를 캡슐화하여 PDU를 생성하고, 요청 및 응답에 따른 약속된 절차에 따라 전달하는 역할만 제공하고 있다. 따라서 File 기반 솔루션인 분산 파일 시스템에 iSCSI 인터페이스를 지원하기 위해서는 SCSI CDB를 처리하는 모듈이 필수적이다. SCSI 미들웨어(1-2)는 이러한 목적에 따라 구성된 모듈으로서 CDB를 디코딩(Decoding) 하여 해당 SCSI 명령어의 표준에 따라 해당 명령을 구분하여 처리한다. SCSI 명령은 크게 데이터 입출력 명령과 비입출력 명령으로 구분할 수 있으며, 상기 구분에 따라서 블록 레이아웃 매니저와의 연동이 결정된다. 또한, 데이터 입출력 명령은 블록 레이아웃 매니저와의 연동이 필수적이다. 또한, SCSI 명령의 처리가 완료되면 처리된 결과를 다시 CDB 형태로 캡슐화하여 SCSI 타겟 코어로 전달한다.
Meanwhile, the iSCSI interface function encapsulates the CDB to generate a PDU in order to exchange SCSI commands and parameters encapsulated in the form of Ethernet-based TCP / IP, and transmits the promised It provides only the role of delivering according to the procedure. Therefore, in order to support the iSCSI interface to the distributed file system, a file-based solution, a module for processing SCSI CDB is essential. The SCSI middleware 1-2 decodes the CDB as a module configured according to this purpose and processes the corresponding command in accordance with the standard of the corresponding SCSI command. The SCSI command can be largely classified into a data input / output command and a non-input / output command, and interlocking with the block layout manager is determined according to the above-mentioned classification. The data input / output instruction is interlocked with the block layout manager. In addition, when the processing of the SCSI command is completed, the processed result is encapsulated in the CDB format and transferred to the SCSI target core.

또한, 블록 레이아웃 매니저(1-3)는 다수의 물리적 디스크 공간에 분산된 데이터 블록 정보를 관리하는 블록이다. 분산 파일 시스템 상의 저장공간은 데이터 서버 형태로 물리적으로 분할되어 데이터 조각(Chuck 단위)으로 저장된다. 데이터 조각의 세트는 분산 파일 시스템 상에서 하나의 “파일”과 매핑이 된다. 분산 파일 시스템의 메타데이터 서버에서 관리하는 파일에 대한 메타정보는 파일 이름, 디렉토리 구조, 파일을 구성하고 있는 데이터 조각 목록 및 데이터 서버상의 위치정보를 포함한다. 확장형 iSCSI 스토리지 시스템의 iSCSI 볼륨(LUN)은 분산 파일 시스템의 저장공간에 지정된 임의의 파일 하나를 대응된다. 따라서 해당 파일과 iSCSI 타겟을 연결(LUN 매핑)하기 위해서는 iSCSI 게이트웨이 별로 자신이 서비스하는 iSCSI 타겟과 연결된 iSCSI 볼륨의 메타정보를 관리하는 블록 레이아웃 매니저가 필수적이다. 블록 레이아웃 매니저는 iSCSI 볼륨을 구성하고 있는 파일 조각(Chunk)의 위치, 저장단위, 개수를 필요에 따라 분산 파일 시스템의 메타데이터 서버를 통해 제공받아 내부 저장소에서 관리한다. 상기 정보와 SCSI 미들웨어 측에서 전달받은 블록 입출력의 파라미터인 블록 주소 및 입출력 사이즈 정보를 매핑하여 블록 데이터 입출력을 수행하는 역할을 담당한다.
The block layout manager 1-3 is a block for managing data block information distributed in a plurality of physical disk spaces. The storage space on the distributed file system is physically divided into data servers and stored in chunks of data. The set of data fragments is mapped to a single "file" on the distributed file system. The meta information of the file managed by the metadata server of the distributed file system includes a file name, a directory structure, a list of data fragments constituting the file, and location information on the data server. The iSCSI volume (LUN) of the scalable iSCSI storage system corresponds to any file specified in the storage space of the distributed file system. Therefore, in order to link (LUN mapping) the file and the iSCSI target, a block layout manager that manages the meta information of the iSCSI volume connected to the iSCSI target that the iSCSI gateway serves is essential. The block layout manager manages the location, storage unit, and number of the file chunks constituting the iSCSI volume, via the metadata server of the distributed file system, if necessary, in the internal storage. And performs block data input / output by mapping the information and the block address and input / output size information, which are parameters of the block input / output received from the SCSI middleware side.

또한, 본 발명의 바람직한 실시예에 따르면 iSCSI 컨트롤 서버(2)는 iSCSI 게이트웨이(1)의 제어 및 모니터링을 수행한다. 구체적으로, iSCSI 컨트롤 서버(2)는 분산 파일 시스템의 저장공간을 이용하여 iSCSI 볼륨을 구성하고 다수의 iSCSI 게이트웨이(1)를 제어하는 블록이다. iSCSI 컨트롤 서버(2)는 iSCSI 게게이트웨이(1-1)에서 제공받은 인터페이스를 통해 iSCSI 타겟 관리 제어, 네트워크 포털 관리 제어, 타겟 포털 그룹 관리 제어, LUN 매핑 제어, iSCSI 인증 관리 제어를 수행할 수 있다.
Also, according to a preferred embodiment of the present invention, the iSCSI control server 2 performs control and monitoring of the iSCSI gateway 1. Specifically, the iSCSI control server 2 is a block that configures an iSCSI volume using the storage space of the distributed file system and controls a plurality of iSCSI gateways 1. [ The iSCSI control server 2 can perform iSCSI target management control, network portal management control, target portal group management control, LUN mapping control, and iSCSI authentication management control through the interface provided by the iSCSI gateway 1-1 .

블록 IO를 지원하기위한 iSCSI 볼륨 형성 절차ISCSI volume formation procedure to support block IO

먼저, 블록 IO를 지원하기위한 iSCSI 볼륨 형성 절차를 도 2를 참고로 이하에서 상세하게 설명한다. First, an iSCSI volume formation procedure for supporting a block IO will be described in detail below with reference to FIG.

먼저, iSCSI 관리 서버(2)는 메타데이터 서버(M)에게 iSCSI 볼륨 생성을 요청한다.(iSCSI 볼륨 이름/크기) First, the iSCSI management server 2 requests the metadata server M to create an iSCSI volume. (ISCSI volume name / size)

다음으로, 메타데이터 서버(M)는 생성할 iSCSI 볼륨의 ID를 배정하고 네트워크상에 분산되어 있는 데이터 서버(D)에 저장될 청크(Chunk)를 크기만큼 배정(Chunk ID, Chunk 위치, 존재여부)한다. Next, the metadata server M allocates the ID of the iSCSI volume to be created and assigns a chunk to be stored in the data server D distributed on the network to the size (Chunk ID, Chunk position, )do.

다음으로, 메타데이터 서버(M)는 iSCSI 볼륨 ID 정보를 iSCSI 관리 서버(2)에 반환하면, 반환된 iSCSI 볼륨 ID 정보는 해당 iSCSI 볼륨과 연관된 Block 레이아웃 매니저(1-3)에게 전달됨으로서 블록 IO를 지원하기위한 iSCSI 볼륨 형성 절차는 완료된다.
Next, when the metadata server M returns the iSCSI volume ID information to the iSCSI management server 2, the returned iSCSI volume ID information is transmitted to the block layout manager 1-3 associated with the iSCSI volume, The iSCSI volume creation procedure to support < RTI ID = 0.0 >

블록 IO : 데이터 데이터 읽기 처리과정 Block IO: Data Data Read Process

다음으로, 블록 IO에서 데이터 읽기를 처리하는 절차를 도 3을 참고로 이하에서 설명한다.Next, a procedure for processing data reading in the block IO will be described below with reference to Fig.

먼저, 어플리케이션 서버(0)는 iSCSI 표준 방식으로 iSCSI 게이트웨이(1)에 SCSI 블록 데이터 읽기를 요청한다. First, the application server 0 requests the iSCSI gateway 1 to read SCSI block data in the iSCSI standard system.

그러면, SCSI 타겟 코어(1-1)는 iSCSI PDU를 분석한 후 분해하여 SCSI 미들웨어(1-2)에게 SCSI CDB를 전달한다.Then, the SCSI target core 1-1 analyzes the iSCSI PDU, decomposes it, and transmits the SCSI CDB to the SCSI middleware 1-2.

이어서, SCSI 미들웨어(1-2)는 SCSI 명령을 분석하여 데이터 읽기(Read)할 블록의 LBA(Logical Block Address) 및 읽을 데이터의 크기 정보를 블록 레이아웃 매니저(1-3)에 전달한다. Then, the SCSI middleware 1-2 analyzes the SCSI command and transfers the logical block address (LBA) of the block to be read and the size information of the data to be read to the block layout manager 1-3.

이어서, 블록 레이아웃 매니저(1-3)는 LBA 주소을 이용하여 해당 iSCSI 볼륨을 구성하는 청크 ID 및 오프셋(Offset)을 산출하고 읽을 데이터의 크기를 메타데이터 서버(M)에 전달한다.Then, the block layout manager 1-3 calculates the chunk ID and offset constituting the iSCSI volume using the LBA address, and transmits the size of the data to be read to the metadata server M. [

이어서, 메타데이터 서버(M)에게 전달된 청크 ID, 오프셋, 읽을 데이터의 크기 정보를 기반으로 네트워크에 분산된 데이터 서버(D)영역의 관련된 모든 청크 파일 위치 리스트를 ID 순서대로 정렬하여 블록 레이아웃 매니저(1-3)에게 전달한다.Then, based on the chunk ID, the offset, and the size information of the data to be read, which are transmitted to the metadata server M, all the related chunk file location lists of the data server (D) (1-3).

이어서, 블록 레이아웃 매니저(1-3)는 청크 파일 위치 리스트를 기반으로 첫번째 청크 파일의 오프셋부터 마지막 청크 파일까지 읽을 데이터의 크기만큼 데이터를 데이터 읽기하여 블록 레이아웃 매니저(1-3)에 위치한 버퍼에 데이터를 기록한다.Then, the block layout manager 1-3 reads the data from the offset of the first chunk file to the last chunk file based on the chunk file location list and reads the data by the size of the data to be stored in the buffer located in the block layout manager 1-3 Record the data.

이어서, 블록 레이아웃 매니저(1-3)는 버퍼의 메모리상의 위치를 SCSI 미들웨어(1-2)에 전달하고, SCSI 미들웨어(1-2)는 해당 버퍼 내용을 포함하는 SCSI CDB를 생성한다.Then, the block layout manager 1-3 transfers the location of the buffer on the memory to the SCSI middleware 1-2, and the SCSI middleware 1-2 generates the SCSI CDB containing the contents of the buffer.

이어서, 생성된 SCSI CDB는 SCSI 타겟 코어(1-1)에게 전달되고, SCSI 타겟 코어(1-1)는 SCSI CDB를 포함하는 iSCSI PDU를 생성한 후, 생성된 iSCSI PDU를 iSCSI 표준 방식으로 어플리케이션 서버(0)에 전달한다.
Then, the generated SCSI CDB is delivered to the SCSI target core 1-1. The SCSI target core 1-1 generates an iSCSI PDU including the SCSI CDB, and then transmits the generated iSCSI PDU to the application target To the server (0).

블록 IO : 데이터 데이터 쓰기(Write) 처리과정 Block IO: Data data write process

다음으로, 블록 IO에서 데이터 데이터 쓰기(Data Write)를 처리하는 절차를 도 4를 참고로 이하에서 설명한다.Next, a procedure of processing data data write (Data Write) in the block IO will be described below with reference to FIG.

먼저, 어플리케이션 서버(0)는 iSCSI 표준 방식으로 iSCSI 게이트웨이(1)에 SCSI 블록 데이터 쓰기를 요청한다. First, the application server 0 requests the iSCSI gateway 1 to write SCSI block data in the iSCSI standard manner.

그러면, SCSI 타겟 코어(1-1)는 iSCSI PDU를 분석한 후 분해하여 SCSI 미들웨어(1-2)에게 SCSI CDB를 전달한다.Then, the SCSI target core 1-1 analyzes the iSCSI PDU, decomposes it, and transmits the SCSI CDB to the SCSI middleware 1-2.

이어서, SCSI 미들웨어(1-2)는 SCSI 명령을 분석하여 데이터 쓰기할 Block의 LBA(Logical Block Address) 및 데이터 쓰기의 크기 정보를 블록 레이아웃 매니저(1-3)에 전달한다. Then, the SCSI middleware 1-2 analyzes the SCSI command and transfers the logical block address (LBA) of the block to be written with data and the size information of the data writing to the block layout manager 1-3.

이어서, 블록 레이아웃 매니저(1-3)는 LBA 주소을 이용하여 해당 iSCSI 볼륨을 구성하는 청크 ID 및 오프셋을 산출하고 데이터 쓰기의 크기를 메타데이터 서버(M)에 전달한다.Then, the block layout manager 1-3 calculates the chunk ID and offset constituting the corresponding iSCSI volume by using the LBA address, and transfers the size of the data write to the metadata server M. [

이어서, 메타데이터 서버(M)에 전달된 청크 ID, 오프셋, 데이터 쓰기의 크기 정보를 기반으로 네트워크에 분산된 데이터 서버(D)영역의 관련된 모든 청크 파일의 존재 여부를 파악하고, 청크 파일이 없는 경우 배정된 위치에 청크를 생성한 뒤, 해당 청크 위치 리스트를 ID 순서대로 정렬하여 블록 레이아웃 매니저(1-3)에게 전달한다.Then, based on the chunk ID, offset, and size of data write information transmitted to the metadata server M, it is determined whether all relevant chunk files in the data server (D) area distributed on the network exist. If there is no chunk file A chunk is generated at the assigned position, and the chunk position list is sorted in the ID order and transmitted to the block layout manager 1-3.

이어서, 블록 레이아웃 매니저(1-3)는 청크 파일 위치 리스트를 기반으로 첫번째 청크 파일의 오프셋부터 마지막 청크 파일까지 데이터 쓰기의 크기만큼 블록 레이아웃 매니저(1-3)에 위치한 버퍼에 데이터를 기록한다.Then, the block layout manager 1-3 writes data to the buffer located in the block layout manager 1-3 by the amount of data writing from the offset of the first chunk file to the last chunk file based on the chunk file location list.

이어서, 블록 레이아웃 매니저(1-3)는 데이터 쓰기(write)가 완료된 정보를 SCSI 미들웨어(1-2)에 전달하고, SCSI 미들웨어(1-2)는 데이터 쓰기(write)가 완료된 정보를 포함하는 SCSI CDB를 생성한다.Subsequently, the block layout manager 1-3 transmits the information to which the data writing has been completed to the SCSI middleware 1-2, and the SCSI middleware 1-2 includes the information that the data writing has been completed Create a SCSI CDB.

이어서, 생성된 SCSI CDB는 SCSI 타겟 코어(1-1)에게 전달되고, SCSI 타겟 코어(1-1)는 SCSI CDB를 포함하는 iSCSI PDU를 생성한 후, 생성된 iSCSI PDU를 iSCSI 표준 방식으로 어플리케이션 서버(0)에 전달한다.
Then, the generated SCSI CDB is delivered to the SCSI target core 1-1. The SCSI target core 1-1 generates an iSCSI PDU including the SCSI CDB, and then transmits the generated iSCSI PDU to the application target To the server (0).

이상으로 본 발명의 바람직한 실시예에 따른 iSCSI 스토리지 시스템 및 이를 이용한 네트워크 분산 파일 시스템을 첨부한 도면을 참고로 상세하게 설명하였다. 하지만, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자는 상기 구성에 대한 다양한 수정 및 변형이 가능하다는 것을 이해할 것이다. 따라서, 본 발명의 범위는 오직 뒤에서 설명할 특허청구범위에 의해서만 한정된다.
As described above, the iSCSI storage system and the network distributed file system using the same according to the preferred embodiment of the present invention have been described in detail with reference to the accompanying drawings. However, it will be understood by those skilled in the art that various modifications and variations can be made in the present invention. Accordingly, the scope of the present invention is limited only by the claims that follow.

Claims (9)

메타데이터 서버(M), 데이터 서버(D) 및 어플리케이션 서버(0)를 포함하여 구동되는 네트워크 분산 파일 시스템으로서,
상기 분산 파일 시스템은 상기 메타데이터 서버(M) 및 데이터 서버(D)를 블록 입출력 저장공간으로 활용하여 SCSI(Small Computers System Interface) 명령을 iSCSI(internet Small Computers System Interface) 인터페이스 기반으로 처리하기 위하여 복수의 iSCSI 게이트웨이(Gateway) 및 iSCSI 컨트롤 서버(Control Server)를 포함하는 확장형 iSCSI 스토리지 시스템을 더 포함하며,
상기 iSCSI 게이트웨이는 네트워크 기반의 스토리지 외부에서 요청하는 블록 데이터 입출력의 표준 인터페이스로 기능하는 SCSI 타겟 코어(Target Core)와, 분산 파일 시스템에 iSCSI 인터페이스를 지원하기 위한 SCSI 미들웨어와, 다수의 물리적 디스크 공간에 분산된 데이터 블록 정보를 관리하는 블록 레이아웃 매니저(Block Layout Manager)를 포함하는 것을 특징으로 하는 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템.
A network distributed file system driven by including a metadata server (M), a data server (D), and an application server (0)
The distributed file system includes a plurality of (i. E., SCSI) interfaces for processing SCSI (Small Computers System Interface) commands on an iSCSI (Internet Small Computer System Interface) interface by utilizing the metadata server M and the data server D as block input / Gt; iSCSI < / RTI > gateway (Gateway) and an iSCSI control server (Control Server)
The iSCSI gateway includes a SCSI target core serving as a standard interface for block data input / output requested outside the network-based storage, SCSI middleware for supporting the iSCSI interface in the distributed file system, And a block layout manager (Block Layout Manager) for managing distributed data block information.
청구항 1에 있어서, 상기 iSCSI 컨트롤 서버는 분산 파일 시스템의 저장공간을 이용하여 iSCSI 볼륨을 구성하고 다수의 iSCSI 게이트웨이를 제어하는 기능을 포함하는 것을 특징으로 하는 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템.The network distributed file system using an iSCSI storage system according to claim 1, wherein the iSCSI control server includes a function of configuring an iSCSI volume using a storage space of a distributed file system and controlling a plurality of iSCSI gateways. 청구항 1에 있어서, 상기 SCSI 타겟 코어는 iSCSI 타겟 관리, 네트워크 포털 관리, 타겟 포털 그룹 관리, LUN 매핑(Mapping), CHAP(Challenge Handshake Authentication Protocol) 기반 iSCSI 인증 관리, 다중 연결 방식 iSCSI 세션(Session) 관리, iSCSI PDU(Protocol Data Unit) 및 커맨드(Command) 처리 중 적어도 하나의 기능을 갖는 것을 특징으로 하는 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템.2. The method of claim 1, wherein the SCSI target core comprises at least one of an iSCSI target management, a network portal management, a target portal group management, a LUN mapping, a Challenge Handshake Authentication Protocol (CHAP) based iSCSI authentication management, , an iSCSI protocol data unit (PDU), and a command (Command) process. The network distributed file system using the iSCSI storage system. 청구항 1에 있어서, 상기 SCSI 미들웨어는 SCSI CDB(Command Descriptor Block)를 처리하기 위한 SCSI CDB 모듈이고, CDB를 디코딩하여 해당 SCSI 명령어의 표준에 따라 해당 명령을 구분하여 처리하고, 블록 레이아웃 매니저와 연동하여, 데이터 입력 또는 출력하도록 명령하는 기능을 갖는 것을 특징으로 하는 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템.The SCSI middleware according to claim 1, wherein the SCSI middleware is a SCSI CDB module for processing a SCSI CDB (Command Descriptor Block). The SCSI middleware decodes the CDB, identifies and processes the command according to the standard of the SCSI command, , And a function of commanding data input or output. The network distributed file system using the iSCSI storage system. 청구항 1에 있어서, 상기 블록 레이아웃 매니저는 iSCSI 볼륨을 구성하고 있는 파일 조각(Chunk)의 위치, 저장단위, 개수를 관리하고, 상기 파일 조각의 위치, 저장단위, 개수 정보와 SCSI CDB 처리 모듈에서 전달받은 블록 입출력의 파라미터인 블록 주소 및 입출력 사이즈 정보를 매핑하여 블록 데이터 입출력을 수행하는 기능을 갖는 것을 특징으로 하는 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템.The method as claimed in claim 1, wherein the block layout manager manages a location, a storage unit, and a number of file chunks constituting an iSCSI volume, and transmits the location, the storage unit, and the number information of the file fragment to the SCSI CDB processing module And a function of performing block data input / output by mapping block address and input / output size information which are parameters of received block input / output. 청구항 1에 있어서, 상기 메타데이터 서버에서 관리하는 파일에 대한 메타 정보는 파일 이름, 디렉토리 구조, 파일을 구성하고 있는 데이터 조각 목록 및 데이터 서버상의 위치 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템.The method as claimed in claim 1, wherein the meta information about the file managed by the meta data server includes at least one of a file name, a directory structure, a list of data pieces constituting a file, and location information on a data server. Network distributed file system using system. 청구항 1 내지 청구항 6 중 어느 한 항에 따른 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템을 이용하여 구동되는 네트워크 분산 파일 방법으로서:
상기 iSCSI 컨트롤 서버는 메타데이터 서버에게 iSCSI 볼륨 생성을 요청하는 단계;
상기 메타데이터 서버는 생성할 iSCSI 볼륨의 ID를 배정하고 네트워크상에 분산되어 있는 데이터 서버에 저장될 청크를 크기만큼 배정하는 단계; 및
상기 메타데이터 서버는 iSCSI 볼륨 ID 정보를 iSCSI 관리 서버에 반환하면, 반환된 iSCSI 볼륨 ID 정보는 해당 iSCSI 볼륨과 연관된 블록 레이아웃 매니저에게 전달하는 단계를 포함하는 것을 특징으로 하는 네트워크 분산 파일 방법.
A network distributed file method driven using a network distributed file system using an iSCSI storage system according to any one of claims 1 to 6,
The iSCSI control server requesting a metadata server to generate an iSCSI volume;
Assigning an ID of an iSCSI volume to be created to the metadata server and allocating a chunk to be stored in a data server distributed on the network to a size of the chunk; And
When the metadata server returns iSCSI volume ID information to the iSCSI management server, transmitting the returned iSCSI volume ID information to a block layout manager associated with the iSCSI volume.
청구항 7에 있어서, 상기 네트워크 분산 파일 방법은:
상기 어플리케이션 서버로부터 iSCSI 표준 방식으로 iSCSI 게이트웨이에 SCSI 블록 데이터 읽기를 요청받으면, 상기 SCSI 타겟 코어는 iSCSI PDU를 분석한 후 분해하여 SCSI 미들웨어에게 SCSI CDB를 전달하는 단계;
상기 SCSI 미들웨어는 SCSI 명령을 분석하여 데이터 읽기할 블록의 LBA(Logical Block Address) 및 읽을 데이터의 크기 정보를 블록 레이아웃 매니저에 전달하는 단계;
상기 블록 레이아웃 매니저는 LBA 주소을 이용하여 해당 iSCSI 볼륨을 구성하는 청크 ID 및 오프셋(Offset)을 산출하고 읽을 데이터의 크기를 메타데이터 서버에 전달하고, 상기 메타데이터 서버에게 전달된 청크 ID, 오프셋, 읽을 데이터의 크기 정보를 기반으로 네트워크에 분산된 데이터 서버 영역의 관련된 모든 청크 파일 위치 리스트를 ID 순서대로 정렬하여 블록 레이아웃 매니저에 전달하는 단계;
상기 블록 레이아웃 매니저는 청크 파일 위치 리스트를 기반으로 첫번째 청크 파일의 오프셋부터 마지막 청크 파일까지 읽은 데이터의 크기만큼 데이터를 데이터를 읽어 블록 레이아웃 매니저에 위치한 버퍼에 데이터를 기록하는 단계;
상기 블록 레이아웃 매니저는 버퍼의 메모리상의 위치를 SCSI 미들웨어에 전달하고, SCSI 미들웨어는 해당 버퍼 내용을 포함하는 SCSI CDB를 생성하여 SCSI 타겟 코어에게 전달하는 단계; 및
상기 SCSI 타겟 코어는 SCSI CDB를 포함하는 iSCSI PDU를 생성한 후, 생성된 iSCSI PDU를 iSCSI 표준 방식으로 어플리케이션 서버에 전달하는 단계를 더 포함하는 것을 특징으로 하는 네트워크 분산 파일 방법.
The method of claim 7, wherein the network distributed file method comprises:
Receiving a request to read SCSI block data from the application server in the iSCSI gateway in an iSCSI standard manner, the SCSI target core analyzes and decomposes the iSCSI PDU to deliver a SCSI CDB to the SCSI middleware;
The SCSI middleware analyzing the SCSI command and transferring the logical block address (LBA) of the block to be read and the size information of the data to be read to the block layout manager;
The block layout manager calculates a chunk ID and an offset constituting the corresponding iSCSI volume using the LBA address, transfers the size of the data to be read to the metadata server, and stores the chunk ID, offset, Arranging a list of all related chunk file locations of a data server area distributed in a network on the basis of size information of the data in the order of IDs and transmitting the sorted list to the block layout manager;
The block layout manager reading data from the offset of the first chunk file to the last chunk file based on the chunk file location list and writing the data in the buffer located in the block layout manager;
The block layout manager transfers the location on the buffer of the buffer to the SCSI middleware, the SCSI middleware generates a SCSI CDB including the contents of the buffer, and transmits the SCSI CDB to the SCSI target core; And
Wherein the SCSI target core further comprises generating an iSCSI PDU including a SCSI CDB and then transmitting the generated iSCSI PDU to an application server in an iSCSI standard manner.
청구항 7에 있어서, 상기 네트워크 분산 파일 방법은:
상기 블록 레이아웃 매니저는 청크 파일 위치 리스트를 기반으로 첫번째 청크 파일의 오프셋부터 마지막 청크 파일까지 데이터 쓰기할 크기만큼 블록 레이아웃 매니저(1-3)에 위치한 버퍼에 데이터를 기록하는 단계;
상기 블록 레이아웃 매니저는 데이터 쓰기(write)가 완료된 정보를 SCSI 미들웨어(1-2)에 전달하고, SCSI 미들웨어(1-2)는 데이터 쓰기(write)가 완료된 정보를 포함하는 SCSI CDB를 생성하는 단계를 더 포함하는 것을 특징으로 하는 네트워크 분산 파일 방법.
The method of claim 7, wherein the network distributed file method comprises:
The block layout manager recording data in a buffer located in the block layout manager 1-3 by an amount of data to be written from the offset of the first chunk file to the last chunk file based on the chunk file location list;
The block layout manager transfers the write completed information to the SCSI middleware 1-2 and the SCSI middleware 1-2 generates the SCSI CDB including the information that the data write has been completed Further comprising the steps of:
KR1020120149312A 2012-11-13 2012-12-20 Network distributed file system and method using iSCSI storage system KR101470857B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20120127957 2012-11-13
KR1020120127957 2012-11-13

Publications (2)

Publication Number Publication Date
KR20140061194A KR20140061194A (en) 2014-05-21
KR101470857B1 true KR101470857B1 (en) 2014-12-12

Family

ID=50731352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120149312A KR101470857B1 (en) 2012-11-13 2012-12-20 Network distributed file system and method using iSCSI storage system

Country Status (2)

Country Link
KR (1) KR101470857B1 (en)
WO (1) WO2014077451A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109660604B (en) * 2018-11-29 2023-04-07 上海碳蓝网络科技有限公司 Data access method and equipment
CN110324429A (en) * 2019-07-10 2019-10-11 中国工商银行股份有限公司 Backup method and back-up device based on Distributed Storage
KR102227189B1 (en) 2020-04-03 2021-03-15 주식회사엔클라우드 module mounted on the server to share block-level storage and resources

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308243A (en) * 2002-04-17 2003-10-31 Digion Inc Storage network system
KR100723879B1 (en) * 2005-12-08 2007-05-31 한국전자통신연구원 Hardware acceleration apparatus for iscsi target system using toe and method for handling read/write command using the apparatus
KR20080005009A (en) * 2006-07-07 2008-01-10 한국전자통신연구원 Data acceleration apparatus for iscsi and iscsi storage system using the same
KR20100069566A (en) * 2008-12-15 2010-06-24 엘에스아이 코포레이션 Scaling of small computer system interface input output (scsi i/o) referrals

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523341B2 (en) * 2004-05-13 2009-04-21 International Business Machines Corporation Methods, apparatus and computer programs for recovery from failures in a computing environment
US7506067B2 (en) * 2005-07-28 2009-03-17 International Business Machines Corporation Method and apparatus for implementing service requests from a common database in a multiple DHCP server environment
US8285878B2 (en) * 2007-10-09 2012-10-09 Cleversafe, Inc. Block based access to a dispersed data storage network
WO2009002514A2 (en) * 2007-06-25 2008-12-31 Equallogic, Inc. Storage area network with target side recognition and routing table upload

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308243A (en) * 2002-04-17 2003-10-31 Digion Inc Storage network system
KR100723879B1 (en) * 2005-12-08 2007-05-31 한국전자통신연구원 Hardware acceleration apparatus for iscsi target system using toe and method for handling read/write command using the apparatus
KR20080005009A (en) * 2006-07-07 2008-01-10 한국전자통신연구원 Data acceleration apparatus for iscsi and iscsi storage system using the same
KR20100069566A (en) * 2008-12-15 2010-06-24 엘에스아이 코포레이션 Scaling of small computer system interface input output (scsi i/o) referrals

Also Published As

Publication number Publication date
KR20140061194A (en) 2014-05-21
WO2014077451A1 (en) 2014-05-22

Similar Documents

Publication Publication Date Title
US10782880B2 (en) Apparatus and method for providing storage for providing cloud services
US11954002B1 (en) Automatically provisioning mediation services for a storage system
US10956601B2 (en) Fully managed account level blob data encryption in a distributed storage environment
US11451391B1 (en) Encryption key management in a storage system
US9692823B2 (en) Inter-protocol copy offload
US7275050B2 (en) Storage system, a method of file data backup and method of copying of file data
US8793373B2 (en) Network system and method for operating the same
US11296944B2 (en) Updating path selection as paths between a computing device and a storage system change
US11675499B2 (en) Synchronous discovery logs in a fabric storage system
CN104603739A (en) Block-level access to parallel storage
US10620841B2 (en) Transfer of object memory references in a data storage device
WO2011120791A1 (en) Transmission of map-reduce data based on a storage network or a storage network file system
CN1766851A (en) Systems and methods for data storage management
WO2014183708A1 (en) Method and system for realizing block storage of distributed file system
TW200422855A (en) A distributed storage system for data-sharing among client computers running different operating system types
JP2012525634A (en) Data distribution by leveling in a striped file system
CN104050248A (en) File storage system and storage method
US11416176B2 (en) Function processing using storage controllers for load sharing
KR101470857B1 (en) Network distributed file system and method using iSCSI storage system
KR101531564B1 (en) Method and System for load balancing of iSCSI storage system used network distributed file system and method
US20130166670A1 (en) Networked storage system and method including private data network
US11625192B2 (en) Peer storage compute sharing using memory buffer
JP2013003691A (en) Computing system and disk sharing method in computing system
KR101589122B1 (en) Method and System for recovery of iSCSI storage system used network distributed file system
KR20140060959A (en) System and method for load balancing of network distributed file system using iscsi storage system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee