KR20140060959A - iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 부하 분산 방법 및 시스템 - Google Patents

iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 부하 분산 방법 및 시스템 Download PDF

Info

Publication number
KR20140060959A
KR20140060959A KR1020120127953A KR20120127953A KR20140060959A KR 20140060959 A KR20140060959 A KR 20140060959A KR 1020120127953 A KR1020120127953 A KR 1020120127953A KR 20120127953 A KR20120127953 A KR 20120127953A KR 20140060959 A KR20140060959 A KR 20140060959A
Authority
KR
South Korea
Prior art keywords
iscsi
block
data
chunk
server
Prior art date
Application number
KR1020120127953A
Other languages
English (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 주식회사 유투앤
Priority to KR1020120127953A priority Critical patent/KR20140060959A/ko
Publication of KR20140060959A publication Critical patent/KR20140060959A/ko

Links

Images

Classifications

    • 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/18File system types
    • G06F16/182Distributed file systems
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

iSCSI 스토리지 시스템을 이용한 비대칭 클러스터 분산 파일 시스템에서 부하를 효과적으로 분산할 수 있는 시스템 및 방법이 제공된다.
본 발명에 따른 시스템은 메타데이터 서버(M), 데이터 서버(D) 및 복수의 iSCSI Gateway를 포함하는 확장형 iSCSI 스토리지 시스템이 장착된 네트워크 분산 파일 시스템으로서, 상기 메타데이터 서버(M)는 iSCSI Block Read에 관련된 Chunk 리스트 생성 시 해당 Chunk 들의 Read 사용횟수 정보를 갱신하고 해당 Chunk들에 대한 Chunk Index를 갱신한 후 상기 데이터를 Block Layout Manager에게 전달하거나, iSCSI Block Write에 관련된 Chunk 리스트 생성 시 해당 Chunk 들의 Write 사용횟수 정보를 갱신하고, 해당 Chunk들에 대한 Chunk Index를 갱신한 후 상기 데이터를 Block Layout Manager에게 전달하는 기능을 수행하는 것을 특징으로 한다.

Description

iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 부하 분산 방법 및 시스템 {System and method for load balancing of network distributed file system using iSCSI storage system}
본 발명은 iSCSI 스토리지 시스템을 이용한 비대칭 클러스터 분산 파일 시스템에서 부하를 효과적으로 분산할 수 있는 시스템 및 방법에 관한 것이다.
최근 인터넷 기술의 비약적인 발전에 따라 사진, 동영상과 같은 멀티미디어 데이터의 전송이 비약적으로 증가하고 있으며, 따라서 인터넷을 이용한 멀티미디어 데이터 전송 서비스를 제공하는 업체의 경우 매우 큰 용량의 데이터가 새롭게 생성되고 있다. 따라서, 많은 용량의 데이터를 효과적으로 분산하여 관리할 수 있는 시스템의 도입이 시급한 실정이다.
최근, 스토리지 시스템 또는 파일 시스템에 대한 기술 발전은 스토리지 시스템의 확장성 및 성능을 크게 향상시키고 있다. 파일 시스템 구조 측면에서 살펴보면, 몇몇 시스템들이 파일의 데이터 입출력 경로와 파일의 메타데이터 관리 경로를 분리시킨, 소위 비대칭 클러스터 파일 시스템을 구축하여 분산 스토리지 시스템의 확장성과 성능을 높이기 위한 노력을 하고 있다.
이러한 구조는 클라이언트 시스템이 저장 장치들을 직접 접근할 수 있게 해주며, 또한, 파일의 빈번한 접근으로 인해 발생하는 병목 지점을 회피하여 스토리지의 확장성을 높일 수 있다.
IBM의 StorageTank와 Panasas의 ActiveScale Storage Cluster, Cluster Filesystems의 Luster, Hadoop의 DFS, Google의 Google Filesystem 등의 엔터프라이즈급 스토리지 솔루션이 이러한 구조를 기반으로 개발되었다.
이러한 네트워크 기반 분산 파일 시스템 환경에서는 어플리케이션 서버, 메타데이터 서버, 데이터 서버들이 네트워크를 통해 교신하면서 데이터의 입출력을 제공한다. 또한, 어플리케이션 서버가 특정 파일에 접근하기 위해서는 먼저 메타데이터 서버로부터 파일의 실제 데이터가 저장된 블록의 위치 정보를 얻은 뒤에, 이 위치 정보를 이용하여 실제 데이터를 저장하고 있는 데이터 서버에 접근하여 해당 블록의 데이터를 얻는다.
그런데, iSCSI 스토리지 시스템을 이용한 비대칭 클러스터 분산 파일 시스템은 복수의 데이터 서버를 이용하는데, 복수의 데이터 서버 중 일부는 CPU, 메모리, HDD 및 네트워크 사용률이 높은 반면, 일부의 데이터 서버는 CPU, 메모리, HDD 및 네트워크 사용률이 낮을 수 있고, 따라서, 데이터 서버의 용량이 충분함에도 불구하고 데이터 서비스를 효율적으로 제공하지 못하게 된다는 문제점이 있다.
따라서, 본 발명은 iSCSI 스토리지 시스템을 이용한 비대칭 클러스터 분산 파일 시스템에 있어서 복수의 데이터 서버 각각의 CPU, 메모리, HDD 및 네트워크 사용률을 일정하게 컨트롤 함으로써 데이터 서버의 용량이 충분함에도 불구하고 데이터 서비스를 효율적으로 제공하지 못하게 되는 문제점을 해결하는 것을 목적으로 한다.
메타데이터 서버(M) 및 데이터 서버(D)을 포함하고, 네트워크 기반의 스토리지 외부에서 요청하는 블록 데이터 입출력의 표준 인터페이스로 기능하는 SCSI Target Core와, 분산 파일 시스템에 iSCSI 인터페이스를 지원하기 위한 SCSI CDB 처리 모듈과, 다수의 물리적 디스크 공간에 분산된 데이터 블록 정보를 관리하는 Block Layout Manager를 포함하여 상기 메타데이터 서버(M) 및 데이터 서버(D)를 블록 입출력 저장공간으로 활용하여 SCSI 명령을 iSCSI 인터페이스 기반으로 처리하기 위하여 복수의 iSCSI Gateway를 포함하는 확장형 iSCSI 스토리지 시스템이 장착된 네트워크 분산 파일 시스템으로서,
상기 메타데이터 서버(M)는 iSCSI Block Read에 관련된 Chunk 리스트 생성 시 해당 Chunk 들의 Read 사용횟수 정보를 갱신하고 해당 Chunk들에 대한 Chunk Index를 갱신한 후 상기 데이터를 Block Layout Manager에게 전달하거나, iSCSI Block Write에 관련된 Chunk 리스트 생성 시 해당 Chunk 들의 Write 사용횟수 정보를 갱신하고, 해당 Chunk들에 대한 Chunk Index를 갱신한 후 상기 데이터를 Block Layout Manager에게 전달하는 기능을 수행하는 것을 특징으로 한다.
본 발명은 iSCSI 스토리지 시스템을 이용한 비대칭 클러스터 분산 파일 시스템에 있어서 복수의 데이터 서버 각각의 CPU, 메모리, HDD 및 네트워크 사용률을 일정하게 컨트롤 함으로써 데이터 서비스를 효율적으로 제공할 수 있다.
도 1은 본 발명의 바람직한 실시예에 따른 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 개략적인 구성을 도시하는 도면이다.
도 2는 Block IO를 지원하기위한 iSCSI Volume 형성 절차를 개략적으로 도시하는 도면이다.
도 3은 Block IO에서 Data Read를 처리하는 절차를 개략적으로 도시하는 도면이다.
도 4는 Block IO에서 Data Write를 처리하는 절차를 개략적으로 도시하는 도면이다.
본 발명의 바람직한 실시예에 따른 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 바람직한 실시예를 첨부한 도면을 참고로 이하에서 설명한다.
본 실시예에 따른 네트워크 분산 파일 시스템은 논리적인 iSCSI Volume(LUN)을 생성하고 이를 iSCSI Target을 통해 iSCSI initiator로 제공하여 블록 IO를 처리하는 스토리지 시스템이다.
또한, 본 발명의 바람직한 실시예에 따르면 스토리지 용량의 확장은 분산 파일 시스템의 노드를 증설하는 형태로 제공된다.
또한, 본 발명의 바람직한 실시예에 따르면 전체 입출력 대역폭의 확장은 게이트웨이 형식의 iSCSI Target를 증설하는 형태로 제공된다.
또한, 본 발명의 바람직한 실시예에 따르면 스토리지 가용성 확보는 2개 이상의 iSCSI 게이트웨이를 이용하며, 하나의 iSCSI 게이트웨이의 이상 발생시 타 iSCSI 게이트웨이에 자동으로 Fail-Over 하는 형태로 제공된다.
또한, 본 발명의 바람직한 실시예에 따르면 가상화된 블록 서비스용 볼륨은 네트워크 분산 파일 시스템에 의해 복수의 노드의 저장 장치에 균등한 저장장치로 분산 저장되어 있다고 가정한다.
또한, 본 발명의 바람직한 실시예에 따르면 CHUNK를 실시간으로 감시하여 순위기 높은 CHUNK를 노드상에서 재분배하는 방법을 제공한다.
도 1은 본 발명의 바람직한 실시예에 따른 iSCSI 스토리지 시스템 및 상기 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 개략적인 구성을 도시하는 도면이다.
도 1에서 보듯이, 본 발명의 바람직한 실시예에 따른 네트워크 분산 파일 시스템은 물리적으로 분리된 대규모의 스토리지 자원을 단일 스토리지 볼륨으로 가상화하는 메타데이터 서버(M), 데이터 서버(D) 및 어플리케이션 서버(0)를 포함한다. 구체적으로, 메타데이터 서버(M)는 분산 파일 시스템에서 컨트롤 패스(Path) 기능을 수행한다. 또한, 메타데이터 서버(M)는 파일에서 메타정보 (파일 속성, 경로, (D)상에서 데이터 조각의 경로 리스트, 복제 여부 등)을 관리한다. 또한, 데이터 서버(D)는 분산 파일 시스템에서 데이터 패스(Path)의 기능을 수행한다. 즉, 메타데이터 서버(M)에 의해서 파일을 데이터 조각으로 분리하면, 실질적으로 분리된 데이터 조각을 분산 저장하는 기능과 분리된 데이터 조각을 분산 전달하는 기능을 수행한다.
또한, 본 발명의 바람직한 실시예에따른 분산 파일 시스템은 상기 메타데이터 서버(M) 및 데이터 서버(D)를 블록 입출력 저장공간으로 활용하여 SCSI 명령을 iSCSI 인터페이스 기반으로 처리하는 시스템이다. 또한, 본 발명의 바람직한 실시예에 따르면 어플리케이션 서버(0)에는 iSCSI Initiator가 형성된다.
또한, 본 발명의 바람직한 실시예에 따른 네트워크 분산 파일 시스템은 확장형 iSCSI 스토리지 시스템을 더 포함하는데, 확장형 iSCSI 스토리지 시스템은 iSCSI Control Server(2)와 복수의 iSCSI Gateway(1)를 포함한다. 또한, 복수의 iSCSI Gateway(1)는 각각 iSCSI Target Core(1-1), SCSI Middleware(1-2) 및 Block Layout Manager SET(1-3)을 포함한다.
또한, 메타데이터 서버(M), 데이터 서버(D) 및 어플리케이션 서버(3)와 확장형 iSCSI 스토리지 시스템을 구성하는 iSCSI Control Server(2)와 복수의 iSCSI Gateway(1)는 이더넷(Ethernet)으로 연결되어, 다수의 기존 iSCSI Initiator(3)에게 블록 입출력 서비스를 확장성 있게 제공하도록 구성된다.
또한, 본 발명의 바람직한 실시예에 따르면 확장형 iSCSI 스토리지 시스템의 기반 저장소로 이용되는 메타데이터 서버(M), 데이터 서버(D)는 iSCSI Gateway(1) 별로 분산 데이터 처리를 지원하고 블록 기반 스토리지 용량의 확장성을 제공하는 것이 바람직하다. 또한, iSCSI Gateway(1)는 블록 데이터 입출력 서비스를 이용하는 다수의 iSCSI Initiator의 성능 요구사항을 충족하기 위해 복수로 구성되는 것이 바람직하다.
한편, 본 발명의 바람직한 실시예에 따른 iSCSI Gateway(1)는 각각 iSCSI Target Core(1-1), SCSI 미들웨어(SCSI Middleware)(1-2) 및 블록 레이아웃 메니저 세트(Block Layout Manager SET; 1-3)로 구성되는데, 구체적으로 다음과 같은 기능을 수행한다.
먼저, iSCSI Target Core(1-1)는 이더넷 네트워크 기반의 스토리지 외부에서 요청하는 블록 데이터 입출력의 표준 인터페이스로 기능한다. 구체적으로, iSCSI Target Core(1-1)는 iSCSI Target 관리, 네트워크 포털 관리, Target 포털 그룹 관리, LUN Mapping, CHAP 기반 iSCSI 인증 관리, 다중 연결 방식 iSCSI Session 관리, iSCSI PDU 및 Command 처리 기능을 갖는다. 한편, UCS-FS상의 iSCSI Volume(LUN)과 Target 과의 매핑은 iSCSI Volume Manager의 iSCSI Target Core 제어를 통해 이루어진다.
한편, iSCSI 인터페이스의 기능은 SCSI 명령어와 파라미터를 캡슐화 형태로 기술된 CDB를 이더넷(Ethernet) 기반의 TCP/IP 형태로 교환하기 위해서, CDB를 캡슐화하여 PDU를 생성하고, 요청 및 응답에 따른 약속된 절차에 따라 전달하는 역할만 제공하고 있다. 따라서 File 기반 솔루션인 분산 파일 시스템에 iSCSI 인터페이스를 지원하기 위해서는 SCSI CDB를 처리하는 모듈이 필수적이다. SCSI Middleware(1-2)는 이러한 목적에 따라 구성된 모듈으로서 CDB를 디코딩(Decoding) 하여 해당 SCSI 명령어의 표준에 따라 해당 명령을 구분하여 처리한다. SCSI 명령은 크게 데이터 입출력 명령과 비입출력 명령으로 구분할 수 있으며, 상기 구분에 따라서 Block Layout Manager와의 연동이 결정된다. 또한, 데이터 입출력 명령은 Block Layout Manager와의 연동이 필수적이다. 또한, SCSI 명령의 처리가 완료되면 처리된 결과를 다시 CDB형태로 캡슐화하여 iSCSI Target Core로 전달한다.
또한, Block Layout Manager(1-3)는 다수의 물리적 디스크 공간에 분산된 데이터 블록 정보를 관리하는 블록이다. 분산 파일 시스템 상의 저장공간은 데이터 서버 형태로 물리적으로 분할되어 데이터 조각(Chuck 단위)으로 저장된다. 데이터 조각의 Set은 분산 파일 시스템 상에서 하나의 “파일”과 매핑이 된다. 분산 파일 시스템의 메타데이터 서버에서 관리하는 파일에 대한 메타정보는 파일 이름, 디렉토리 구조, 파일을 구성하고 있는 데이터 조각 목록 및 데이터 서버상의 위치정보를 포함한다. 확장형 iSCSI 스토리지 시스템의 iSCSI 볼륨(LUN)은 분산 파일 시스템의 저장공간에 지정된 임의의 파일 하나를 대응된다. 따라서 해당 파일과 iSCSI Target을 연결(LUN Mapping)하기 위해서는 iSCSI Gateway별로 자신이 서비스하는 iSCSI Target과 연결된 iSCSI 볼륨의 메타정보를 관리하는 Block Layout Manager가 필수적이다. Block Layout Manager는 iSCSI 볼륨을 구성하고 있는 파일 조각(Chunk)의 위치, 저장단위, 개수를 필요에 따라 분산 파일 시스템의 메타데이터 서버를 통해 제공받아 내부 저장소에서 관리한다. 상기 정보와 SCSI Middleware측에서 전달받은 블록 입출력의 파라미터인 블록 주소 및 입출력 사이즈 정보를 매핑하여 블록 데이터 입출력을 수행하는 역할을 담당한다.
또한, 본 발명의 바람직한 실시예에 따르면 iSCSI Control Server(2)는 iSCSI Gateway(1)의 제어 및 모니터링을 수행한다. 구체적으로, iSCSI Control Server(2)는 분산 파일 시스템의 저장공간을 이용하여 iSCSI 볼륨을 구성하고 다수의 iSCSI Gateway(1-1)를 제어하는 블록이다. iSCSI Control Server(2)는 iSCSI Gateway(1-1)에서 제공받은 인터페이스를 통해 iSCSI Target 관리 제어, 네트워크 포털 관리 제어, Target 포털 그룹 관리 제어, LUN Mapping 제어, iSCSI 인증 관리 제어를 수행할 수 있다.
또한, 본 발명의 바람직한 실시예에 따르면 메타데이터 서버(M)는 iSCSI Block Read에 관련한 Chunk 리스트 생성시 해당 Chunk들의 Read 사용횟수 정보를 갱신한다. 또한, 메타데이터 서버(M)는 iSCSI Block Write에 관련한 Chunk 리스트 생성시 해당 Chunk들의 Write사용횟수 정보를 갱신한다.
또한, 본 발명의 바람직한 실시예에 따르면 메타데이터 서버(M)가 관리하는 각 Chunk의 Read / Write 사용횟수는 사용자가 설정(정의)하는 재평가 주기 시간이 지나면, 사용자가 설정하는 재평가값에 따라 줄어들 수 있다.
또하느 본 발명의 바람직한 실시예에 따르면 메타데이터 서버(M)는 사용자가 지정한 재평가 주기 시간내 또는 특정 시간에 Chunk의 Read / Write 사용횟수를 기반으로 (D)에 분산저장된 Chunk의 위치를 재조정하는 것이 바람직하다.
Block IO를 지원하기위한 iSCSI Volume 형성 절차
먼저, Block IO를 지원하기위한 iSCSI Volume 형성 절차를 도 2를 참고로 이하에서 상세하게 설명한다.
먼저, iSCSI 관리 서버(2)는 메타데이터 서버(M)에게 iSCSI Volume 생성을 요청한다.(iSCSI Volume Name / Size)
다음으로, 메타데이터 서버(M)는 생성할 iSCSI Volume의 ID를 배정하고 네트워크상에 분산되어 있는 데이터 서버(D)에 저장될 청크(Chunk)를 Size 만큼 배정(Chunk ID, Chunk 위치, 존재여부)한다.
다음으로, 메타데이터 서버(M)는 iSCSI Volume ID 정보를 iSCSI 관리 서버(2)에 반환하면, 반환된 iSCSI Volume ID 정보는 해당 iSCSI Volume과 연관된 Block Layout Manager(1-3)에게 전달됨으로서 Block IO를 지원하기위한 iSCSI Volume 형성 절차는 완료된다.
Block IO : Data Read 처리과정
다음으로, Block IO에서 Data Read를 처리하는 절차를 도 3을 참고로 이하에서 설명한다.
먼저, 어플리케이션 서버(0)는 iSCSI 표준 방식으로 iSCSI 게이트웨이(1)에 SCSI Block Read 요청한다.
그러면, iSCSI Target Core(1-1)는 iSCSI PDU를 분석한 후 분해하여 iSCSI Middleware(1-2)에게 SCSI CDB를 전달한다.
이어서, iSCSI Middleware(1-2)는 SCSI 명령을 분석하여 Read할 Block의 LBA(Logical Block Address) 및 Read 크기 정보를 Block Layout Manager(1-3)에 전달한다.
이어서, Block Layout Manager(1-3)는 LBA 주소을 이용하여 해당 iSCSI Volume을 구성하는 Chunk ID 및 Offset를 산출하고 Read 크기를 메타데이터 서버(M)에 전달한다.
이어서, 메타데이터 서버(M)에게 전달된 Chunk ID, Offset, Read 크기 정보를 기반으로 네트워크에 분산된 데이터 서버(D)영역의 관련된 모든 Chunk 파일 위치 리스트를 ID 순서대로 정렬한다. 또한, 메타데이터 서버(M)는 iSCSI Block Read에 관련된 Chunk 리스트 생성 시 해당 Chunk 들의 Read 사용횟수 정보를 갱신하고, 해당 Chunk들에 대한 Chunk Index를 갱신한다. 이어서, 메타데이터 서버(M)는 상기 데이터를 Block Layout Manager(1-3)에게 전달한다.
이어서, Block Layout Manager(1-3)는 Chunk 파일 위치 리스트를 기반으로 첫번째 Chunk 파일의 Offset부터 마지막 Chunk 파일까지 Read 크기만큼 데이터를 읽어 Block Layout Manager(1-3)에 위치한 버퍼에 데이터를 기록한다.
이어서, Block Layout Manager(1-3)은 버퍼의 메모리상의 위치를 iSCSI Middleware(1-2)에 전달하고, iSCSI Middleware(1-2)는 해당 버퍼 내용을 포함하는 SCSI CDB를 생성한다.
이어서, 생성된 SCSI CDB는 iSCSI Target Core(1-1)에게 전달되고, iSCSI Target Core(1-1)는 SCSI CDB를 포함하는 iSCSI PDU를 생성한 후, 생성된 iSCSI PDU를 iSCSI 표준 방식으로 어플리케이션 서버(0)에 전달한다.
Block IO : Data Write 처리과정
다음으로, Block IO에서 Data Write를 처리하는 절차를 도 4를 참고로 이하에서 설명한다.
먼저, 어플리케이션 서버(0)는 iSCSI 표준 방식으로 iSCSI 게이트웨이(1)에 SCSI Block Read 요청한다.
그러면, iSCSI Target Core(1-1)는 iSCSI PDU를 분석한 후 분해하여 iSCSI Middleware(1-2)에게 SCSI CDB를 전달한다.
이어서, iSCSI Middleware(1-2)는 SCSI 명령을 분석하여 Read할 Block의 LBA(Logical Block Address) 및 Read 크기 정보를 Block Layout Manager(1-3)에 전달한다.
이어서, Block Layout Manager(1-3)는 LBA 주소을 이용하여 해당 iSCSI Volume을 구성하는 Chunk ID 및 Offset를 산출하고 Write 크기를 메타데이터 서버(M)에 전달한다.
이어서, 메타데이터 서버(M)에 전달된 Chunk ID, Offset, Read 크기 정보를 기반으로 네트워크에 분산된 데이터 서버(D)영역의 관련된 모든 Chunk 파일의 존재 여부를 파악하고, Chunk 파일이 없는 경우 배정된 위치에 Chunk를 생성한 뒤, 해당 Chunk 위치 리스트를 ID 순서대로 정렬한다. 또한, 메타데이터 서버(M)는 iSCSI Block Write에 관련된 Chunk 리스트 생성 시 해당 Chunk 들의 Write 사용횟수 정보를 갱신하고, 해당 Chunk들에 대한 Chunk Index를 갱신한다. 이어서, 메타데이터 서버(M)는 상기 데이터를 Block Layout Manager(1-3)에게 전달한다.
이어서, Block Layout Manager(1-3)는 Chunk 파일 위치 리스트를 기반으로 첫번째 Chunk 파일의 Offset부터 마지막 Chunk 파일까지 Write 크기만큼 Block Layout Manager(1-3)에 위치한 버퍼에 데이터를 기록한다.
이어서, Block Layout Manager(1-3)은 쓰기 완료된 정보를 iSCSI Middleware(1-2)에 전달하고, iSCSI Middleware(1-2)는 쓰기 완료된 정보를 포함하는 SCSI CDB를 생성한다.
이어서, 생성된 SCSI CDB는 iSCSI Target Core(1-1)에게 전달되고, iSCSI Target Core(1-1)는 SCSI CDB를 포함하는 iSCSI PDU를 생성한 후, 생성된 iSCSI PDU를 iSCSI 표준 방식으로 어플리케이션 서버(0)에 전달한다.
본 발명의 바람직한 실시예에 따른 사용횟수를 기반으로 한 Chunk 인덱스 생성 방법의 일례를 아래에서 설명한다.
먼저, 본 발명의 바람직한 실시예에 따르면 Chunk 인덱스는 개별 Chunk 단위의 인덱스가 아닌 그룹의 Chunk 단위 인덱스를 의미한다. 또한, Chunk 인덱스의 크기(그룹 개수)는 사용자가 지정할 수 있다. 또한, Chunk 인덱스의 단위(그룹을 구분하기 위한 상수값)는 사용자가 지정할 수 있다.
예컨데, Chunk 인덱스 크기가 10이고 단위가 100회라면 Chunk 인덱스는 레벨1부터 레벨 10까지 존재하며 Read/Write 사용횟수가 100회 이상이면 레벨1에 해당 Chunk의 ID를 등록, 사용횟수가 200회면 레벨2,….. 1000회 이상이면 레벨100에 해당 Chunk의 ID를 등록한다. 또한, Chunk ID는 Chunk 인덱스에서 하나의 레벨에 존재하며, 같은 레벨에 있는 Chunk들은 순위를 가지지 않는 것이 바람직하다. 또한, 본 실시예에 따르면 100회를 넘지 못하는 Chunk는 인덱스에 포함하지 않고, 이를 레벨 0으로 정의한다.
또한, 사용자가 지정한 재평가 주기가 24시간이고 재평가값이 5인 경우, 24시간이 지난 이후 재평가값(현재 5) 이하의 레벨의 인덱스를 제거하고 나머지 레벨(6~10)은 재평가값으로 빼서 레벨1~5로 재정의한다.
다음으로, Chunk의 위치를 재조정하는 방법을 아래에서 설명한다.
사용자가 지정한 재평가 주기 시간 또는 특정시간에 메타데이터 서버(M)는 (D)(=DS)를 이용하여 Chunk의 위치를 재조정한다. 이 경우, 사용자가 지정한 재조정 기준 레벨에 따라 상위 인덱스 레벨에 속한 Chunk만이 재조정 대상이 된다.
예컨데, 재조정 기준 레벨이 7이면서 사용자가 지정한 재조정 특정시간이 오전 2시였을 경우, (D)(=DS)는 1번부터 10번까지 존재, Chunk 인덱스의 레벨은 1~8까지 있음, 레벨8에는 18개의 chunk id가 있으며, 레벨 7에는 12의 Chunk id가 있을때 Chunk의 위치는 다음과 같이 재조정된다.
먼저, 오전 2시에 (M)은 레벨 8에 있는 첫번째 Chunk ID를 읽어서 해당 Chunk가 저장된 DS에게 DS1에 해당 Chunk를 이동하라고 명령한다.
이어서, 명령을 받은 DS가 DS1이면 해당 명령을 무시하고, 아니면 DS1에 해당 Chunk를 이동시킨다. 이어서, 레벨8의 18번째 Chunk ID를 가진 Chunk를 DS8에 배치시키고, 레벨7의 1번째 chunk ID를 가진 Chunk를 DS9에 배치시키고, 레벨7의 12번째 Chunk ID를 가진 Chunk를 DS10에 배치시키는 방식으로 Chunk 를 순차적으로 해당 DS에 Chunk를 이동시킨다.
이상으로 본 발명의 바람직한 실시예에 따른 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 부하 분산 방법 및 시스템을 첨부한 도면을 참고로 상세하게 설명하였다. 하지만, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자는 상기 구성에 대한 다양한 수정 및 변형이 가능하다는 것을 이해할 것이다. 따라서, 본 발명의 범위는 오직 뒤에서 설명할 특허청구범위에 의해서만 한정된다.

Claims (1)

  1. 메타데이터 서버(M) 및 데이터 서버(D)을 포함하고, 네트워크 기반의 스토리지 외부에서 요청하는 블록 데이터 입출력의 표준 인터페이스로 기능하는 SCSI Target Core와, 분산 파일 시스템에 iSCSI 인터페이스를 지원하기 위한 SCSI CDB 처리 모듈과, 다수의 물리적 디스크 공간에 분산된 데이터 블록 정보를 관리하는 Block Layout Manager를 포함하여 상기 메타데이터 서버(M) 및 데이터 서버(D)를 블록 입출력 저장공간으로 활용하여 SCSI 명령을 iSCSI 인터페이스 기반으로 처리하기 위하여 복수의 iSCSI Gateway를 포함하는 확장형 iSCSI 스토리지 시스템이 장착된 네트워크 분산 파일 시스템으로서,
    상기 메타데이터 서버(M)는 iSCSI Block Read에 관련된 Chunk 리스트 생성 시 해당 Chunk 들의 Read 사용횟수 정보를 갱신하고 해당 Chunk들에 대한 Chunk Index를 갱신한 후 상기 데이터를 Block Layout Manager에게 전달하거나, iSCSI Block Write에 관련된 Chunk 리스트 생성 시 해당 Chunk 들의 Write 사용횟수 정보를 갱신하고, 해당 Chunk들에 대한 Chunk Index를 갱신한 후 상기 데이터를 Block Layout Manager에게 전달하는 기능을 수행하는 것을 특징으로 하는 확장형 iSCSI 스토리지 시스템이 장착된 네트워크 분산 파일 시스템.
KR1020120127953A 2012-11-13 2012-11-13 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 부하 분산 방법 및 시스템 KR20140060959A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120127953A KR20140060959A (ko) 2012-11-13 2012-11-13 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 부하 분산 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120127953A KR20140060959A (ko) 2012-11-13 2012-11-13 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 부하 분산 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20140060959A true KR20140060959A (ko) 2014-05-21

Family

ID=50890131

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120127953A KR20140060959A (ko) 2012-11-13 2012-11-13 iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 부하 분산 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20140060959A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10084860B2 (en) 2015-04-09 2018-09-25 Electronics And Telecommunications Research Institute Distributed file system using torus network and method for configuring and operating distributed file system using torus network
CN114500577A (zh) * 2021-12-27 2022-05-13 天翼云科技有限公司 数据访问系统及数据访问方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10084860B2 (en) 2015-04-09 2018-09-25 Electronics And Telecommunications Research Institute Distributed file system using torus network and method for configuring and operating distributed file system using torus network
CN114500577A (zh) * 2021-12-27 2022-05-13 天翼云科技有限公司 数据访问系统及数据访问方法

Similar Documents

Publication Publication Date Title
KR102444832B1 (ko) 분산된 가상 명칭 공간 관리를 사용한 온-디맨드 스토리지 프로비져닝
US10268402B2 (en) Shared network-available storage that permits concurrent data access
US9898427B2 (en) Method and apparatus for accessing multiple storage devices from multiple hosts without use of remote direct memory access (RDMA)
US10452316B2 (en) Switched direct attached shared storage architecture
US20200019516A1 (en) Primary Data Storage System with Staged Deduplication
US10579272B2 (en) Workload aware storage platform
US11287994B2 (en) Native key-value storage enabled distributed storage system
US11036393B2 (en) Migrating data between volumes using virtual copy operation
US8271559B2 (en) Storage system and method of controlling same
US9400792B1 (en) File system inline fine grained tiering
KR102178740B1 (ko) 토러스 네트워크 기반의 분산 파일 시스템을 위한 서버 및 이를 이용한 방법
US10620841B2 (en) Transfer of object memory references in a data storage device
US10855556B2 (en) Methods for facilitating adaptive quality of service in storage networks and devices thereof
US9152603B1 (en) System and method for increasing application compute client data I/O bandwidth performance from data file systems and/or data object storage systems by hosting/bundling all of the data file system storage servers and/or data object storage system servers in the same common global shared memory compute system as the application compute clients
CN104050248A (zh) 一种文件存储系统及存储方法
CN103067488A (zh) 一种统一存储的实现方法
US9659019B1 (en) Burst buffer appliance with storage tiering control functionality based on user specification
US10931750B1 (en) Selection from dedicated source volume pool for accelerated creation of block data volumes
KR101531564B1 (ko) 네트워크 분산 파일 시스템 기반 iSCSI 스토리지 시스템에서의 부하 분산 방법 및 시스템
US20130166670A1 (en) Networked storage system and method including private data network
US10324652B2 (en) Methods for copy-free data migration across filesystems and devices thereof
US10089125B2 (en) Virtual machines accessing file data, object data, and block data
KR101470857B1 (ko) iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템 및 방법
JP2010108114A (ja) ストレージシステムの性能向上又は管理方法、システム、装置及びプログラム
KR20140060959A (ko) iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 부하 분산 방법 및 시스템

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination