KR101092658B1 - 분산 파일 시스템 및 그의 메타데이터 서버 선택 방법 - Google Patents

분산 파일 시스템 및 그의 메타데이터 서버 선택 방법 Download PDF

Info

Publication number
KR101092658B1
KR101092658B1 KR1020080131276A KR20080131276A KR101092658B1 KR 101092658 B1 KR101092658 B1 KR 101092658B1 KR 1020080131276 A KR1020080131276 A KR 1020080131276A KR 20080131276 A KR20080131276 A KR 20080131276A KR 101092658 B1 KR101092658 B1 KR 101092658B1
Authority
KR
South Korea
Prior art keywords
server
metadata
hash value
metadata server
servers
Prior art date
Application number
KR1020080131276A
Other languages
English (en)
Other versions
KR20100072769A (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 KR1020080131276A priority Critical patent/KR101092658B1/ko
Publication of KR20100072769A publication Critical patent/KR20100072769A/ko
Application granted granted Critical
Publication of KR101092658B1 publication Critical patent/KR101092658B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS

Abstract

본 발명은 분산 파일 시스템에서 클러스터 메타데이터 서버의 캐시 효율을 높일 수 있는 메타데이터 서버 선택 방법을 제공하는 것으로, 본 발명의 분산 파일 시스템에서 메타데이터 서버 선택 방법은, 메타데이터 서버 정보의 항목들과 제 1 해시 값을 설정하는 단계, 상기 메타데이터 서버 정보의 특정 항목들에 따라 상기 제 1 해시 값에 대한 연산을 수행하여 연산 결과값에 해당하는 제 1 메타데이터 서버를 선택하는 단계, 상기 메타데이터 서버 정보의 특정 항목들에 따라 제 2 해시 값을 설정하고, 상기 제 2 해시 값에 따라 상기 제 1 메타데이터 서버나 제 2 메타데이터 서버를 선택하는 단계, 및 상기 특정 항목들 중 어느 한 항목에 따라 제 3 해시 값을 설정하고, 상기 제 3 해시 값에 따라 제 3 메타데이터 서버, 제 4 메타데이터 서버 또는 제 5 메타데이터 서버를 선택하는 단계를 포함하는 것을 특징으로 한다.
분산파일, 메타데이터, 서버, 클라이언트, 선택

Description

분산 파일 시스템 및 그의 메타데이터 서버 선택 방법{Distributed File System And Metadata Server Selection Method In The Same}
본 발명은 분산 파일 시스템 및 그의 메타데이터 서버 선택 방법에 관한 것으로, 특히 분산 파일 시스템에서 클러스터 메타데이터 서버의 캐시 효율을 높일 수 있는 메타데이터 서버 선택 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-016-02, 과제명: 저비용 대규모 글로벌 인터넷 서비스 솔루션 개발].
다수 클라이언트의 요청에 의해 단일 메타데이터 서버가 처리할 수 있는 메타데이터 관련 연산의 수는 한정되어 있다. 이러한 메타데이터 처리 성능을 향상시키기 위해 다수의 메타데이터 서버를 클러스터로 구성할 수 있다. 이러한 클러스터 메타데이터 서버는 처리 성능 향상과 더불어 고장에 대처할 수 있는 가용성을 가진다는 점에서 커다란 장점을 가진다.
클라이언트의 요청에 대해 해당 메타데이터 서버는 메타데이터를 디스크로부터 읽어서 메모리에 적재하고 클라이언트에 응답한다. 여기서, 클라이언트의 요청에 대해 해당 메타데이터 서버가 메타데이터를 디스크로부터 읽지 않고 메모리에 유지하고 있다면 훨씬 빠르게 응답할 수 있을 것이다.
메타데이터 서버는 클라이언트가 어떤 메타데이터를 요청할지 미리 예측할 수 없기 때문에 메모리 캐시의 효율을 높이기 위해서는 클라이언트가 특정 메타데이터는 특정 메타데이터 서버로 요청할 수 있도록 해야 한다.
클러스터 메타데이터 서버를 구성하는 메타데이터 서버들에 고장이 발생하거나 필요에 의해 메타데이터 서버가 추가되는 상황이 있을 수 있다. 이러한 상황에서 메모리 캐시에 적재된 메타데이터의 변경을 최소화해서 급격한 성능의 저하를 방지할 수 있어야 한다.
Phil Schwan이 2003년 7월에 리눅스 심포지움 2003에서 발표한 "Lustre: Building a file system for 1000-node clusters"에서는 클라이언트가 주어진 파일이나 디렉토리 경로에 대해 다수의 데이터 서버 중에 특정 데이터 서버를 매핑하기 위해 단일 메타데이터 서버와 해시 함수를 활용한 방법을 제안하였다. 매핑을 위한 해시 함수가 균등하게 클라이언트의 요청을 다수의 데이터 서버들에 분배한다면, 클라이언트는 해시 함수를 통해 얻은 값을 매핑하여 상응하는 데이터 서버에 곧바로 접근할 수 있으며, 균등한 서버의 선택으로 인해 다수의 클라이언트들이 데이터 서버들을 선택할 때 부하를 균등하게 분배할 수 있는 효과를 가진다. 하지만 단일 메타데이터 서버로 인해 메타데이터에 대한 확장성과 가용성이 좋지 못하다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 본 발명의 목적은 메타데이터 서버들의 고장 및 추가가 발생할 수 있는 상황에서도 클라이언트가 특정 메타데이터를 특정 메타데이터 서버로 요청하도록 최대한 보장함으로써 메타데이터 서버들의 메모리 캐시 효율을 높일 수 있는 분산 파일 시스템 및 그의 메타데이터 서버 선택 방법을 제공하는 데 있다.
이와 같은 목적을 달성하기 위한 본 발명의 분산 파일 시스템에서 메타데이터 서버 선택 방법은, 메타데이터 서버 정보의 항목들과 제 1 해시 값을 설정하는 단계; 상기 메타데이터 서버 정보의 특정 항목들에 따라 상기 제 1 해시 값에 대한 연산을 수행하여 연산 결과값에 해당하는 제 1 메타데이터 서버를 선택하는 단계; 상기 메타데이터 서버 정보의 특정 항목들에 따라 제 2 해시 값을 설정하고, 상기 제 2 해시 값에 따라 상기 제 1 메타데이터 서버나 제 2 메타데이터 서버를 선택하는 단계; 및 상기 특정 항목들 중 어느 한 항목에 따라 제 3 해시 값을 설정하고, 상기 제 3 해시 값에 따라 제 3 메타데이터 서버, 제 4 메타데이터 서버 또는 제 5 메타데이터 서버를 선택하는 단계를 포함하는 것을 특징으로 한다.
본 발명은, 다수의 메타데이터 서버들을 구비한 분산 파일 시스템의 클라이언트에 있어서, 상기 메타데이터 서버들에 관한 메타데이터 서버 정보를 저장하는 저장소; 및 상기 클라이언트가 접근하려는 메타데이터 경로를 입력 값으로 하는 해시 함수의 결과값과 상기 메타데이터 서버 정보를 참조하여 메타데이터 서버를 선택하는 메타데이터 서버 선택기를 포함하는 것을 특징으로 한다.
본 발명의 실시예들은 다수의 메타데이터 서버를 클러스터로 구성한 클러스터 메타데이터 서버 환경에서 클라이언트가 메타데이터 서버의 메모리 캐시 효율을 고려하여 적절한 메타데이터 서버를 선택함으로써 클러스터 메타데이터 서버의 메타데이터 처리 성능과 응답 성능을 향상시킬 수 있다.
본 발명의 실시예들은 메타데이터 서버의 메모리 캐시 효율을 고려하여 클라이언트가 적절한 메타데이터 서버에 요청하게 되면 해당 메타데이터 서버는 요청되는 메타데이터를 제공해주기 위해 디스크의 접근을 최소화할 수 있으며 메모리 캐시를 최대한 활용할 수 있어서 클라이언트의 요청에 대해 보다 빨리 응답할 수 있다.
본 발명의 실시예들은 메타데이터를 관리하는 메타데이터 서버들이 클러스터로 구성되어 있는 분산 파일 시스템에서 다수의 클라이언트들이 메타데이터로 접근할 때, 메타데이터 서버들의 메모리 캐시 효율을 높일 수 있다.
본 발명의 실시예들은 클라이언트가 고장이 발생한 메타데이터 서버에 대한 접근을 방지하며, 고장이 발생한 메타데이터 서버로의 접근을 다른 메타데이터 서버들로 고르게 분배하여 특정 서버로 접근이 집중되는 것을 방지하고 메모리 캐시 효율을 최대로 유지할 수 있도록 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 분산 파일 시스템의 구성도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 분산 파일 시스템(100)은, 다수의 클라이언트들(110-1 내지 110-n)(n은 2 이상의 자연수), 클러스터 메타데이터 서버(120), 그리고 다수의 클라이언트들(110-1 내지 110-n)과 클러스터 메타데이터 서버(120)를 접속시키는 네트워크(130)를 구비한다.
여기서, 클러스터 메타데이터 서버(120)는 다수의 메타데이터 서버들(121-1 내지 121-m)(m은 2 이상의 자연수)을 구비한다. 메타데이터 서버들(121-1 내지 121-m)은 각각 네트워크(130)를 통해 클라이언트들(110-1 내지 110-n)과 접속한다.
메타데이터 서버들(121-1 내지 121-m) 각각은 모든 메타데이터 서버들(121-1 내지 121-m)의 정보를 유지하며, 각 메타데이터 서버의 고장이나 추가를 감지하여 정보에 반영한다. 클라이언트들(110-1 내지 110-n) 각각은 마운트될 때 메타데이터 서버들(121-1 내지 121-m) 중 특정 메타데이터 서버로부터 모든 메타데이터 서버들(121-1 내지 121-m)에 대한 정보를 얻는다.
예를 들어, 클라이언트들(110-1 내지 110-n) 각각은 메타데이터 서버들(121-1 내지 121-m) 중 특정 메타데이터 서버에 접속이 실패하면 다음 메타데이터 서버 에 접속하여 메타데이터 서버들(121-1 내지 121-m)에 대한 정보를 얻어온다.
클라이언트들(110-1 내지 110-n)이 각각 메타데이터 서버들(121-1 내지 121-m) 중 어느 하나의 메타데이터 서버를 선택할 때, 메타데이터 서버 정보는 잠금을 통해 갱신이 지연된다.
클러스터 메타데이터 서버(120)에 추가된 메타데이터 서버는 자신의 메모리 캐시 상황을 고려하여 메타데이터 서버 정보의 추가 서버들의 번호를 변경함으로써, 메타데이터 서버의 메모리 캐시 효율 저하를 최소화할 수 있도록 클라이언트의 단계적 메타데이터 서버 선택을 지원한다.
도 2는 본 발명의 일실시예에 따른 클라이언트의 구성도이다. 도 2에서, 클라이언트(110)는 도 1의 클라이언트들(110-1 내지 110-n)과 동일한 클라이언트이다.
도 2를 참조하면, 클라이언트(110)가 접근하려는 메타데이터 경로(111)에 해당하는 메타데이터 서버의 선택은 최종적으로 메타데이터 서버 선택기(112)에 의해 수행되며, 메타데이터 서버 선택기(112)는 메타데이터 경로(111)를 입력 값으로 하는 해시 함수(112)의 결과값과 메타데이터 서버 정보(114)를 참조하여 메타데이터 서버들(121-1 내지 121-m) 중에 해당 메타데이터 서버를 선택한다.
해시 함수(112)는 메타데이터 경로(111)를 입력 값으로 이용하여 자신의 결과값을 생성한다.
메타데이터 서버 정보(114)는 저장소(미도시)에 저장되며, 도 3에 도시된 항목들을 포함한다.
도 3은 도 2의 메타데이터 서버 정보의 세부 항목들을 나타낸 도면이다.
도 3에 도시된 바와 같이, 메타데이터 서버 정보(114)는, 전체 서버 수(114-1), 고장 서버 수(114-2), 추가 서버 수(114-3), 서버 리스트(114-4), 고장 서버 번호(114-6), 및 추가 서버 번호(114-6)를 구비한다.
전체 서버 수(114-1)는 메타데이터 서버의 추가가 발생하지 않은 상태의 전체 메타데이터 서버의 수를 나타낸다.
고장 서버 수(114-2)는 고장이 발생한 메타데이터 서버의 수를 나타낸다.
추가 서버 수(114-3)는 추가된 메타데이터 서버의 수를 나타낸다.
서버 리스트(114-4)는 클러스터 메타데이터 서버에 구비된 모든 메타데이터 서버들의 인터넷 프로토콜(IP) 정보를 나타낸다.
고장 서버 번호(114-5)는 서버 리스트(114-4)에 포함된 모든 메타데이터 서버들 중 고장이 발생한 서버의 리스트 번호를 나타낸다.
추가 서버 번호(114-6)는 서버 리스트(114-4)에 추가되거나 재조직 중인 서버의 번호를 나타낸다.
도 4는 본 발명의 일실시예에 따른 분사 파일 시스템에서 메타데이터 서버 선택 방법을 나타낸 흐름도이다. 이하에서, 클라이언트는 도 1의 클라이언트들(110-1 내지 110-n) 중 어느 하나의 클라이언트이다.
도 4를 참조하면, 클라이언트는 메타데이터 서버 정보(114)를 유지하는 데이터 구조로부터 얻을 수 있는 전체 서버 수를 제 1 변수 A, 고장 서버 수를 제 2 변수 B, 추가 서버 수를 제 3 변수 C, 고장 서버 번호를 제 4 변수 L1, 그리고 추가 서버 번호를 제 5 변수 L2로 설정한다(S301). 그리고, 상기 클라이언트는 경로(111)에 대한 해시 함수(112)의 결과값을 해시 값 hvalue로 설정한다(S302).
이러한 설정이 완료되면, 상기 클라이언트는 설정한 제 3 변수 C가 0 인지를 판단한다(S303).
판단결과 설정한 제 3 변수 C가 0이면, 상기 클라이언트는 설정한 제 2 변수 B가 0인지를 판단하여(S304), 판단결과 0이 아니면, 상기 클라이언트는 설정된 해시 값 hvalue를 설정한 제 1 변수 A로 나눈(hvalue % A) 결과값을 산출하고 산출한 결과값과 일치하는 서버 리스트(114-4)의 번호에 해당하는 메타데이터 서버를 선택한다(S305).
판단 과정(S303)에서의 판단결과 설정한 제 3 변수 C가 0이 아니면, 상기 클라이언트는 설정한 해시 값 hvalue를 설정한 제 1 변수 A와 설정한 제 3 변수 C의 합으로 나눈(hvalue % (A + C)) 결과값을 산출하고 산출한 결과값을 해시 값 hvalue로 설정한다(S306). 그리고, 상기 클라이언트는 설정한 해시 값 hvalue가 제 5 변수 L2에 포함되는 지를 판단하여(S307), 판단결과 포함되면, 상기 클라이언트는 설정한 해시 값 hvalue와 일치하는 서버 리스트(114-4)의 번호에 해당하는 메타데이터 서버를 선택한다(S308).
판단 과정(S307)에서의 판단결과 설정한 해시 값 hvalue가 설정한 제 5 변수 L2에 포함되지 않으면, 상기 클라이언트는 경로(111)에 대한 해시 함수(112)의 결과값을 해시 값 hvalue로 설정하고(S309), 이어 설정한 해시 값 hvalue를 설정한 제 1 변수 A로 나눈(hvalue % A) 결과값을 산출하고 산출한 결과값을 해시 값 hvalue로 설정한다(S310).
설정 과정(S310)을 통해 해시 값 hvalue가 설정되면, 상기 클라이언트는 설정한 해시 값 hvalue가 설정한 제 5 변수 L2에 포함되는 지를 판단하여(S311), 판단결과 포함되면, 상기 클라이언트는 경로(111)에 대한 해시 함수(112)의 결과값을 해시 값 hvalue로 설정하고(S312), 이어 상기 클라이언트는 설정한 해시 값 hvalue를 설정한 제 1 변수 A와 설정한 제 3 변수 C의 합으로 나눈(hvalue % (A + C)) 결과값을 산출하고 산출한 결과값과 일치하는 서버 리스트(114-4)의 번호에 해당하는 메타데이터 서버를 선택한다(S313).
판단 과정(S311)에서의 판단결과 설정한 해시 값 hvalue가 설정한 제 5 변수 L2에 포함되지 않으면, 상기 클라이언트는 설정한 해시 값 hvalue와 일치하는 서버 리스트(114-4)의 번호에 해당하는 메타데이터 서버를 선택한다(S314).
판단 과정(S304)에서의 판단결과 설정한 제 2 변수 B가 0이 아니면, 상기 클라이언트는 설정한 해시 값 hvalue를 설정한 제 1 변수 A로 나눈(hvalue % A) 결과값을 산출하고 산출한 결과값을 해시 값 hvalue로 설정한다(S315). 그리고, 상기 클라이언트는 설정한 해시 값 hvalue가 제 4 변수 L1에 포함되는 지를 판단하여(S316), 판단결과 포함되지 않으면, 선택 과정(S305)으로 넘어간다.
판단 과정(S316)에서의 판단결과 설정한 해시 값 hvalue가 설정한 제 4 변수 L1에 포함되면, 상기 클라이언트는 경로(111)에 대한 해시 함수(112)의 결과값을 해시 값 hvalue로 설정하고(S317), 이어 상기 클라이언트는 설정한 해시 값 hvalue를 설정한 제 1 변수 A로부터 설정한 제 3 변수 C를 감산한 값으로 나눈(hvalue % (A - C)) 결과값을 산출하고 산출한 결과값을 해시 값 hvalue로 설정한다(S318). 그리고, 상기 클라이언트는 설정한 해시 값 hvalue와 제 4 변수 L1을 비교하여, 비교 결과를 통해 고장난 서버의 위치를 확인하고, 확인된 고장난 서버의 위치에 따라 해시 값 hvalue을 증가시켜 증가된 해시 값 hvalue와 일치하는 서버 리스트(114-4)의 번호에 해당하는 메타데이터 서버를 선택한다(S319).
선택 과정(S319)에서, 제 4 변수 L1에 1과 3이 포함될 때 해시 값 hvalue로 0, 1 및 2가 주어진다면, 해시 값 hvalue가 0일 경우는 그대로 0에 해당하는 메타데이터 서버가 선택되며, 해시 값 hvalue가 1일 경우는 제 4 변수 L1의 1보다 작지 않으므로 1이 증가해서 2에 해당하는 메타데이터 서버가 선택된다. 해시 값 hvalue가 2일 경우는 제 4 변수 L1의 1보다 작지 않으므로 1이 증가하고, 또한 증가한 값이 3보다 작지 않으므로 다시 1이 증가하여 결과적으로 4에 해당하는 메타데이터 서버가 선택된다.
전술한 바와 같이, 본 발명의 실시예들은 다수의 메타데이터 서버를 클러스터로 구성한 클러스터 메타데이터 서버 환경에서 클라이언트가 메타데이터 서버의 메모리 캐시 효율을 고려하여 적절한 메타데이터 서버를 선택함으로써 클러스터 메타데이터 서버의 메타데이터 처리 성능과 응답 성능을 향상시킬 수 있다. 그리고 본 발명의 실시예들은 메타데이터 서버의 메모리 캐시 효율을 고려하여 클라이언트가 적절한 메타데이터 서버에 요청하게 되면 해당 메타데이터 서버는 요청되는 메타데이터를 제공해주기 위해 디스크의 접근을 최소화할 수 있으며 메모리 캐시를 최대한 활용할 수 있어서 클라이언트의 요청에 대해 보다 빨리 응답할 수 있다.
본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술사상의 범위에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
도 1은 본 발명의 일실시예에 따른 분산 파일 시스템의 구성도.
도 2는 본 발명의 일실시예에 따른 클라이언트의 구성도.
도 3은 도 2의 메타데이터 서버 정보의 세부 항목들을 나타낸 도면.
도 4는 본 발명의 일실시예에 따른 분사 파일 시스템에서 메타데이터 서버 선택 방법을 나타낸 흐름도.

Claims (10)

  1. 메타데이터 서버 정보의 항목들과 제 1 해시 값을 설정하는 단계;
    상기 메타데이터 서버 정보의 특정 항목들에 따라 상기 제 1 해시 값에 대한 연산을 수행하여 연산 결과값에 해당하는 제 1 메타데이터 서버를 선택하는 단계;
    상기 메타데이터 서버 정보의 특정 항목들에 따라 제 2 해시 값을 설정하고, 상기 제 2 해시 값에 따라 상기 제 1 메타데이터 서버나 제 2 메타데이터 서버를 선택하는 단계; 및
    상기 특정 항목들 중 어느 한 항목에 따라 제 3 해시 값을 설정하고, 상기 제 3 해시 값에 따라 제 3 메타데이터 서버, 제 4 메타데이터 서버 또는 제 5 메타데이터 서버를 선택하는 단계
    를 포함하는 것을 특징으로 하는 분산 파일 시스템에서 메타데이터 서버 선택 방법.
  2. 제 1 항에 있어서, 상기 메타데이터 서버 정보의 항목들과 제 1 해시 값을 설정하는 단계는,
    상기 메타데이터 서버 정보의 전체 서버 수, 고장 서버 수, 추가 서버 수, 고장 서버 번호, 및 추가 서버 번호를 설정하는 단계; 및
    클라이언트가 접근하려는 메타데이터 서버의 경로를 입력 값으로 하는 해시 함수의 결과값을 상기 제 1 해시 값으로 설정하는 단계
    를 포함하는 것을 특징으로 하는 분산 파일 시스템에서 메타데이터 서버 선택 방법.
  3. 제 2 항에 있어서, 상기 제 1 메타데이터 서버를 선택하는 단계는,
    상기 추가 서버 수가 0이고 상기 고장 서버 수가 0이면, 상기 제 1 해시 값을 상기 전체 서버 수로 나눈 결과값을 산출하는 단계; 및
    상기 산출한 결과값과 일치하는 소정의 서버 리스트의 번호에 해당하는 상기 제 1 메타데이터 서버를 선택하는 단계
    를 포함하는 것을 특징으로 하는 분산 파일 시스템에서 메타데이터 서버 선택 방법.
  4. 제 2 항에 있어서, 상기 제 2 메타데이터 서버를 선택하는 단계는,
    상기 제 1 해시 값을 상기 전체 서버 수로 나눈 결과치를 상기 제 2 해시 값으로 설정하는 단계;
    상기 제 2 해시 값이 상기 고장 서버 번호에 포함되면, 상기 클라이언트가 접근하려는 메타데이터 서버의 경로에 대한 상기 해시 함수의 결과값을 상기 제 3 해시 값으로 설정하는 단계;
    상기 제 3 해시 값을 상기 전체 서버 수로부터 상기 추가 서버 수를 감산한 값으로 나눈 제 4 해시 값을 설정하는 단계; 및
    상기 제 4 해시 값과 상기 고장 서버 번호를 비교하여 비교 결과에 따라 상기 제 2 메타데이터 서버를 선택하는 단계
    를 포함하는 것을 특징으로 하는 분산 파일 시스템에서 메타데이터 서버 선택 방법.
  5. 제 4 항에 있어서, 상기 제 2 메타데이터 서버의 선택 단계는,
    상기 제 4 해시 값과 상기 고장 서버 번호를 비교하는 단계;
    비교 결과를 통해 고장난 서버의 위치를 확인하는 단계;
    상기 확인된 고장난 서버의 위치에 따라 상기 제 4 해시 값을 증가시키는 단계; 및
    상기 증가된 제 4 해시 값과 일치하는 소정의 서버 리스트의 번호에 해당하는 상기 제 2 메타데이터 서버를 선택하는 단계
    를 포함하는 것을 특징으로 하는 분산 파일 시스템에서 메타데이터 서버 선택 방법.
  6. 제 2 항에 있어서, 상기 제 3 메타데이터 서버의 선택 단계는,
    상기 추가 서버 수가 0이 아니면, 상기 제 1 해시 값을 상기 전체 서버 수와 상기 추가 서버 수의 합으로 나눈 결과치를 제 5 해시 값으로 설정하는 단계;
    상기 제 5 해시 값이 상기 추가 서버 번호에 포함되면, 상기 제 5 해시 값과 일치하는 소정의 서버 리스트의 번호에 해당하는 상기 제 3 메타데이터 서버를 선택하는 단계
    를 포함하는 것을 특징으로 하는 분산 파일 시스템에서 메타데이터 서버 선택 방법.
  7. 제 6 항에 있어서,
    상기 제 5 해시 값이 상기 추가 서버 번호에 포함되지 않으면, 상기 클라이언트가 접근하려는 메타데이터 서버의 경로에 대한 상기 해시 함수의 결과값을 제 6 해시 값으로 설정하는 단계;
    상기 제 6 해시 값을 상기 전체 서버 수로 나눈 결과치를 제 7 해시 값으로 설정하는 단계;
    상기 제 7 해시 값이 상기 추가 서버 번호에 포함되면, 상기 클라이언트가 접근하려는 메타데이터 서버의 경로에 대한 상기 해시 함수의 결과값을 제 8 해시 값으로 설정하는 단계; 및
    상기 제 8 해시 값을 상기 전체 서버 수와 상기 추가 서버 수의 합으로 나눈 결과치와 일치하는 소정의 서버 리스트의 번호에 해당하는 상기 제 4 메타데이터 서버를 선택하는 단계
    를 더 포함하는 것을 특징으로 하는 분산 파일 시스템에서 메타데이터 서버 선택 방법.
  8. 제 7 항에 있어서,
    상기 제 7 해시 값이 상기 추가 서버 번호에 포함되지 않으면, 상기 제 7 해시 값과 일치하는 상기 소정의 서버 리스트의 번호에 해당하는 상기 제 5 메타데이터 서버를 선택하는 단계
    를 더 포함하는 것을 특징으로 하는 분산 파일 시스템에서 메타데이터 서버 선택 방법.
  9. 다수의 메타데이터 서버를 구비한 분산 파일 시스템에 있어서,
    상기 메타데이터 서버들에 관한 메타데이터 서버 정보를 저장하는 저장소; 및
    클라이언트가 접근하려는 메타데이터 경로를 입력 값으로 하는 해시 함수의 결과값과 상기 메타데이터 서버 정보를 참조하여 메타데이터 서버를 선택하는 메타데이터 서버 선택기
    를 포함하는 것을 특징으로 하는 분산 파일 시스템.
  10. 제 9 항에 있어서, 상기 메타데이터 서버 정보는,
    메타데이터 서버의 추가가 발생하지 않은 상태의 전체 메타데이터 서버의 수를 나타내는 전체 서버 수, 고장이 발생한 메타데이터 서버의 수를 나타내는 고장 서버 수, 추가된 메타데이터 서버의 수를 나타내는 추가 서버 수, 클러스터 메타데이터 서버에 구비된 모든 메타데이터 서버들의 인터넷 프로토콜 정보를 나타내는 서버 리스트, 상기 서버 리스트에 포함된 모든 메타데이터 서버들 중 고장이 발생한 서버의 리스트 번호를 나타내는 고장 서버 번호, 및 상기 서버 리스트에 추가되거나 재조직 중인 서버의 번호를 나타내는 추가 서버 번호를 포함하는 것을 특징으로 하는 분산 파일 시스템.
KR1020080131276A 2008-12-22 2008-12-22 분산 파일 시스템 및 그의 메타데이터 서버 선택 방법 KR101092658B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080131276A KR101092658B1 (ko) 2008-12-22 2008-12-22 분산 파일 시스템 및 그의 메타데이터 서버 선택 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080131276A KR101092658B1 (ko) 2008-12-22 2008-12-22 분산 파일 시스템 및 그의 메타데이터 서버 선택 방법

Publications (2)

Publication Number Publication Date
KR20100072769A KR20100072769A (ko) 2010-07-01
KR101092658B1 true KR101092658B1 (ko) 2011-12-13

Family

ID=42635881

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080131276A KR101092658B1 (ko) 2008-12-22 2008-12-22 분산 파일 시스템 및 그의 메타데이터 서버 선택 방법

Country Status (1)

Country Link
KR (1) KR101092658B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101371202B1 (ko) 2012-04-19 2014-03-10 케이티하이텔 주식회사 멀티 메타데이터 서버 구조를 갖는 분산 파일 시스템 및 이를 이용한 데이터 처리 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102154653B1 (ko) * 2017-01-18 2020-09-10 한국전자통신연구원 토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법 및 이를 위한 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007134918A1 (en) 2006-05-23 2007-11-29 Noryan Holding Corporation Distributed storage

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007134918A1 (en) 2006-05-23 2007-11-29 Noryan Holding Corporation Distributed storage

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101371202B1 (ko) 2012-04-19 2014-03-10 케이티하이텔 주식회사 멀티 메타데이터 서버 구조를 갖는 분산 파일 시스템 및 이를 이용한 데이터 처리 방법

Also Published As

Publication number Publication date
KR20100072769A (ko) 2010-07-01

Similar Documents

Publication Publication Date Title
US11620187B2 (en) Distributing data on distributed storage systems
Konstantinou et al. On the elasticity of NoSQL databases over cloud management platforms
CN102591970B (zh) 一种分布式键-值查询方法和查询引擎系统
Zhang et al. A distributed cache for hadoop distributed file system in real-time cloud services
US9244958B1 (en) Detecting and reconciling system resource metadata anomolies in a distributed storage system
CN103218175B (zh) 多租户的云存储平台访问控制系统
CN110213352B (zh) 名字空间统一的分散自治存储资源聚合方法
US9378218B2 (en) Apparatus and method for enabling clients to participate in data storage in distributed file system
Minhas et al. Elastic scale-out for partition-based database systems
US8924513B2 (en) Storage system
Malkhi et al. From paxos to corfu: a flash-speed shared log
KR20130118088A (ko) 멀티 메타데이터 서버 구조를 갖는 분산 파일 시스템 및 이를 이용한 데이터 처리 방법
KR101092658B1 (ko) 분산 파일 시스템 및 그의 메타데이터 서버 선택 방법
Zhang et al. Minimum‐cost virtual machine migration strategy in datacenter
US20220391411A1 (en) Dynamic adaptive partition splitting
Bin et al. An efficient distributed B-tree index method in cloud computing
Sanchez et al. EclipseMR: distributed and parallel task processing with consistent hashing
Wei et al. Global virtual data space for unified data access across supercomputing centers
Aye Data Consistency on Private Cloud Storage System
Mohammad et al. Clustering the Cloud-A Model for (Self-) Tuning of Cloud Data Management Systems.
CN116303769A (zh) 一种分布式数据库分区方法及系统、电子设备、存储介质
Wang et al. A load-aware data placement policy on cluster file system
Memaripour et al. An adaptive storage and retrieval mechanism to reduce response-time in high performance computing clusters
Ueno et al. Cagra dependable distributed storage system for 3D computer graphics rendering
Myint et al. Improving Data Availability in Cloud Storage with Efficient Replication

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: 20151127

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161121

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181025

Year of fee payment: 8