KR101335934B1 - 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 및 복구 방법 - Google Patents

비대칭 클러스터 분산 파일 시스템에서 데이터 복제 및 복구 방법 Download PDF

Info

Publication number
KR101335934B1
KR101335934B1 KR1020100018862A KR20100018862A KR101335934B1 KR 101335934 B1 KR101335934 B1 KR 101335934B1 KR 1020100018862 A KR1020100018862 A KR 1020100018862A KR 20100018862 A KR20100018862 A KR 20100018862A KR 101335934 B1 KR101335934 B1 KR 101335934B1
Authority
KR
South Korea
Prior art keywords
chunk
primary
data
partition
data server
Prior art date
Application number
KR1020100018862A
Other languages
English (en)
Other versions
KR20110070659A (ko
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 US12/971,759 priority Critical patent/US20110153570A1/en
Publication of KR20110070659A publication Critical patent/KR20110070659A/ko
Application granted granted Critical
Publication of KR101335934B1 publication Critical patent/KR101335934B1/ko

Links

Images

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Quality & Reliability (AREA)

Abstract

데이터 서버에 주 파티션과 부 파티션을 분리하여 주 청크와 부 청크를 나누어 관리함으로써 청크 복제 및 복구 등을 효율적으로 처리할 수 있도록 한 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 및 복구 방법을 제시한다. 제시된 발명은 비대칭 클러스터 분산 파일 시스템에서 데이터 서버에 고장이 발생하였을 때, 고장난 데이터 서버의 파티션이 속한 볼륨의 다른 파티션들을 포함하고 있는 모든 데이터 서버들에게 고장난 파티션을 알려 준다. 그에 따라, 다른 데이터 서버들은 자신이 가지고 있는 주 청크와 부 청크 정보를 이용하여 청크 복구를 한꺼번에 수행하게 된다. 이로 인해, 데이터 서버 고장이 발생하였을 때 관련된 모든 데이터 서버들이 동시에 복구에 참여함으로써 보다 빠르고 효율적으로 고장에 대처할 수 있다. 또한, 데이터 서버에서는 주 파티션과 부 파티션으로 나누어서 서로 관련지어 관리하고 주 청크와 부 청크 정보를 분리하여 저장하고 관리함으로써, 청크의 복구를 효율적으로 수행할 수 있도록 한다.

Description

비대칭 클러스터 분산 파일 시스템에서 데이터 복제 및 복구 방법{Method for data replication and recovery in asymmetric clustered distributed file system}
본 발명은 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 및 복구 방법에 관한 것으로, 보다 상세하게는 비대칭 클러스터 분산 파일 시스템에서 데이터를 복제하고 데이터 서버의 고장으로부터 데이터를 복구하는 방법에 관한 것이다.
본 발명은 지식경제부의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-016-03, 과제명: 저비용 대규모 글로벌 인터넷 서비스 솔루션 개발].
비대칭 클러스터 분산 파일 시스템은 파일의 메타데이터와 실제 데이터를 분리하여 저장하고 관리하는 시스템이다.
통상적으로, 메타데이터는 다른 데이터를 설명해 주는 데이터로서, 속성정보라고도 한다.
메타데이터는 메타데이터 서버에서 관리된다. 실제 데이터는 복수의 데이터 서버에 분산되어 저장된다. 메타데이터는 실제 데이터가 저장되어 있는 데이터 서버에 대한 정보를 포함한다. 메타데이터 서버와 복수의 데이터 서버는 네트워크로 연결되어 분산된 구조를 갖는다.
따라서, 클라이언트에서 파일의 메타데이터와 데이터를 접근하는 경로가 분리된다. 즉, 파일에 접근하기 위해서는, 클라이언트는 먼저 메타데이터 서버에 있는 파일의 메타데이터에 접근하여 실제 데이터가 저장되어 있는 복수의 데이터 서버에 대한 정보를 얻는다. 그리고 나서 실제 데이터에 대한 입출력은 복수의 데이터 서버를 통하여 이루어진다.
비대칭 클러스터 분산 파일 시스템은 파일 데이터를 고정된 크기의 데이터 청크(chunk) 단위로 나누어 복수의 데이터 서버에 분산하여 저장한다.
한편, 서버나 네트워크 등이 고장난 경우에는 데이터에 대한 입출력을 할 수 없다. 이를 해결하기 위해, 데이터 서버의 데이터 청크에 대한 복제본을 만들어서 다른 데이터 서버들에 저장해 둔다. 복제본은 저장 비용 등을 고려하여 세 개 정도를 유지하는 것이 일반적이다. 복제본을 여러 데이터 서버에 유지함으로써 클라이언트로부터의 접근 부하를 분산시킬 수 있는 이점도 있다.
하지만, 데이터 서버에 고장이 발생하였음을 감지되었을 때 고장난 데이터 서버에 저장된 데이터 청크에 대한 복제본을 정해진 개수만큼 유지할 수 있어야 한다. 그렇지 않으면 연속적인 데이터 서버 고장이 발생하였을 때 데이터 청크를 접근하지 못할 수도 있기 때문이다.
이와 같이 고장난 데이터 서버의 복구는 고장난 데이터 서버에 저장되었던 데이터 청크 정보 등을 추적해 가면서 복구해야 한다. 그에 따라, 많은 비용을 수반하게 된다. 또한, 이러한 작업은 주로 메타데이터 서버에서 수행되므로 그 부하는 메타데이터 서버의 다른 작업에 커다란 영향을 미칠 수 있다.
따라서, 데이터 서버의 고장에 대한 복구 작업을 보다 효율적이고 빠르게 수행할 수 있는 방법이 요구된다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 데이터 서버에 주 파티션과 부 파티션을 분리하여 주 청크와 부 청크를 나누어 관리함으로써 청크 복제 및 복구 등을 효율적으로 처리할 수 있도록 한 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 및 복구 방법을 제공함에 그 목적이 있다.
또한, 본 발명은 비대칭 클러스터 분산 파일 시스템에서 데이터 서버의 고장이 감지되었을 때 보다 빠르고 효율적으로 데이터를 복구할 수 있도록 한다.
본 발명은 메타데이터 서버에서 볼륨 단위로 저장 공간을 관리하면서 볼륨에 포함되는 파티션을 데이터 서버 별로 분리함으로써 저장 공간을 효율적으로 이용할 수 있도록 한다.
본 발명은 고장이 감지된 데이터 서버의 주 파티션 또는 부 파티션 정보를 관련된 주 파티션 또는 부 파티션을 저장하고 있는 데이터 서버로 복구를 요청함으로써 고장난 데이터 서버와 관련된 모든 데이터 서버가 동시에 함께 데이터를 복구할 수 있도록 한다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법은, 주 청크를 갖는 주 파티션을 포함하는 제 1 데이터 서버가, 클라이언트로부터의 데이터를 주 청크에 저장하는 데이터 저장 단계; 제 1 데이터 서버가, 주 청크에 대응되는 부 청크를 갖는 부 파티션을 포함하는 제 2 데이터 서버에게로 주 청크에 저장한 데이터를 전달하는 데이터 전달 단계; 및 제 2 데이터 서버가, 전달받은 데이터를 부 청크에 복제하는 복제 단계;를 포함한다.
제 1 데이터 서버는 주 파티션 및 제 2 데이터 서버의 주 파티션에 대응되는 부 파티션으로 구획된다.
제 1 데이터 서버는 주 파티션에 저장된 주 청크에 대한 부 청크의 정보를 관리하는 주 파티션 청크 테이블, 및 부 파티션에 저장된 부 청크에 대한 주 청크의 정보를 관리하는 부 파티션 청크 테이블을 포함한다.
바람직하게는, 주 파티션 청크 테이블 및 부 파티션 청크 테일블은 각각 파티션 식별자 및 청크 식별자를 포함한다. 이 경우, 파티션 식별자는 메타데이터 서버가 부여하는 유일한 값이다. 청크 식별자는 메타데이터 서버가 할당하되, 해당 청크를 포함하는 파일의 파일 식별자 및 파일내에서 몇번째 청크인지를 나타내는 오프셋을 포함한다.
제 2 데이터 서버는 부 파티션 및 제 1 데이터 서버의 주 청크와는 다른 주 청크를 갖는 주 파티션으로 구획된다.
제 2 데이터 서버는 복수개의 데이터 서버로 구성됨이 바람직하다.
메타데이터 서버에 의해 주 청크가 최초로 할당됨에 따라 제 1 데이터 서버가, 주 청크 정보를 클라이언트에게로 보내는 주 청크 정보 전송 단계를 추가로 포함하여도 된다.
주 청크 정보 전송 단계는 주 청크 정보를 제 1 데이터 서버의 주 파티션 청크 테이블에 등록하는 단계를 포함한다.
메타데이터 서버는 전체 저장 공간을 볼륨 단위로 나누어 관리하되, 볼륨별로 제 1 및 제 2 데이터 서버의 저장 공간이 복수의 파티션으로 구획된다.
볼륨별로 구획된 복수의 파티션은 제 1 및 제 2 데이터 서버마다, 주 청크를 저장하는 주 파티션 및 다른 데이터 서버의 주 파티션에 대응하는 부 파티션을 포함한다.
메타데이터 서버에 의해 주 청크에 대응되는 부 청크가 최초로 할당됨에 따라 제 2 데이터 서버가, 부 청크 정보를 제 1 데이터 서버에게로 보내는 부 청크 정보 전송 단계를 추가로 포함하여도 된다.
부 청크 정보 전송 단계는 부 청크 정보를 제 2 데이터 서버의 부 파티션 청크 테이블에 등록하는 단계를 포함한다.
바람직하게, 제 1 데이터 서버가, 주 청크의 데이터 추가 또는 갱신이 있게 되면 그와 동일한 데이터를, 제 2 데이터 서버에게로 전달하는 데이터 전달 단계; 및 제 2 데이터 서버가, 전달받은 데이터를 부 파티션의 부 청크에 복제하는 복제 단계;를 추가로 포함하여도 된다.
한편, 본 발명의 바람직한 실시양태에 따른 비대칭 클러스터 분산 파일 시스템에서 데이터 복구 방법은, 고장난 데이터 서버의 주 파티션에 대응되는 부 파티션을 포함하고 있는 제 1 데이터 서버가, 부 파티션의 부 청크를 다른 데이터 서버에 복제하는 부 청크 복제 단계; 및 고장난 데이터 서버의 부 파티션에 대응되는 주 파티션을 포함하고 있는 제 2 데이터 서버가, 주 파티션의 주 청크를 다른 데이터 서버에 복제하는 주 청크 복제 단계;를 포함한다.
부 파티션의 부 청크는, 고장난 데이터 서버의 주 파티션 식별자와 동일한 파티션 식별자를 갖는다.
주 파티션의 주 청크는, 고장난 데이터 서버의 부 파티션 식별자와 동일한 파티션 식별자를 갖는다.
주 청크 복제 단계는, 설정된 복제본 수와 동일할 때까지 다른 데이터 서버에 주 청크를 복제한다.
이러한 구성의 본 발명에 따르면, 비대칭 클러스터 분산 파일 시스템에서 데이터 서버에 고장이 발생하였을 때, 고장난 데이터 서버의 파티션이 속한 볼륨의 다른 파티션들을 포함하고 있는 모든 데이터 서버들에게 고장난 파티션을 알려 준다. 그에 따라, 다른 데이터 서버들은 자신이 가지고 있는 주 청크와 부 청크 정보를 이용하여 청크 복구를 한꺼번에 수행하게 된다.
이로 인해, 데이터 서버 고장이 발생하였을 때 관련된 모든 데이터 서버들이 동시에 복구에 참여함으로써 보다 빠르고 효율적으로 고장에 대처할 수 있다.
또한, 데이터 서버에서는 주 파티션과 부 파티션으로 나누어서 서로 관련지어 관리하고 주 청크와 부 청크 정보를 분리하여 저장하고 관리함으로써, 청크의 복구를 효율적으로 수행할 수 있도록 한다.
도 1은 본 발명이 적용되는 비대칭 클러스터 분산 파일 시스템의 개략적인 구성도이다.
도 2는 본 발명의 실시예에 따른 비대칭 클러스터 분산 파일 시스템의 메타데이터 서버에서 파일 시스템의 전체 저장 공간을 볼륨 단위로 나누어 관리하는 것을 개략적으로 도시한 도면이다.
도 3은 본 발명의 실시예에 따른 비대칭 클러스터 분산 파일 시스템의 데이터 서버에서 파티션을 구성하는 것을 개략적으로 도시한 도면이다.
도 4는 본 발명의 실시예에 따른 비대칭 클러스터 분산 파일 시스템의 데이터 서버에서 주 파티션과 대응되는 부 파티션 정보를 관리하는 것을 도시한 도면이다.
도 5는 도 4에 도시된 주 파티션과 부 파티션에 저장된 청크 정보를 관리하는 테이블 구조를 개략적으로 도시한 도면이다.
도 6은 본 발명의 실시예에 따른 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법을 설명하는 흐름도이다.
도 7은 본 발명의 실시예에 따른 비대칭 클러스터 분산 파일 시스템에서 데이터 복구 방법을 설명하는 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 및 복구 방법에 대하여 설명하면 다음과 같다. 본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니된다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 1은 본 발명이 적용되는 비대칭 클러스터 분산 파일 시스템의 개략적인 구성도이다.
도 1의 비대칭 클러스터 분산 파일 시스템은 클라이언트(10), 메타데이터 서버(20), 및 데이터 서버(30)를 포함한다.
클라이언트(10)는 클라이언트 응용을 수행한다. 클라이언트(10)는 메타데이터 서버(20)에 저장된 파일의 메타데이터를 접근한다. 클라이언트(10)는 데이터 서버(30)에 저장된 파일의 데이터를 입출력한다.
메타데이터 서버(20)는 파일 시스템의 모든 파일에 대한 메타데이터를 저장하고 관리한다. 메타데이터 서버(20)는 모든 데이터 서버(30)에 대한 상태 정보를 관리한다.
데이터 서버(30)는 파일의 데이터 청크를 저장하고 관리한다. 데이터 서버(30)는 주기적으로 메타데이터 서버(20)에게 자신의 상태 정보를 보고한다. 데이터 서버(30)는 복수개로 구성됨이 바람직하다.
상술한 클라이언트(10)와 메타데이터 서버(20) 및 복수의 데이터 서버(30)는 네트워크로 상호 연결된다.
도 2는 본 발명의 실시예에 따른 비대칭 클러스터 분산 파일 시스템의 메타데이터 서버에서 파일 시스템의 전체 저장 공간을 볼륨 단위로 나누어 관리하는 것을 개략적으로 도시한 도면이다.
메타데이터 서버(20)는 파일 데이터가 저장되는 복수의 데이터 서버1,2,3(32, 34, 36)의 저장 공간을 여러 개의 파티션(42, 44, 46, 52, 54, 56)으로 나누고 이러한 파티션을 묶은 볼륨(40, 50)으로 관리한다. 클라이언트(10)는 볼륨 단위로 마운트하여 파일 시스템을 접근하게 된다. 도 2의 데이터 서버1,2,3(32, 34, 36)은 도 1의 데이터 서버(30)와 참조부호만 다를 뿐 동일한 것으로 보면 된다.
볼륨(40, 50)은 하나 이상의 파티션으로 구성된다. 도 2의 경우, 볼륨(40)은 데이터 서버당 하나의 주 파티션(42) 및 복수의 부 파티션(44, 46)으로 구성된다. 볼륨(50)은 데이터 서버당 하나의 주 파티션(52) 및 복수의 부 파티션(54, 56)으로 구성된다. 파티션은 서로 다른 볼륨들 간에는 공유되지 않는다.
주 파티션(42, 52)은 주 청크를 저장한다. 부 파티션(44, 46, 54, 56)은 주 청크의 복제본인 부 청크를 저장한다.
결국, 볼륨(40, 50)은 여러 개의 주 파티션 및 각 주 파티션에 대응되는 부 파티션들로 구성된다. 하지만, 볼륨(40, 50)의 주 파티션(42, 52)은 동일한 데이터 서버에 두 개 이상 존재할 수 없다. 볼륨(40, 50)에 포함된 주 파티션(42, 52)은 데이터 서버당 하나만 존재할 수 있다. 데이터 서버에는 다른 데이터 서버의 주 파티션에 대응하는 부 파티션을 하나만 포함할 수 있다. 데이터 서버1(32)을 예로 들면, 데이터 서버1(32)은 데이터 서버2(34)의 주 파티션2에 대응하는 부 파티션2 및 데이터 서버3(36)의 주 파티션3에 대응하는 부 파티션3을 포함한다. 이것은 주 청크가 주 파티션에만 할당되고 주 청크에 대해서만 쓰기 연산이 이루어지기 때문에 청크를 여러 데이터 서버에 고르게 할당하고 쓰기 연산을 여러 데이터 서버에서 고르게 분담하도록 하기 위해서이다.
위와 같이 메타데이터 서버(20)는 데이터 서버1,2,3(32, 34, 36)별로 하나 또는 여러 볼륨에 할당된 주 파티션(42, 52)과 부 파티션(44, 46, 54, 56)을 갖는다. 다시 말해서, 메타데이터 서버(20)는 복수의 데이터 서버(32, 34, 36)의 저장 공간을 복수의 파티션으로 나누고 그 복수의 파티션을 묶은 볼륨 단위로 관리한다. 이와 함께 메타데이터 서버(20)는 볼륨별로 하나의 데이터 서버당 하나의 주 파티션 및 다른 데이터 서버의 주 파티션에 대응하는 복수의 부 파티션을 포함한다.
도 3은 본 발명의 실시예에 따른 비대칭 클러스터 분산 파일 시스템의 데이터 서버에서 파티션을 구성하는 것을 개략적으로 도시한 도면이다.
각각의 데이터 서버1,2,3(32, 34, 36)의 저장 공간은 주 파티션 및 복수의 부 파티션으로 구획된다. 예를 들어, 데이터 서버1(32)의 저장 공간은 주 파티션1(32a) 및 부 파티션2,3(32b, 32c)으로 구획된다. 데이터 서버2(34)의 저장 공간은 주 파티션2(34a) 및 부 파티션1,3(34b, 34c)으로 구획된다. 데이터 서버3(36)의 저장 공간은 주 파티션3(36a) 및 부 파티션1,2(36b, 36c)로 구획된다.
주 파티션1,2,3(32a, 34a, 36a)에는 주 청크가 저장된다.
부 파티션1,2,3(32b, 32c, 34b, 34c, 36b, 36c)에는 주 파티션1,2,3(32a, 34a, 36a)에 저장된 주 청크의 복제본인 부 청크가 저장된다. 예를 들어, 부 파티션1(34b, 36b)에는 주 파티션1(32a)에 저장된 주 청크(즉, 주 청크1, 주 청크2, 주 청크3)의 복제본인 부 청크(즉, 부 청크1, 부 청크2, 부 청크3)가 저장된다. 부 파티션2(32b, 36c)에는 주 파티션2(34a)에 저장된 주 청크(즉, 주 청크4, 주 청크5, 주 청크6)의 복제본인 부 청크(즉, 부 청크4, 부 청크5, 부 청크6)가 저장된다. 부 파티션3(32c, 34c)에는 주 파티션3(36a)에 저장된 주 청크(즉, 주 청크7, 주 청크8, 주 청크9)의 복제본인 부 청크(즉, 부 청크7, 부 청크8, 부 청크9)가 저장된다.
도 4는 본 발명의 실시예에 따른 비대칭 클러스터 분산 파일 시스템의 데이터 서버에서 주 파티션과 대응되는 부 파티션 정보를 관리하는 것을 도시한 도면이다. 도 5는 도 4에 도시된 주 파티션과 부 파티션에 저장된 청크 정보를 관리하는 테이블 구조를 개략적으로 도시한 도면이다. 도 4에서는 데이터 서버의 저장 공간이 하나의 주 파티션 및 세 개의 부 파티션으로 구획되었다고 가정한 것이 도 3과의 차이점이다. 또한, 도 4의 주 파티션 및 부 파티션의 참조부호가 도 3에서의 참조부호와 다르지만, 서로 동일한 것으로 보는 것이 바람직하다.
데이터 서버는 볼륨당 주 파티션(60)을 하나만 포함한다. 데이터 서버는 주 파티션(60) 및 부 파티션(62, 64, 66)에 대한 정보를 관리한다. 여기서, 부 파티션(62, 64, 66)은 다른 데이터 서버의 주 파티션에 대응하는 부 파티션을 의미한다.
한편, 데이터 서버는 도 5에 도시된 바와 같이 파티션에 저장된 청크들에 대한 정보를 갖는 청크 테이블(68)(즉, 주 파티션 청크 테이블, 부 파티션 청크 테이블)을 포함한다.
주 파티션 청크 테이블은 주 파티션에 저장된 주 청크에 대한 부 청크들의 정보를 관리한다. 여기서, 부 청크들은 주 파티션에 대응하는 다른 부 파티션들에 저장되어 있다.
부 파티션 청크 테이블은 부 파티션들에 저장된 부 청크에 대한 주 청크의 정보를 관리한다. 여기서, 주 청크는 다른 데이터 서버의 주 파티션에 저장되어 있다.
주 파티션 청크 테이블 및 부 파티션 청크 테이블은 파티션 식별자, 청크 식별자, 및 청크 버전 정보를 포함한다(도 5 참조). 파티션 식별자는 메타데이터 서버에서 부여되는 유일한 값이다. 청크 식별자는 메타데이터 서버에서 할당되는 값으로서 청크를 포함하는 파일의 파일 식별자 및 파일 내에 몇번째 청크인지를 나타내는 오프셋으로 구성된다. 그러므로 청크 식별자는 유일한 값을 갖는다. 또한, 주 청크 식별자와 복제본인 부 청크 식별자는 동일한 값을 갖는다. 따라서, 파티션에서 청크는 파티션 식별자와 청크 식별자로 구별된다.
이와 같이, 청크 테이블(68)은 데이터 서버에 저장된 주 청크 또는 부 청크와 관련된 다른 데이터 서버의 청크 정보를 관리한다. 그에 따라, 청크 테이블(68)은 데이터 서버의 고장으로 인한 복구 절차에서 고장난 데이터 서버와 관련된 청크 정보를 효율적으로 검색하여 처리할 수 있게 한다. 청크 테이블(68)에 청크 정보가 삽입되는 것은 청크를 복제하는 시점에 이루어진다.
도 6은 본 발명의 실시예에 따른 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법을 설명하는 흐름도이다. 다시 말해서, 도 6은 본 발명이 적용된 비대칭 클러스터 분산 파일 시스템에서 데이터 청크를 할당하고 복제하는 처리 과정을 도시한 흐름도이다.
클라이언트(10)가 파일에 데이터를 저장하기 전에, 클라이언트(10)는 먼저 메타데이터 서버(20)에게로 데이터 청크 할당을 요청한다(S10).
메타데이터 서버(20)는 처음으로 할당되는 청크인 경우에 주 청크를 할당할 주 파티션을 선정한다(S12).
메타데이터 서버(20)는 선정된 주 파티션을 포함하는 데이터 서버(예컨대, 데이터 서버1(32))에게로 주 청크 할당을 요청한다(S14).
주 청크 할당을 요청받은 데이터 서버1(32)은 해당 주 파티션에 주 청크를 할당한다(S16).
그리고, 데이터 서버1(32)은 할당된 주 청크 정보를 주 파티션 청크 테이블에 등록한다(S18).
데이터 서버1(32)은 할당된 주 청크 정보를 메타데이터 서버(20)를 통하여 클라이언트(10)에게로 전달된다(S20, S22).
이후, 클라이언트(10)는 파일 데이터를 쓰기 위해 할당된 주 청크를 저장하고 있는 데이터 서버1(32)에게로 데이터를 전달한다(S24).
데이터 서버1(32)은 클라이언트(10)로부터의 데이터를 주 청크에 저장한다(S26).
이때, 주 청크에 대한 복제본인 부 청크가 존재하지 않으면 데이터 서버1(32)은 메타데이터 서버(20)에게로 부 청크 할당을 요청한다(S28).
그에 따라, 메타데이터 서버(20)는 부 청크를 할당할 부 파티션을 선정한다(S30).
그리고, 메타데이터 서버(20)는 선정된 부 파티션을 포함하고 있는 데이터 서버(예컨대, 데이터 서버2(34))에게로 부 청크 할당을 요청한다(S32). 여기서, 데이터 서버2(34)를 하나만 예시하였으나, 실제로는 선정된 부 파티션을 포함하고 있는 데이터 서버는 복수개이다.
부 청크 할당을 요청받은 데이터 서버2(34)는 해당 부 파티션에 부 청크를 할당한다(S34).
그리고, 데이터 서버2(34)는 부 파티션 청크 테이블에 부 청크 정보를 삽입한다(S36).
이후, 데이터 서버2(34)는 부 청크 정보를 메타데이터 서버(20)에게로 보낸다(S38).
메타데이터 서버(20)는 전달받은 부 청크 정보를 주 청크를 저장하고 있는 데이터 서버1(32)에게로 전달하게 된다(S40).
이후에, 클라이언트(10)가 데이터 서버1(32)의 주 청크에 데이터를 추가하거나 변경하고자 하는 경우(S42)에는 데이터 서버1(32)의 주 청크의 데이터가 추가되거나 변경된다(S44).
이어, 데이터 서버1(32)은 추가되거나 변경된 데이터와 동일한 데이터를, 그 주 청크에 대응되는 부 청크를 포함하고 있는 데이터 서버2(34)에게로 전달한다(S46).
그에 따라, 데이터 서버2(34)는 전달받은 데이터를 부 청크에 복제함으로써, 주 청크에 대한 복제를 완료시킨다(S48). 이때 데이터는 파일 시스템의 블록 또는 페이지 단위로 전달됨으로, 데이터를 오버라이트 하는 경우에 데이터를 쓰기 전에 읽기가 일어나지 않도록 한다.
한편, 클라이언트(10)가 데이터를 저장하기 위한 주 청크를 이미 알고 있는 경우에는 상술한 단계 S10 ~ S22의 동작이 필요없게 된다. 또한, 주 청크에 대한 복제본인 부 청크가 존재하는 경우에는 상술한 단계 S28 ~ S40의 동작이 필요없게 된다. 그에 따라, 클라이언트(10)가 데이터를 저장하기 위한 주 청크를 이미 알고 있는 경우에는 바로 해당 데이터 서버의 주 청크에 데이터가 저장된 후에 주 청크에 저장된 데이터와 동일한 데이터가 다른 데이터 서버의 대응되는 부 청크에 복제된다.
도 7은 본 발명의 실시예에 따른 비대칭 클러스터 분산 파일 시스템에서 데이터 복구 방법을 설명하는 흐름도이다. 다시 말해서, 도 7은 본 발명이 적용된 비대칭 클러스터 분산 파일 시스템에서 데이터 서버의 고장이 감지되었을 때 고장난 데이터 서버와 관련된 다른 데이터 서버들을 이용하여 고장난 데이터 서버에 저장된 데이터 청크를 복구하는 처리 과정을 도시한 흐름도이다.
일단, 메타데이터 서버(20)는 네트워크 고장 또는 하드웨어 고장 등 여러 가지 상황에 의해 발생할 수 있는 데이터 서버(32, 34, 36; 도 3 참조)의 고장을 감지하는 동작을 수행한다(S60).
그 결과, 메타데이터 서버(20)가 예를 들어 데이터 서버1(32)의 고장을 감지하게 되면(S62에서 "Yes") 메타데이터 서버(20)는 고장난 데이터 서버1(32)의 파티션 정보 및 고장 발생 메시지를 다른 데이터 서버2,3(34, 36)에게로 보낸다.
즉, 메타데이터 서버(20)는 고장난 데이터 서버1(32)의 주 파티션1(32a)에 대응하는 부 파티션1(34b, 36b)을 포함하고 있는 데이터 서버2,3(34, 36)에게 주 파티션 식별자를 전달함과 더불어 데이터 서버1(32)의 고장을 알린다(S64).
그리고 나서, 메타데이터 서버(20)는 고장난 데이터 서버1(32)의 각 부 파티션2,3(32b, 32c)에 대응되는 주 파티션2,3(34a, 36a)을 포함하고 있는 데이터 서버2,3(34, 36)에게 부 파티션 식별자를 전달함과 더불어 데이터 서버1(32)의 고장을 알린다(S66).
그에 따라, 고장난 데이터 서버1(32)의 주 파티션 식별자를 받은 데이터 서버2,3(34, 36)는 부 파티션 청크 테이블에서 동일한 파티션 식별자를 갖는 부 청크를 다른 데이터 서버(즉, 데이터 서버1,2,3과는 별개로 준비된 데이터 서버)(도시 생략)에 복제하는 작업을 수행한다(S68).
또한, 고장난 데이터 서버1(32)의 부 파티션 식별자를 받은 데이터 서버2,3(34, 36)은 주 파티션 청크 테이블에서 동일한 파티션 식별자를 갖는 부 청크들의 개수가 정해진 복제본 수보다 적을 경우에 다른 데이터 서버(즉, 데이터 서버1,2,3과는 별개로 준비된 데이터 서버)(도시 생략)의 부 파티션에 주 청크를 복제한다(S70).
한편, 본 발명은 상술한 실시예로만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위내에서 수정 및 변형하여 실시할 수 있고, 그러한 수정 및 변형이 가해진 기술사상 역시 이하의 특허청구범위에 속하는 것으로 보아야 한다.
10 : 클라이언트 20 : 메타데이터 서버
30, 32, 34, 36 : 데이터 서버

Claims (19)

  1. 주 청크를 갖는 주 파티션을 포함하는 제 1 데이터 서버가, 클라이언트로부터의 데이터를 상기 주 청크에 저장하는 데이터 저장 단계;
    상기 제 1 데이터 서버가, 상기 주 청크에 대응되는 부 청크를 갖는 부 파티션을 포함하는 제 2 데이터 서버에게로 상기 주 청크에 저장한 데이터를 전달하는 데이터 전달 단계; 및
    상기 제 2 데이터 서버가, 상기 전달받은 데이터를 상기 부 청크에 복제하는 복제 단계;를 포함하고,
    상기 제 2 데이터 서버는 상기 부 파티션 및 상기 제 1 데이터 서버의 주 청크와는 다른 주 청크를 갖는 주 파티션으로 구획된 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법.
  2. 청구항 1에 있어서,
    상기 제 1 데이터 서버는 상기 주 파티션 및 상기 제 2 데이터 서버의 주 파티션에 대응되는 부 파티션으로 구획된 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법.
  3. 청구항 2에 있어서,
    상기 제 1 데이터 서버는 상기 주 파티션에 저장된 주 청크에 대한 부 청크의 정보를 관리하는 주 파티션 청크 테이블, 및 상기 부 파티션에 저장된 부 청크에 대한 주 청크의 정보를 관리하는 부 파티션 청크 테이블을 포함하는 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법.
  4. 청구항 3에 있어서,
    상기 주 파티션 청크 테이블 및 상기 부 파티션 청크 테일블은 각각 파티션 식별자 및 청크 식별자를 포함하는 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법.
  5. 청구항 4에 있어서,
    상기 파티션 식별자는 메타데이터 서버가 부여하는 유일한 값인 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법.
  6. 청구항 4에 있어서,
    상기 청크 식별자는 해당 청크를 포함하는 파일의 파일 식별자 및 파일내에서 몇번째 청크인지를 나타내는 오프셋을 포함하는 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법.
  7. 삭제
  8. 청구항 1에 있어서,
    상기 제 2 데이터 서버는 복수개의 데이터 서버로 구성된 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법.
  9. 청구항 1에 있어서,
    메타데이터 서버에 의해 상기 주 청크가 최초로 할당됨에 따라 상기 제 1 데이터 서버가, 주 청크 정보를 상기 클라이언트에게로 보내는 주 청크 정보 전송 단계를 추가로 포함하는 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법.
  10. 청구항 9에 있어서,
    상기 주 청크 정보 전송 단계는 상기 주 청크 정보를 상기 제 1 데이터 서버의 주 파티션 청크 테이블에 등록하는 단계를 포함하는 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법.
  11. 청구항 9에 있어서,
    상기 메타데이터 서버는 전체 저장 공간을 볼륨 단위로 나누어 관리하되, 볼륨별로 상기 제 1 및 제 2 데이터 서버의 저장 공간이 복수의 파티션으로 구획된 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법.
  12. 청구항 11에 있어서,
    상기 볼륨별로 구획된 복수의 파티션은 상기 제 1 및 제 2 데이터 서버마다, 주 청크를 저장하는 주 파티션 및 다른 데이터 서버의 주 파티션에 대응하는 부 파티션을 포함하는 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법.
  13. 청구항 9에 있어서,
    상기 메타데이터 서버에 의해 상기 주 청크에 대응되는 상기 부 청크가 최초로 할당됨에 따라 상기 제 2 데이터 서버가, 부 청크 정보를 상기 제 1 데이터 서버에게로 보내는 부 청크 정보 전송 단계를 추가로 포함하는 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법.
  14. 청구항 13에 있어서,
    상기 부 청크 정보 전송 단계는 상기 부 청크 정보를 상기 제 2 데이터 서버의 부 파티션 청크 테이블에 등록하는 단계를 포함하는 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법.
  15. 청구항 1에 있어서,
    상기 제 1 데이터 서버가, 상기 주 청크의 데이터 추가 또는 갱신이 있게 되면 그와 동일한 데이터를, 상기 제 2 데이터 서버에게로 전달하는 데이터 전달 단계; 및
    상기 제 2 데이터 서버가, 상기 전달받은 데이터를 상기 부 파티션의 부 청크에 복제하는 복제 단계;를 추가로 포함하는 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 방법.
  16. 고장난 데이터 서버의 주 파티션에 대응되는 부 파티션을 포함하고 있는 제 1 데이터 서버가, 상기 부 파티션의 부 청크를 다른 데이터 서버에 복제하는 부 청크 복제 단계; 및
    상기 고장난 데이터 서버의 부 파티션에 대응되는 주 파티션을 포함하고 있는 제 2 데이터 서버가, 상기 주 파티션의 주 청크를 상기 다른 데이터 서버에 복제하는 주 청크 복제 단계;를 포함하는 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복구 방법.
  17. 청구항 16에 있어서,
    상기 부 파티션의 부 청크는, 상기 고장난 데이터 서버의 주 파티션 식별자와 동일한 파티션 식별자를 갖는 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복구 방법.
  18. 청구항 16에 있어서,
    상기 주 파티션의 주 청크는, 상기 고장난 데이터 서버의 부 파티션 식별자와 동일한 파티션 식별자를 갖는 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복구 방법.
  19. 청구항 16에 있어서,
    상기 주 청크 복제 단계는, 설정된 복제본 수와 동일할 때까지 상기 다른 데이터 서버에 주 청크를 복제하는 것을 특징으로 하는 비대칭 클러스터 분산 파일 시스템에서 데이터 복구 방법.
KR1020100018862A 2009-12-18 2010-03-03 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 및 복구 방법 KR101335934B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/971,759 US20110153570A1 (en) 2009-12-18 2010-12-17 Data replication and recovery method in asymmetric clustered distributed file system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090127071 2009-12-18
KR20090127071 2009-12-18

Publications (2)

Publication Number Publication Date
KR20110070659A KR20110070659A (ko) 2011-06-24
KR101335934B1 true KR101335934B1 (ko) 2013-12-03

Family

ID=44402137

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100018862A KR101335934B1 (ko) 2009-12-18 2010-03-03 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 및 복구 방법

Country Status (1)

Country Link
KR (1) KR101335934B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101374655B1 (ko) 2010-09-29 2014-03-24 네이버비즈니스플랫폼 주식회사 파일 볼륨을 청크 단위로 분산 처리하는 시스템 및 방법
KR101694288B1 (ko) 2012-06-08 2017-01-09 한국전자통신연구원 비대칭형 클러스터 파일 시스템의 데이터 관리 방법
KR102146293B1 (ko) * 2018-05-08 2020-08-28 한국전자통신연구원 분산 파일 시스템 복구 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004046874A (ja) * 2002-07-02 2004-02-12 Sony Disc Technology Inc データ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法
JP2008242736A (ja) 2007-03-27 2008-10-09 Nec Corp ディスクアレイ装置及びデータバックアップシステム
KR20090059859A (ko) * 2007-12-07 2009-06-11 한국전자통신연구원 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에따른 분산파일 시스템
KR20090062747A (ko) * 2007-12-13 2009-06-17 한국전자통신연구원 파일 저장 시스템 및 파일 저장 시스템에서의 중복 파일관리 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004046874A (ja) * 2002-07-02 2004-02-12 Sony Disc Technology Inc データ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法
JP2008242736A (ja) 2007-03-27 2008-10-09 Nec Corp ディスクアレイ装置及びデータバックアップシステム
KR20090059859A (ko) * 2007-12-07 2009-06-11 한국전자통신연구원 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에따른 분산파일 시스템
KR20090062747A (ko) * 2007-12-13 2009-06-17 한국전자통신연구원 파일 저장 시스템 및 파일 저장 시스템에서의 중복 파일관리 방법

Also Published As

Publication number Publication date
KR20110070659A (ko) 2011-06-24

Similar Documents

Publication Publication Date Title
US20110153570A1 (en) Data replication and recovery method in asymmetric clustered distributed file system
US11841844B2 (en) Index update pipeline
US10817478B2 (en) System and method for supporting persistent store versioning and integrity in a distributed data grid
US8346719B2 (en) Multi-node replication systems, devices and methods
EP2501108B1 (en) Massively scalable object storage system
KR101915826B1 (ko) 분산 저장 환경에서의 동기 복제 기법
JP5607059B2 (ja) パーティション化した拡張可能で可用性の高い構造化ストレージにおけるパーティション管理
US20190370362A1 (en) Multi-protocol cloud storage for big data and analytics
US8108634B1 (en) Replicating a thin logical unit
US9201747B2 (en) Real time database system
US9652346B2 (en) Data consistency control method and software for a distributed replicated database system
US20100023564A1 (en) Synchronous replication for fault tolerance
CN111078121A (zh) 一种分布式存储系统数据迁移方法、系统、及相关组件
CN102253869A (zh) 可缩放的容错元数据服务
JP2016524750A5 (ko)
KR100936238B1 (ko) 파일 입출력과 복제의 균형적 수행을 위한 지연복제 시스템및 방법
KR20100073154A (ko) 메타데이터 서버, 데이터 서버의 데이터 처리 방법 및 이를이용한 비대칭 클러스터 분산 파일 시스템
US9396076B2 (en) Centralized version control system having high availability
KR101335934B1 (ko) 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 및 복구 방법
KR101511098B1 (ko) 분산된 컨테이너들을 사용하여 데이터를 관리하는 시스템 및 방법
CN110442573A (zh) 一种分布式容错键值存储的方法及装置
KR101035857B1 (ko) 데이터 관리 방법 및 그 시스템
KR20130130383A (ko) 데이터 서버의 계층화를 이용한 데이터 복제 장치 및 방법
CN117354141A (zh) 应用服务管理方法、设备和计算机可读存储介质
KR20130017852A (ko) 메시징 채널을 이용한 데이터 복제 방법 및 장치

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
FPAY Annual fee payment

Payment date: 20161027

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171027

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181025

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191028

Year of fee payment: 7