KR20140080919A - 분산 파일 시스템에서 효율적인 자료 저장 방법 - Google Patents

분산 파일 시스템에서 효율적인 자료 저장 방법 Download PDF

Info

Publication number
KR20140080919A
KR20140080919A KR1020120150101A KR20120150101A KR20140080919A KR 20140080919 A KR20140080919 A KR 20140080919A KR 1020120150101 A KR1020120150101 A KR 1020120150101A KR 20120150101 A KR20120150101 A KR 20120150101A KR 20140080919 A KR20140080919 A KR 20140080919A
Authority
KR
South Korea
Prior art keywords
data
original file
size
servers
storing
Prior art date
Application number
KR1020120150101A
Other languages
English (en)
Other versions
KR101441059B1 (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 KR1020120150101A priority Critical patent/KR101441059B1/ko
Publication of KR20140080919A publication Critical patent/KR20140080919A/ko
Application granted granted Critical
Publication of KR101441059B1 publication Critical patent/KR101441059B1/ko

Links

Images

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode

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)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 분산 파일 시스템에서 크기가 큰 자료는 삭제 코드(erasure code) 방식을 이용하여 여러 개의 조각(slice)로 분할하여 적어도 2개 이상의 서버에 분할하여 저장하고, 크기가 작은 자료는 미러 방식을 이용하여 원 파일과 동일한 크기의 복제본을 추가로 저장하는 분산 파일 시스템에서 효율적인 자료 저장 방법을 제공하기 위한 것으로서, 데이터를 저장하기 위한 저장 공간을 갖는 로컬 스토리지를 포함하는 적어도 2개 이상의 서버로 구성되는 분산 파일 시스템의 분산 파일 운용 방법에 있어서, (A) 입력되는 원 파일의 크기를 미리 정의되어 있는 임계치와 비교하는 단계와, (B) 상기 비교결과, 원 파일의 크기가 설정된 임계치보다 크면 삭제 코드(erasure code) 방식을 이용하여 여러 개의 조각(slice)로 분할하여 적어도 2개 이상의 서버에 분할하여 저장하는 단계와, (C) 상기 비교결과, 원 파일의 크기가 설정된 임계치보다 작거나 같으면, 미러 방식을 이용하여 원 파일과 동일한 크기의 크기가 작은 데이터 복제본을 추가로 저장하는 단계를 포함하여 이루어지는데 있다.

Description

분산 파일 시스템에서 효율적인 자료 저장 방법{Method for effective data storage in distributed file system}
본 발명은 분산 파일 시스템에서 자료를 저장하는 방법에 관한 것으로, 특히 분산 파일 시스템에서 미러 방식 및 삭제 코드(erasure code) 방식을 혼용해서 사용자의 자료를 효율적으로 저장하는 방법에 관한 것이다.
네트워크를 이용하여 다수의 컴퓨터들을 연결함으로써 사용자에게 통합된 파일 시스템 환경을 제공해 주는 분산 파일 시스템은 다양한 인터넷 서비스 환경에서 사용되고 있다. 사용자의 참여로 새롭고 다양해지는 인터넷 서비스들로 인해 분산 파일 시스템에 요구되는 기능들은 더욱 많아지고 있다. 이러한 서비스 중 일부는 파일의 읽기뿐만 아니라 파일의 내용 변경, 내용 추가를 필요로 하고 있으며, 이러한 사용자의 요구를 만족시키기 위해 지속적으로 변화하고 있다. 특히, 분산 파일 시스템은 파일의 읽기 성능에 저하 없이 변경, 추가의 기능을 제공하도록 하면서 파일을 동시에 접근하는 다수의 클라이언트들에 의해 메타 데이터의 일관성이 깨지지 않도록 보장하는 것이 매우 중요하다.
이와 같은 분산 파일 시스템 내에는 동일한 파일을 동시에 접근하는 다수의 클라이언트들이 존재하기 때문에 여러 데이터 서버에 존재하는 파일 데이터에 대해 클라이언트가 올바르게 접근할 수 있도록 메타 데이터 정보를 일관되게 유지시켜야 한다.
예로서, A라는 파일이 데이터 서버 D1, D2, D3에 저장되어 있고, 파일 A를 읽고자 하는 클라이언트 C1과 파일 A에 추가하고자 하는 클라이언트 C2, C3이 동시에 존재한다면, 클라이언트 C1은 메타 데이터 서버 M에 있는 메타 데이터의 정보를 얻을 할 것이고, 클라이언트 C2, C3은 메타 데이터 서버 M에 있는 메타 데이터의 정보를 변경하려 할 것이다. 이때, 클라이언트 C2가 마지막 블록 정보를 블록 식별자를 쓰는 중간에 클라이언트 C1이 마지막 블록 정보의 블록 식별자를 읽는다면, 클라이언트 C2는 잘못된 블록 식별자로 인해 혼란을 겪게 될 것이다.
따라서, 이러한 문제를 해결하기 위해서는 동일한 파일에 동시에 접근하는 다수의 클라이언트들을 제어하기 위한 방법이 요구되며, 동시에 성능의 저하를 최소화할 수 있도록 하여야 할 것이다.
한편, 분산 파일 시스템은 데이터의 컨스턴트(constant)를 유지할 수 있도록 하기 위해 미러 방식을 이용하고 있다. 이는 원 파일 외에 또 다른 데이터의 복제본을 적어도 하나 이상 추가로 저장하고 있다가, 원 파일에 오류나 손실이 발생되면 미리 저장하고 있던 복제본을 이용하여 원 파일을 복구하는 방식이다. 이에 따라 기존의 분산 파일 시스템은 원 파일과 함께 복제본을 추가로 저장하고 있어야 하며, 또한 이러한 복제본은 원 파일과 동일한 데이터 크기를 갖고 있어서, 분산 파일 시스템 내에 원 파일의 저장 공간은 최소 2배 이상의 많은 저장 공간이 요구되는 문제점이 있었다.
이러한 문제점을 해결하기 위한 방법으로 등록특허공보 제10-1128998호(패리티 데이터를 이용한 분산 파일 운용 방법)에서는 추가로 복제본을 이용하지 않고, 입력되는 원 파일을 적어도 하나 이상의 데이터로 분할하고, 분할된 데이터에 각각 패리티 데이터를 결합한 분할 데이터를 다수 개 생성하여 적어도 2개 이상의 서버로 분할하여 저장함으로써, 복제본에 따른 저장 공간의 낭비를 막을 수 있을 뿐만 아니라, 원 파일에 오류나 손실이 발생되면 복수의 서버에 각각 저장되어 있는 분할 데이터의 패리티 데이터를 이용하여 원 파일을 복구하여 데이터의 컨스턴트도 유지할 수 있는 삭제 코드(erasure code) 방식이 기재되어 있다.
그러나 이러한 삭제 코드(erasure code) 방식의 경우는 원 파일이 어느 정도 큰 경우에는 복제본에 따른 저장 공간의 낭비를 막을 수 있는 효과를 나타낼 수 있으나, 원 파일의 크기가 작은 경우에는 다수개의 데이터로 분할하고, 패리티 데이터와 결합하여 복수의 서버에 분할하여 저장하여야 함에 따라, 자료를 저장함에 있어 복잡하고 많은 절차들이 발생됨은 물론, 이에 반해 저장 공간의 효과는 미비한 수준에 불과하다. 또한 원 파일의 복구에 있어서도 삭제 코드(erasure code) 방식의 경우는 분할되어 저장된 복수의 서버에서 해당 데이터를 모두 입력 받아야 처리 가능함에 따라 메타 데이터 서버(MDS)에 저장되는 메타 데이터의 정보의 양이 많아지게 되고 분할된 데이터를 다시 결합하여 복구해야 하는 등 그 과정이 매우 복잡해지는 문제점이 발생된다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 분산 파일 시스템에서 크기가 큰 자료는 삭제 코드(erasure code) 방식을 이용하여 여러 개의 조각(slice)로 분할하여 적어도 2개 이상의 서버에 분할하여 저장하고, 크기가 작은 자료는 미러 방식을 이용하여 원 파일과 동일한 크기의 복제본을 추가로 저장하는 분산 파일 시스템에서 효율적인 자료 저장 방법을 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 분산 파일 시스템에서 효율적인 자료 저장 방법의 특징은 데이터를 저장하기 위한 저장 공간을 갖는 로컬 스토리지를 포함하는 적어도 2개 이상의 서버로 구성되는 분산 파일 시스템의 분산 파일 운용 방법에 있어서, (A) 입력되는 원 파일의 크기를 미리 정의되어 있는 임계치와 비교하는 단계와, (B) 상기 비교결과, 원 파일의 크기가 설정된 임계치보다 크면 삭제 코드(erasure code) 방식을 이용하여 여러 개의 조각(slice)로 분할하여 적어도 2개 이상의 서버에 분할하여 저장하는 단계와, (C) 상기 비교결과, 원 파일의 크기가 설정된 임계치보다 작거나 같으면, 미러 방식을 이용하여 원 파일과 동일한 크기의 크기가 작은 데이터 복제본을 추가로 저장하는 단계를 포함하여 이루어지는데 있다.
바람직하게 상기 (B) 단계는 입력되는 원 파일을 적어도 하나 이상의 데이터로 분할하는 단계와, 상기 분할된 데이터에 각각 패리티 데이터를 결합한 하나 이상의 분할 데이터를 생성하는 단계와, 상기 생성된 분할 데이터를 적어도 2개 이상의 서버로 각각 전송하여 서버 내의 로컬 스토리지에 저장하는 단계와, 상기 로컬 스토리지에 각각 저장된 분할 데이터들의 위치정보를 포함하는 메타 정보를 별도의 메타 데이터 서버(MDS)에 저장하는 단계를 포함하는 것을 특징으로 한다.
바람직하게 상기 생성된 분할 데이터는 인코딩을 통해 패리티 데이터를 포함하는 로컬 스토리지의 한 프레임에 해당하는 부호어 크기로 생성되는 것을 특징으로 한다.
바람직하게 상기 (C) 단계는 클라이언트를 통해 입력되는 원 파일의 복제본을 적어도 하나 이상 생성하는 단계와, 상기 원 파일과 생성된 복제본을 2개 이상의 서버로 각각 전송하여 서버 내의 로컬 스토리지에 각각 저장하는 단계와, 상기 로컬 스토리지에 각각 저장된 원 파일 및 복제본들의 위치정보를 포함하는 메타 정보를 별도의 메타 데이터 서버(MDS)에 저장하는 단계를 포함하는 것을 특징으로 한다.
이상에서 설명한 바와 같은 본 발명에 따른 분산 파일 시스템에서 효율적인 자료 저장 방법은 다음과 같은 효과가 있다.
첫째, 크기가 큰 자료는 삭제 코드(erasure code) 방식을 이용하여 여러 개의 조각(slice)로 분할하여 적어도 2개 이상의 서버에 분할하여 저장함으로써, 원 파일의 오류나 손실된 파일 복구를 위해 추가로 저장되는 크기가 큰 데이터 복제본에 따른 추가 저장 공간을 제거할 수 있다. 또한 이 경우, 다수의 데이터 서버가 참여하므로 병렬 효과로 읽기/쓰기 처리량(throughput)이 올라가는 효과가 있다.
둘째, 크기가 작은 자료는 미러 방식을 이용하여 원 파일과 동일한 크기의 크기가 작은 데이터 복제본을 추가로 저장하여 복제본에 의한 저장 공간의 낭비를 최소한으로 막을 수 있는 효과가 있다. 또한 이 경우, 참여하는 데이터 서버의 수가 삭제 코드(erasure code)에서 참여하는 데이터 서버 수보다 적으므로 읽기/쓰기 지연(latency)이 짧아지는 효과가 있다.
셋째, 크기가 큰 자료는 삭제 코드 방식을 이용하고, 크기가 작은 자료는 미러 방식을 이용함에 따라 데이터의 컨스턴트(constant)를 유지할 수 있어 원 파일의 오류나 손실된 파일의 유연한 복구가 가능한 효과가 있다.
도 1 은 본 발명의 실시예에 따른 분산 파일 시스템의 전체 구조를 나타낸 구성도
도 2 는 본 발명의 실시예에 따른 분산 파일 시스템에서 효율적인 자료 저장 방법을 설명하기 위한 흐름도
도 3 은 본 발명에 따른 삭제 코드(erasure code) 방식을 이용한 자료의 분산 저장 방법을 설명하기 위한 도면
도 4 는 도 3의 부호어(codeword) 크기 단위의 분할 데이터를 생성하는 인코딩을 설명하기 위한 도면
도 5 는 본 발명에 따른 미러 방식을 이용한 자료의 분산 저장 방법을 설명하기 위한 도면
본 발명의 다른 목적, 특성 및 이점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
본 발명에 따른 분산 파일 시스템에서 효율적인 자료 저장 방법의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 1 은 본 발명의 실시예에 따른 분산 파일 시스템의 전체 구조를 나타낸 구성도이다.
도 1과 같이, 분산 파일 시스템(100)은 복수의 서버(110a~110n)와, 상기 각각의 서버(100a~11n)에 데이터를 저장하기 위한 저장 공간을 갖는 로컬 스토리지(120a~120n)로 구성된다.
일 예로, 분산 파일 시스템(100)을 구성하는 서버(110a~110n) 각각은 자신의 로컬 스토리지(120a~120n)에 저장된 데이터에 대해 발생한 이벤트를 감지할 수 있다. 이때, 데이터는 파일 또는 디렉터리를 의미할 수 있다. 또한, 이벤트는 파일 또는 디렉터리에 대한 변경, 삭제 또는 생성을 의미한다.
따라서 제 2 로컬 스토리지(120b)에 저장된 데이터에 대한 이벤트가 발생하면, 제 2 서버(110b)는 자신을 제외한 분산 파일 시스템(110)의 다른 서버에 이벤트를 통해 변경된 데이터를 전송함으로써, 전체적으로 서버 간에 동일한 데이터 상태가 유지될 수 있다.
그리고 데이터 입출력을 통해 하드웨어인 로컬 스토리지(120a~120n)에서 이벤트를 감지하면, 이벤트에 의해 변경된 데이터의 내용을 어플리케이션에 통보한다. 이때 어플리케이션은 분산 파일 시스템(100)을 구성하는 복수의 서버(110a~110n)에서 동작하는 프로그램을 의미할 수 있다. 즉 분산 파일 시스템(100)은 서버(100a~110n) 각각이 제공하는 서비스 별 프로그래밍 언어로 구현된 전용 어플리케이션을 사용하여 데이터 입출력을 통해 이벤트를 감지하게 된다.
그러면 분산 파일 시스템(100)은 운영체제에 따라 결정되는 로컬 스토리지(120a~120n)의 데이터 형태에 기초하여 이미 구현된 데이터 입출력을 사용할 수 있다.
이처럼 분산 파일 시스템(100)은 다른 서버에 이벤트에 따른 데이터 변경을 반영하기 위해 어플리케이션을 통해 변경된 데이터를 다른 서버에 전송할 수 있다. 반대로, 분산 파일 시스템(100)은 어플리케이션을 통해 변경된 데이터에 대해 다른 서버로부터 수신할 수 있다. 이때, 어플리케이션은 다른 서버로부터 수신한 변경된 데이터를 해당 서버의 로컬 스토리지에 반영할 수 있다. 데이터를 전송하고, 데이터를 수신하는 과정은 분산 파일 시스템(100)을 구성하는 복수의 서버(110a~110n) 각각이 공통적으로 수행할 수 있다.
이와 같이 구성된 본 발명에 따른 분산 파일 시스템에서 효율적인 자료 저장 방법을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다. 도 1과 동일한 참조부호는 동일한 기능을 수행하는 동일한 부재를 지칭한다.
도 2 는 본 발명의 실시예에 따른 분산 파일 시스템에서 효율적인 자료 저장 방법을 설명하기 위한 흐름도이다.
도 2를 참조하여 설명하면, 먼저 분산 파일 시스템(100)은 원 파일이 입력되면(S10), 분산 파일 시스템(100)내의 스토리지 API(미도시)에서 입력되는 원 파일의 크기를 미리 정의되어 있는 임계치와 비교한다(S20). 이때, 상기 임계치는 원 파일을 여러 개의 조각(slice)로 분할하여 적어도 2개 이상의 서버에 분할하여 저장하는 경우와, 원 파일과 동일한 크기의 복제본을 적어도 1개 이상의 서버에 추가로 저장하는 경우를 비교하였을 때, 저장 공간(로컬 스토리지, 메타데이터 서버(MDS))의 낭비를 최소화하면서도 저장 및 복구에 따른 계산량을 최적화할 수 있는 값으로서, 바람직하게는 512Kb를 갖는다.
상기 비교결과(S20), 원 파일의 크기가 설정된 임계치보다 크면 삭제 코드(erasure code) 방식을 이용하여 여러 개의 조각(slice)로 분할하여 적어도 2개 이상의 서버에 분할하여 저장한다(S30~S60).
상기 삭제 코드(erasure code) 방식을 이용한 저장방법을 도 3을 참조하여 좀 더 상세히 설명하면, 먼저 클라이언트를 통해 입력되는 원 파일을 각 서버 내 로컬 스토리지의 한 프레임에 해당하는 부호어(codeword) 크기 단위로 분할한다(S30). 그리고 상기 분할된 데이터에 각각 패리티 데이터를 결합한 하나 이상의 분할 데이터를 생성한다(S40). 즉 도 4와 같이, 원 파일은 로컬 스토리지의 부호어(codeword) 크기 단위가 'i'인 경우, 패리티 데이터가 포함될 크기 'm'을 제외한 나머지 크기인 'k' 단위로 분할되어, D1~D5로 각각 분할된다. 이때 분할된 분할 데이터에 패리티 데이터를 포함하기 위한 'm'의 크기는 데이터의 중요도 정도에 따라 중요도가 높은 경우에는 'm'의 크기가 커지고, 중요도가 낮은 경우에는 'm'의 크기가 작아지므로, 이는 관리자에 의해 변경 가능한 것에 주의하여야 한다. 참고로 'm'의 크기가 크다는 것은 패리티 데이터의 비트수가 많아지는 것을 뜻하며, 패리티 비트가 많을수록 데이터 복구 능력이 좋아지게 됨이 당연하다.
이렇게 생성된 상기 분할 데이터를 적어도 2개 이상의 서버로 각각 전송하여 서버 내의 로컬 스토리지(120a~120n)에 각각 저장한다(S50). 그러면 도 3에 도시되고 있는 것과 같이, 상기 패리티 데이터가 결합되어 생성된 분할 데이터(sb1, sb2, .., sbn)를 다수개의 서버(110a~110n)로 각각 전송하여 제 1 서버(110a)내의 제 1 로컬 스토리지(120a)에는 제 1 분할 데이터(sb1)를 저장하고, 제 2 서버(110b)내의 제 2 로컬 스토리지(120b)에는 제 2 분할 데이터(sb2)를 저장하고, 제 3 서버(110c)내의 제 3 로컬 스토리지(120c)에는 제 3 분할 데이터(sb3)를 저장한다. 이러한 방식으로 마지막에는 제 n 서버(110n)내의 제 n 로컬 스토리지(120n)에는 제 n 분할 데이터(sbn)를 저장하게 된다. 이때, 패리티 데이터의 크기에 따라 다르지만 대부분 마지막의 제 n 로컬 스토리지(120n)에는 패리티 데이터가 저장되게 된다.
그리고 분산 파일 시스템(100)은 서버들(110a~110n)의 로컬 스토리지(120a~120n)에 각각 저장된 분할 데이터들의 위치정보를 포함하는 메타 정보를 별도의 메타 데이터 서버(MDS)(130)에 저장한다(S60). 이처럼, 원 파일의 크기가 설정된 임계치보다 크면 삭제 코드(erasure code) 방식을 이용하여 하나의 원 파일이 n 개로 분할되고, 분할된 각각의 데이터에 패리티 데이터를 결합한 분할 데이터를 각각의 서버 내 로컬 스토리지에 각각 분할하여 저장한다.
한편, 상기 비교결과(S20), 원 파일의 크기가 설정된 임계치보다 작거나 같으면, 미러 방식을 이용하여 원 파일과 동일한 크기의 크기가 작은 데이터 복제본을 추가로 저장한다(S70~S90).
상기 미러 방식 방식을 이용한 저장방법을 도 5를 참조하여 좀 더 상세히 설명하면, 먼저 클라이언트를 통해 입력되는 원 파일의 복제본을 적어도 1개 이상 생성한다(S70). 본 발명에서는 1+2 미러 방식을 적용하여 하나의 원 파일과 2개의 복제본을 생성한다. 그러나 이는 일 실시예에 해당되는 것으로 이에 한정되지는 않는다. 즉, 복제본이 많을수록 데이터 복구 능력이 좋아지게 됨에 따라 데이터의 중요도 정도에 따라 중요도가 높을수록 복제본의 개수를 많이 생성한다. 따라서, 이는 관리자에 의해 변경 가능한 것에 주의하여야 한다.
이어 상기 원 파일과 생성된 복제본을 2개 이상의 서버로 각각 전송하여 서버 내의 로컬 스토리지(120a~120c)에 각각 저장한다(S80). 그러면 도 5에 도시되고 있는 것과 같이, 상기 원 파일은 제 1 서버(110a)내의 제 1 로컬 스토리지(120a)에는 원 파일을 저장하고, 제 2 서버(110b)내의 제 2 로컬 스토리지(120b)에는 제 1 복제본을 저장하고, 제 3 서버(110c)내의 제 3 로컬 스토리지(120c)에는 제 2 복제본을 저장한다.
그리고 분산 파일 시스템(100)은 서버들(110a~110c)의 로컬 스토리지(120a~120c)에 각각 저장된 원 파일 및 복제본들의 위치정보를 포함하는 메타 정보를 별도의 메타 데이터 서버(MDS)(130)에 저장한다(S90). 이처럼, 원 파일의 크기가 설정된 임계치보다 작거나 같으면 미러 방식 방식을 이용하여 원 파일과 이를 복제한 복제본을 각각의 서버 내 로컬 스토리지에 각각 분할하여 저장한다.
이에 따라, 데이터의 컨스턴트(constant)를 유지하여 원 파일의 오류나 손실된 파일의 유연한 복구가 가능하면서도 저장 공간의 낭비를 최소한으로 막을 수 있다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술적 분야의 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (4)

  1. 데이터를 저장하기 위한 저장 공간을 갖는 로컬 스토리지를 포함하는 적어도 2개 이상의 서버로 구성되는 분산 파일 시스템의 분산 파일 운용 방법에 있어서,
    (A) 입력되는 원 파일의 크기를 미리 정의되어 있는 임계치와 비교하는 단계와,
    (B) 상기 비교결과, 원 파일의 크기가 설정된 임계치보다 크면 삭제 코드(erasure code) 방식을 이용하여 여러 개의 조각(slice)로 분할하여 적어도 2개 이상의 서버에 분할하여 저장하는 단계와,
    (C) 상기 비교결과, 원 파일의 크기가 설정된 임계치보다 작거나 같으면, 미러 방식을 이용하여 원 파일과 동일한 크기의 크기가 작은 데이터 복제본을 추가로 저장하는 단계를 포함하여 이루어지는 것을 특징으로 하는 분산 파일 시스템에서 효율적인 자료 저장 방법.
  2. 제 1 항에 있어서, 상기 (B) 단계는
    입력되는 원 파일을 적어도 하나 이상의 데이터로 분할하는 단계와,
    상기 분할된 데이터에 각각 패리티 데이터를 결합한 하나 이상의 분할 데이터를 생성하는 단계와,
    상기 생성된 분할 데이터를 적어도 2개 이상의 서버로 각각 전송하여 서버 내의 로컬 스토리지에 저장하는 단계와,
    상기 로컬 스토리지에 각각 저장된 분할 데이터들의 위치정보를 포함하는 메타 정보를 별도의 메타 데이터 서버(MDS)에 저장하는 단계를 포함하는 것을 특징으로 하는 분산 파일 시스템에서 효율적인 자료 저장 방법.
  3. 제 2 항에 있어서,
    상기 생성된 분할 데이터는 인코딩을 통해 패리티 데이터를 포함하는 로컬 스토리지의 한 프레임에 해당하는 부호어 크기로 생성되는 것을 특징으로 하는 분산 파일 시스템에서 효율적인 자료 저장 방법.
  4. 제 1 항에 있어서, 상기 (C) 단계는
    클라이언트를 통해 입력되는 원 파일의 복제본을 적어도 하나 이상 생성하는 단계와,
    상기 원 파일과 생성된 복제본을 2개 이상의 서버로 각각 전송하여 서버 내의 로컬 스토리지에 각각 저장하는 단계와,
    상기 로컬 스토리지에 각각 저장된 원 파일 및 복제본들의 위치정보를 포함하는 메타 정보를 별도의 메타 데이터 서버(MDS)에 저장하는 단계를 포함하는 것을 특징으로 하는 분산 파일 시스템에서 효율적인 자료 저장 방법.
KR1020120150101A 2012-12-20 2012-12-20 분산 파일 시스템에서 효율적인 자료 저장 방법 KR101441059B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120150101A KR101441059B1 (ko) 2012-12-20 2012-12-20 분산 파일 시스템에서 효율적인 자료 저장 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120150101A KR101441059B1 (ko) 2012-12-20 2012-12-20 분산 파일 시스템에서 효율적인 자료 저장 방법

Publications (2)

Publication Number Publication Date
KR20140080919A true KR20140080919A (ko) 2014-07-01
KR101441059B1 KR101441059B1 (ko) 2014-09-25

Family

ID=51732331

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120150101A KR101441059B1 (ko) 2012-12-20 2012-12-20 분산 파일 시스템에서 효율적인 자료 저장 방법

Country Status (1)

Country Link
KR (1) KR101441059B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271360A (zh) * 2018-08-03 2019-01-25 北京城市网邻信息技术有限公司 分布式对象存储数据冗余方法、装置、设备及存储介质
WO2019022508A1 (ko) * 2017-07-28 2019-01-31 한양대학교 산학협력단 데이터 저장을 위한 소실 부호의 부호화 방법 및 장치
US10740198B2 (en) 2016-12-22 2020-08-11 Purdue Research Foundation Parallel partial repair of storage

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10073738B2 (en) * 2015-08-14 2018-09-11 Samsung Electronics Co., Ltd. XF erasure code for distributed storage systems
US10902144B2 (en) 2017-08-25 2021-01-26 Electronics And Telecommunications Research Institute Method and apparatus for securing data

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516354B2 (en) 2004-08-25 2009-04-07 International Business Machines Corporation Storing parity information for data recovery
KR100721292B1 (ko) * 2005-10-11 2007-05-25 주식회사 레인콤 휴대용 멀티미디어의 하드디스크 액세스 장치 및 그 방법
KR100754522B1 (ko) * 2006-07-24 2007-09-03 삼성전자주식회사 효율적으로 이미지를 저장하는 호스트장치 및 이를 이용한이미지저장방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740198B2 (en) 2016-12-22 2020-08-11 Purdue Research Foundation Parallel partial repair of storage
WO2019022508A1 (ko) * 2017-07-28 2019-01-31 한양대학교 산학협력단 데이터 저장을 위한 소실 부호의 부호화 방법 및 장치
US11153037B2 (en) 2017-07-28 2021-10-19 Industry-University Cooperation Foundation Hanyang University Method and apparatus for encoding erasure code for storing data
CN109271360A (zh) * 2018-08-03 2019-01-25 北京城市网邻信息技术有限公司 分布式对象存储数据冗余方法、装置、设备及存储介质

Also Published As

Publication number Publication date
KR101441059B1 (ko) 2014-09-25

Similar Documents

Publication Publication Date Title
US11907585B2 (en) Storing data sequentially in zones in a dispersed storage network
US11327689B1 (en) Storage unit including memories of different operational speeds for optimizing data storage functions
US10437672B2 (en) Erasure coding and replication in storage clusters
US10019192B2 (en) Policy-based hierarchical data protection in distributed storage
US10248506B2 (en) Storing data and associated metadata in a dispersed storage network
US8209363B2 (en) File system adapted for use with a dispersed data storage network
US11093387B1 (en) Garbage collection based on transmission object models
US20130282976A1 (en) Self-protecting mass storage systems and methods
KR101441059B1 (ko) 분산 파일 시스템에서 효율적인 자료 저장 방법
US11003554B2 (en) RAID schema for providing metadata protection in a data storage system
US20200278913A1 (en) Policy-based hierarchical data protection in distributed storage
US20190205033A1 (en) Storing data utilizing a maximum accessibility approach in a dispersed storage network
CN110419029B (zh) 在分布式存储网络中部分更新数据内容的方法
CN109478125B (zh) 操纵分布式一致性协议以识别期望的存储单元集
US20190347165A1 (en) Apparatus and method for recovering distributed file system
US11334456B1 (en) Space efficient data protection
JP2018524705A (ja) データ転送中にデータアクセス要求を処理するための方法及びシステム
US20190026147A1 (en) Avoiding index contention with distributed task queues in a distributed storage system
US20220066879A1 (en) Metadata Based Listing in a Distributed Storage System
US10691557B1 (en) Backup file recovery from multiple data sources
US11645333B1 (en) Garbage collection integrated with physical file verification
US10880388B1 (en) Automatic redirection in scale-out cluster environments that perform distributed deduplication
US10360107B2 (en) Modifying allocation of storage resources in a dispersed storage network
US11586595B1 (en) Space-efficient techniques for generating unique instances of data objects
US20220261155A1 (en) Utilizing Memories of Different Operational Speeds in a Vast Storage Network

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

Payment date: 20180830

Year of fee payment: 5