KR101010219B1 - Asymmetric Distributed File System, And Incremental Consistency Error Check And Recovery Method For The Same - Google Patents

Asymmetric Distributed File System, And Incremental Consistency Error Check And Recovery Method For The Same Download PDF

Info

Publication number
KR101010219B1
KR101010219B1 KR1020080127872A KR20080127872A KR101010219B1 KR 101010219 B1 KR101010219 B1 KR 101010219B1 KR 1020080127872 A KR1020080127872 A KR 1020080127872A KR 20080127872 A KR20080127872 A KR 20080127872A KR 101010219 B1 KR101010219 B1 KR 101010219B1
Authority
KR
South Korea
Prior art keywords
chunk
metadata
file system
server
distributed file
Prior art date
Application number
KR1020080127872A
Other languages
Korean (ko)
Other versions
KR20100069234A (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 KR1020080127872A priority Critical patent/KR101010219B1/en
Publication of KR20100069234A publication Critical patent/KR20100069234A/en
Application granted granted Critical
Publication of KR101010219B1 publication Critical patent/KR101010219B1/en

Links

Images

Classifications

    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

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

Abstract

본 발명은 네트워크 기반의 비대칭 분산 파일 시스템에서 파일 시스템의 구조적 일관성을 유지할 수 있는 점진적 일관성 오류 감지 및 복구 방법을 제공하는 것으로, 본 발명의 비대칭 분산 파일 시스템에서 점진적 일관성 오류 감지 및 복구 방법은, 메타데이터 서버와 데이터 서버에 청크 크기 및 청크 버전의 정보을 유지하는 단계; 상기 메타데이터 서버의 청크 정보와 상기 데이터 서버의 청크 정보를 동기화하여 변경시켜 점진적 일관성 검사를 위한 파일 기록을 수행하는 단계; 상기 기록된 청크 정보들의 상호 비교를 통해 점진적 일관성 검사를 병행하여 파일 읽기를 수행하는 단계; 및 상기 검사에 따른 상기 메타데이터 서버와 상기 데이터 서버 간의 상호 참조 일관성 오류를 점진적으로 치유하는 단계를 포함하는 것을 특징으로 한다.The present invention provides a progressive coherence error detection and recovery method that can maintain the structural consistency of the file system in a network-based asymmetric distributed file system, the progressive coherence error detection and recovery method in the asymmetric distributed file system of the present invention, Maintaining the chunk size and chunk version information in the data server and the data server; Synchronizing and changing the chunk information of the metadata server and the chunk information of the data server to perform file recording for a gradual consistency check; Performing a file read in parallel with a gradual consistency check through mutual comparison of the recorded chunk information; And gradually healing cross-reference coherence errors between the metadata server and the data server according to the checking.

비대칭분산파일, 점진적, 일관성오류, 감지, 복구 Asymmetric Distributed File, Incremental, Consistency Error, Detect, Repair

Description

비대칭 분산 파일 시스템과 그의 점진적 일관성 오류 감지 및 복구 방법{Asymmetric Distributed File System, And Incremental Consistency Error Check And Recovery Method For The Same}Asymmetric Distributed File System, And Incremental Consistency Error Check And Recovery Method For The Same}

본 발명은 비대칭 분산 파일 시스템과 그의 점진적 일관성 오류 감지 및 복구 방법에 관한 것으로, 특히 네트워크 기반의 비대칭 분산 파일 시스템에서 파일 시스템의 구조적 일관성(structural consistency)을 유지할 수 있는 점진적 일관성 오류 감지 및 복구 방법에 관한 것이다.The present invention relates to an asymmetric distributed file system and its progressive coherence error detection and recovery method, and more particularly to a progressive coherent error detection and recovery method capable of maintaining structural consistency of a file system in a network-based asymmetric distributed file system. It is about.

본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-016-02, 과제명: 저비용 대규모 글로벌 인터넷 서비스 솔루션 개발].The present invention is derived from the research conducted as part of the IT growth engine technology development project of the Ministry of Knowledge Economy and the Ministry of Information and Communication Research and Development. [Task management number: 2007-S-016-02, Title: Development of a low-cost large-scale global Internet service solution ].

모든 파일 시스템은 독자적인 저장 구조를 가지고 있으며, 장애에 대비하여 파일 시스템 일관성 검사 및 복구(FSCR: File System Check and Recovery) 절차를 같이 제공해야 한다. 현재 널리 사용되고 있는 FAT 파일 시스템의 CHKDSK 유틸리 티, ext2, ext3 파일 시스템의 fsck 유틸리티, 및 NT 파일 시스템의 scandisk 유틸리티 등이 이러한 목적을 위해 제공되는 복구 절차이다. 그리고, 비대칭 분산 파일 시스템(ADFS: Asymetric Distributed File System)도 이러한 목적의 복구 절차를 제공해야 한다.Every file system has its own storage structure and must provide File System Check and Recovery (FSCR) procedures in case of failure. CHKDSK utilities of the FAT file system, fsck utility of ext2 and ext3 file systems, and scandisk utility of NT file systems are widely used for this purpose. In addition, an asymmetric distributed file system (ADFS) must also provide recovery procedures for this purpose.

비대칭 분산 파일 시스템은 메타데이터 서버와 데이터 서버가 별도로 존재하는 구조이다. 즉, 비대칭 분산 파일 시스템은 모든 메타 데이터 처리를 담당하는 메타데이터 서버(MDS: MetaData Server)와 모든 데이터 처리를 담당하는 데이터 서버(DS: Data Server), 그리고 이들에게 접근하여 파일 서비스를 제공하기 위한 클라이언트들이 네트워크로 서로 연결되어 있는 구조를 갖는다. 이 구조에서는 모든 파일의 실제 데이터는 다수의 데이터 서버에 분산 저장되며, 그 위치 정보가 해당 파일의 메타데이터의 일부로서 메타데이터 서버에 저장되는 구조를 가진다. 이와 같은 상호 간의 저장 구조는 어떠한 경우라도 결함이 발생하지 않아야 하지만, 현실적으로는 다수의 서버로 구성되는 비대칭 분산 파일 시스템의 특성상 장애 직후 최근 변경 사항의 일부분에 구조적 결함이 발생하는 것을 완전히 막을 수는 없다. 따라서, 이러한 종류의 구조적 결함은 적절한 FSCR 절차에 의해 모두 탐색되어 수정될 수 있어야 한다.The asymmetric distributed file system is a structure in which a metadata server and a data server exist separately. That is, the asymmetric distributed file system is a metadata server (MDS) that handles all metadata processing, a data server (DS) that handles all data processing, and accesses to provide a file service. Clients are connected to each other via a network. In this structure, the actual data of every file is distributed and stored in multiple data servers, and the location information is stored in the metadata server as part of the metadata of the file. Such mutual storage structures should not fail in any case, but in reality, due to the nature of an asymmetric distributed file system consisting of multiple servers, it is not possible to completely prevent structural defects from occurring in a part of recent changes immediately after a failure. . Therefore, this kind of structural flaw should be searchable and corrected by the appropriate FSCR procedure.

분산 파일 시스템의 일관성 검사 방식은 크게 전수 검사 절차와 로그 기반 검사 및 복구 절차로 나뉜다.Consistency check method of distributed file system is divided into full check procedure and log based check and recovery procedure.

전수 검사 절차는 모든 메타데이터 및 데이터 전체를 차례대로 읽어 들여 상호 참조를 검증하는 방법을 사용하므로 모든 종류의 일관성 오류를 검출하고 복구 할 수 있는 최후의 수단이지만, 많은 시간을 요구하는 작업이다. 이 과정을 최대한 효율적으로 진행하기 위한 다양한 시도들이 있으나 모든 파일에 대한 전수 검사라는 기본적인 특징을 완전히 극복할 수 있는 방법은 존재하지 않는다. 따라서, 장애 후 신속한 시스템 재기동을 요하는 분야에서는 일정 부분 한계를 가진다.The full inspection procedure uses a method of reading all metadata and all data in turn to verify cross-references, which is the last resort to detect and repair any kind of consistency error, but it is a time-consuming task. There are various attempts to make this process as efficient as possible, but there is no way to completely overcome the basic feature of full inspection of all files. Therefore, there are some limitations in the field requiring rapid system restart after failure.

로그에 의한 검사 및 복구 절차는 최근에 변경된 파일들에 대해 클라이언트(Client), 메타데이터 서버 및 데이터 서버 측에 각각의 로그 파일을 두고 장애가 발생한 경우, 이들 로그만에 기반하여 검사 및 복구 절차를 수행한다. 따라서, 저장 공간 전체를 탐색할 필요가 없다는 장점을 가지고 있다. 그러나 로그에 미처 기록되지 못한 파일이나, 로그 자체가 유실된 경우 이 방법을 적용할 수 없으며 최후의 수단으로서 전수 검사를 피할 수 없게 된다.The log check and recovery procedure puts each log file on the client, metadata server, and data server side for recently changed files, and performs a check and recovery procedure based on these logs only in case of a failure. do. Thus, there is no need to search the entire storage space. However, this method is not applicable if a file that is not already recorded in the log or the log itself is lost, and as a last resort, a full inspection cannot be avoided.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 본 발명의 목적은 로그 유실과 같은 최악의 상황에서 전수 검사 없이 신속하게 시스템을 재기동하도록 하고 파일 접근시 일관성 검사를 점진적으로 수행하여 일관성 문제없이 서비스를 재개할 수 있도록 하는 비대칭 분산 파일 시스템과 그의 점진적 일관성 오류 감지 및 복구 방법을 제공하는 데 있다.The present invention is to solve the above problems, the object of the present invention is to quickly restart the system without a full check in the worst case, such as log loss, and to perform a consistency check when accessing the file gradually service without consistency problems Asymmetric distributed file system and its incremental consistency error detection and recovery method are provided.

본 발명의 다른 목적은 일관성 문제없이 서비스를 재개할 수 있도록 함으로써, 전수 검사를 시스템의 부하가 낮은 시기로 연기할 수 있도록 하는 비대칭 분산 파일 시스템과 그의 점진적 일관성 오류 감지 및 복구 방법을 제공하는 데 있다.Another object of the present invention is to provide an asymmetric distributed file system and its progressive coherence error detection and recovery method, which enables the service to be resumed without a consistency problem, so that the full inspection can be postponed to a low load of the system. .

본 발명의 또 다른 목적은 로그 유실시라도 장애 후 전수 검사 절차 없이 시스템을 재기동하더라도 일관성이 저해된 파일을 사용자가 접근하지 않도록 방지하고 파일 접근이 지속 됨과 함께 이들의 일관성 오류가 시간이 지남에 따라 점진적으로 자연 치유될 수 있도록 하는 비대칭 분산 파일 시스템과 그의 점진적 일관성 오류 감지 및 복구 방법을 제공하는 데 있다.Another object of the present invention is to prevent users from accessing files whose consistency has been impaired even if the system is restarted without a full inspection procedure after failure, even if the log is lost, and the file access is continued and their consistency errors over time. It is to provide an asymmetric distributed file system that can be gradually healed naturally and its progressive consistency error detection and recovery method.

본 발명의 또 다른 목적은 장애에 대비하기 위하여 정상적인 운영 과정에서 추가 부담을 요구하지 않아 성능을 향상시킬 수 있는 비대칭 분산 파일 시스템과 그의 점진적 일관성 오류 감지 및 복구 방법을 제공하는 데 있다.It is still another object of the present invention to provide an asymmetric distributed file system and its progressive coherence error detection and recovery method which can improve performance by requiring no additional burden during normal operation in order to prepare for a failure.

이와 같은 목적을 달성하기 위한 본 발명의 비대칭 분산 파일 시스템에서 점진적 일관성 오류 감지 및 복구 방법은, 메타데이터 서버와 데이터 서버에 청크 크기 및 청크 버전의 정보을 유지하는 단계; 상기 메타데이터 서버의 청크 정보와 상기 데이터 서버의 청크 정보를 동기화하여 변경시켜 점진적 일관성 검사를 위한 파일 기록을 수행하는 단계; 상기 기록된 청크 정보들의 상호 비교를 통해 점진적 일관성 검사를 병행하여 파일 읽기를 수행하는 단계; 및 상기 검사에 따른 상기 메타데이터 서버와 상기 데이터 서버 간의 상호 참조 일관성 오류를 점진적으로 치유하는 단계를 포함하는 것을 특징으로 한다.Progressive consistency error detection and recovery method in the asymmetric distributed file system of the present invention for achieving the above object, maintaining the chunk size and chunk version information in the metadata server and the data server; Synchronizing and changing the chunk information of the metadata server and the chunk information of the data server to perform file recording for a gradual consistency check; Performing a file read in parallel with a gradual consistency check through mutual comparison of the recorded chunk information; And gradually healing cross-reference coherence errors between the metadata server and the data server according to the checking.

본 발명의 비대칭 분산 파일 시스템은, 파일의 메타데이터를 저장 관리하며, 클라이언트로부터 메타데이터 요청에 따라 상기 파일의 메타데이터를 상기 클라이언트에게 전송하고, 상기 비대칭 분산 파일 시스템의 점진적 일관성 오류를 복구하는 메타데이터 서버; 및 상기 클라이언트로부터의 청크 읽기 요청에 따라, 상기 비대칭 분산 파일 시스템의 점진적 일관성 오류를 검사하여 오류 검사 결과를 상기 메타데이터 서버에게 보고하고, 상기 파일의 읽기 결과를 상기 클라이언트에게 전송하는 데이터 서버를 포함하는 것을 특징으로 한다.The asymmetric distributed file system of the present invention stores and manages metadata of a file, transmits metadata of the file to the client according to a metadata request from a client, and recovers a gradual consistency error of the asymmetric distributed file system. Data server; And a data server for checking a gradual consistency error of the asymmetric distributed file system and reporting an error check result to the metadata server according to a chunk read request from the client, and transmitting the read result of the file to the client. Characterized in that.

본 발명의 실시예들은, 로그 유실과 같은 최악의 상황에서 전수 검사 없이 신속하게 시스템을 재기동하도록 하고 파일 접근시 일관성 검사를 점진적으로 수행하여 일관성 문제없이 서비스를 재개할 수 있도록 함으로써, 전수 검사를 시스템의 부하가 낮은 시기로 연기할 수 있도록 한다.Embodiments of the present invention allow the system to be quickly restarted without a full check in a worst case situation such as log loss, and by performing a consistency check on file access to resume service without a consistency problem. Allow the load to postpone to a low time.

본 발명의 실시예들은, 로그 유실시라도 장애 후 전수 검사 절차 없이 시스템을 재기동하더라도 일관성이 저해된 파일을 사용자가 접근하지 않도록 방지하고 파일 접근이 지속 됨과 함께 이들의 일관성 오류가 시간이 지남에 따라 점진적으로 자연 치유될 수 있도록 한다.According to embodiments of the present invention, even if a log is restarted, even if the system is restarted without a full inspection procedure after failure, the user may not be able to access a file whose consistency has been impaired, and the file access may be continued and their coherence error may be over time. Allow for natural healing gradually.

본 발명의 실시예들은, 기존 로그 기반 절차가 메타데이터 서버 및 데이터 서버 양측에 별도의 로그를 두고 양측의 영속 저장 장치 반영 여부 등을 추적하기 위해 별도의 프로토콜로 상호 동기화하는 등의 추가 부담을 요구하는 반면에, 장애에 대비하기 위하여 정상적인 운영 과정에서 추가 부담을 요구하지 않아 비대칭 분산 파일 시스템의 보다 좋은 성능을 기대할 수 있다.Embodiments of the present invention, the existing log-based procedure requires an additional burden, such as synchronization with a separate protocol to keep track of whether both sides of the persistent storage device has a separate log on both the metadata server and the data server On the other hand, in order to prepare for failure, no additional burden is required during normal operation, so better performance of an asymmetric distributed file system can be expected.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.

기본적으로는 본 발명을 적용하는 다양한 실시예가 가능하나 여기서는 대표적인 실시예에 기초하여 본 발명에 대해 기술한다. 보다 명료한 기술을 위해 비록 일반적인 파일 시스템 및 분산 파일 시스템에서 상존하는 부분이라 할지라도 본 발명과 직접적인 관계가 없거나 불필요한 부분은 생략한다. 또한, 본 발명이 대상으로 하는 분산 파일 시스템의 모든 모듈 및 기능이 임의의 하드웨어, 운영체제, 컴퓨터 언어 및 네트워크 장치 상에서 구현되더라도 기본적으로는 동일한 의미를 가 지며, 특정 환경에서 운영하는 것이 비록 본 발명이 대상으로 하는 구조의 분산 파일 시스템의 성능상 유의한 개선 효과가 있다 하더라도 각 모듈 및 기능에는 근본적인 변화가 없으므로 이들은 모두 동일한 발명에 대한 다양한 실시예의 한 종류일 뿐임을 밝힌다.Basically, various embodiments to which the present invention is applied are possible, but the present invention will be described based on the exemplary embodiments. For the sake of clarity, the parts which are not directly related to the present invention or unnecessary parts are omitted, even though they exist in general file systems and distributed file systems. In addition, even if all the modules and functions of the distributed file system targeted by the present invention are implemented on any hardware, an operating system, a computer language, and a network device, they basically have the same meaning. Although there is a significant improvement in the performance of the distributed file system of the target structure, since there is no fundamental change in each module and function, these are all one kind of various embodiments of the same invention.

도 1은 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템의 하드웨어 구성도이다.1 is a hardware diagram of an asymmetric distributed file system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 비대칭 분산 파일 시스템(ADFS: Asymetric Distributed File System)(10)은, 네트워크상(14)에 연결된 다수의 클라이언트(Client)들(11-1 내지 11-4)과, 메타데이터 서버(MDS: Meta Data Server)(12)와, 다수의 데이터 서버(DS: Data Server)들(13-1 내지 13-4)을 구비한다.Referring to FIG. 1, an asymmetric distributed file system (ADFS) 10 of the present invention includes a plurality of clients 11-1 to 11-4 connected to a network 14. And a metadata server (MDS) 12 and a plurality of data servers 13-1 to 13-4.

메타데이터 서버(12)는 비대칭 분산 파일 시스템(10)에서 사용하는 각종 메타데이터를 저장 관리한다. 메타데이터 서버(12)는 메타데이터를 저장 관리하기 위하여 메타데이터 처리 모듈과 함께 자체적인 메타데이터 저장소를 구비한다. 여기서, 상기 저장소는 파일 시스템들(ext2, ext3, xfs)이거나, 데이터베이스(DBMS)일 수 있다.The metadata server 12 stores and manages various metadata used in the asymmetric distributed file system 10. The metadata server 12 has its own metadata repository with a metadata processing module for storing and managing metadata. Here, the storage may be file systems ext2, ext3, xfs, or a database (DBMS).

데이터 서버들(13-1 내지 13-4)은 네트워크(14)에 연결된 다수의 물리적인 저장장치로서, 이 저장장치는 파일의 실제 데이터를 저장 관리하고 아울러 파일의 실제 데이터의 입출력 기능을 수행한다.The data servers 13-1 to 13-4 are a plurality of physical storage devices connected to the network 14, which store and manage the actual data of the file and perform input / output functions of the actual data of the file. .

네트워크(14)는 랜(LAN: Local Area Network), 광역네트워크(WAN: Wide Area Network), 저장네트워크(SAN: Storage Area Network), 무선 네트워크(wireless network) 뿐 아니라 하드웨어들 간에 교신을 가능하게 하는 임의의 네트워크 중 하나로서, 여기서는 클라이언트들(11-1 내지 11-4), 메타데이터 서버(12) 및 데이터 서버들(13-1 내지 13-4) 간의 교신을 위해 사용된다.The network 14 allows communication between hardware as well as a local area network (LAN), a wide area network (WAN), a storage area network (SAN), a wireless network, and the like. As one of any networks, it is used here for communication between clients 11-1 to 11-4, metadata server 12 and data servers 13-1 to 13-4.

도 2는 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템의 소프트웨어 구성도이다.2 is a software block diagram of an asymmetric distributed file system according to an embodiment of the present invention.

도 2를 참조하면, 파일 시스템 클라이언트 모듈(11-1b)은 클라이언트(11-1)에서 수행되는 비대칭 분산 파일 시스템(10)에 접근하는 응용 프로그램(11-1a)이 비대칭 분산 파일 시스템에 저장된 파일에 접근할 수 있도록 POSIX와 같은 파일 시스템 접근 인터페이스를 제공하는 기능을 한다.Referring to FIG. 2, the file system client module 11-1b stores a file stored in the asymmetric distributed file system by an application 11-1a accessing the asymmetric distributed file system 10 performed by the client 11-1. Provides a file system access interface such as POSIX for accessing

파일 시스템 클라이언트 모듈(11-2b)은 클라이언트(11-2)에서 수행되는 비대칭 분산 파일 시스템(10)에 접근하는 응용 프로그램(11-2a)이 비대칭 분산 파일 시스템에 저장된 파일에 접근할 수 있도록 POSIX와 같은 파일 시스템 접근 인터페이스를 제공하는 기능을 한다.The file system client module 11-2b may execute the POSIX to allow an application 11-2a accessing the asymmetric distributed file system 10 executed in the client 11-2 to access a file stored in the asymmetric distributed file system. It provides a file system access interface such as

파일 시스템 클라이언트 모듈(11-3b)은 클라이언트(11-3)에서 수행되는 비대칭 분산 파일 시스템(10)에 접근하는 응용 프로그램(11-3a)이 비대칭 분산 파일 시스템에 저장된 파일에 접근할 수 있도록 POSIX와 같은 파일 시스템 접근 인터페이스를 제공하는 기능을 한다.The file system client module 11-3b may execute the POSIX to allow an application 11-3a accessing the asymmetric distributed file system 10 executed on the client 11-3 to access a file stored in the asymmetric distributed file system. It provides a file system access interface such as

파일 시스템 클라이언트 모듈(11-4b)은 클라이언트(11-4)에서 수행되는 비대칭 분산 파일 시스템(10)에 접근하는 응용 프로그램(11-4a)이 비대칭 분산 파일 시스템에 저장된 파일에 접근할 수 있도록 POSIX와 같은 파일 시스템 접근 인터페이 스를 제공하는 기능을 한다.The file system client module 11-4b is configured to execute the POSIX for the application 11-4a accessing the asymmetric distributed file system 10 executed in the client 11-4 to access files stored in the asymmetric distributed file system. It provides a file system access interface such as

메타데이터 서버(12)는 비대칭 분산 파일 시스템(10)에 저장되는 모든 파일의 메타데이터만을 저장 관리하며, 그리고 메타데이터 관리 모듈(12a) 및 고장 회복 모듈(12b)을 구비한다. 메타데이터 저장 관리 모듈(12a)은 분산 파일 시스템에서 사용되는 모든 메타데이터를 저장 관리한다. 메타데이터 저장 관리 모듈(12a)은 ext3 파일 시스템 또는 데이터베이스(DBMS)를 저장소(12c)로 활용하여 메타데이터를 디스크에 저장한다. 고장 회복 모듈(12b)은 파일 시스템 일관성 오류를 복구한다. 이 복구 기능은 관리자에 의해 수동으로 기동되거나 시스템 감시 소프트웨어가 고장을 감지하거나 혹은 미리 정해진 주기에 따라 자동적으로 기동될 수 있다.The metadata server 12 stores and manages only metadata of all files stored in the asymmetric distributed file system 10, and includes a metadata management module 12a and a failure recovery module 12b. The metadata storage management module 12a stores and manages all metadata used in the distributed file system. The metadata storage management module 12a utilizes an ext3 file system or database (DBMS) as a storage 12c and stores metadata on disk. Failure recovery module 12b recovers file system consistency errors. This recovery function can be started manually by an administrator, the system monitoring software detects a fault, or automatically triggered at predetermined intervals.

데이터 서버(13-1)는 비대칭 분산 파일 시스템(10)에 저장되는 모든 파일의 데이터를 저장 관리하며, 그리고 청크 저장 관리 모듈(13-1a) 및 저장소(13-1b)를 구비한다. 청크 저장 관리 모듈(13-1a)은 저장소(13-1b)를 통해 클라이언트들(11-1 내지 11-4)들 중 적어도 하나의 클라이언트로부터 전달된 데이터를 저장 관리한다.The data server 13-1 stores and manages data of all files stored in the asymmetric distributed file system 10, and includes a chunk storage management module 13-1a and a storage 13-1b. The chunk storage management module 13-1a stores and manages data transmitted from at least one of the clients 11-1 to 11-4 through the storage 13-1b.

데이터 서버(13-2)는 비대칭 분산 파일 시스템(10)에 저장되는 모든 파일의 데이터를 저장 관리하며, 그리고 청크 저장 관리 모듈(13-2a) 및 저장소(13-2b)를 구비한다. 청크 저장 관리 모듈(13-2a)은 저장소(13-2b)를 통해 클라이언트들(11-1 내지 11-4)들 중 적어도 하나의 클라이언트로부터 전달된 데이터를 저장 관리한다.The data server 13-2 stores and manages data of all files stored in the asymmetric distributed file system 10, and includes a chunk storage management module 13-2a and a storage 13-2b. The chunk storage management module 13-2a stores and manages data transmitted from at least one of the clients 11-1 to 11-4 through the storage 13-2b.

데이터 서버(13-3)는 비대칭 분산 파일 시스템(10)에 저장되는 모든 파일의 데이터를 저장 관리하며, 그리고 청크 저장 관리 모듈(13-3a) 및 저장소(13-3b)를 구비한다. 청크 저장 관리 모듈(13-3a)은 저장소(13-3b)를 통해 클라이언트들(11-1 내지 11-4)들 중 적어도 하나의 클라이언트로부터 전달된 데이터를 저장 관리한다.The data server 13-3 stores and manages data of all files stored in the asymmetric distributed file system 10, and has a chunk storage management module 13-3a and a repository 13-3b. The chunk storage management module 13-3a stores and manages data transmitted from at least one of the clients 11-1 to 11-4 through the storage 13-3b.

데이터 서버(13-4)는 비대칭 분산 파일 시스템(10)에 저장되는 모든 파일의 데이터를 저장 관리하며, 그리고 청크 저장 관리 모듈(13-4a) 및 저장소(13-4b)를 구비한다. 청크 저장 관리 모듈(13-4a)은 저장소(13-4b)를 통해 클라이언트들(11-1 내지 11-4)들 중 적어도 하나의 클라이언트로부터 전달된 데이터를 저장 관리한다.The data server 13-4 stores and manages data of all files stored in the asymmetric distributed file system 10, and has a chunk storage management module 13-4a and a repository 13-4b. The chunk storage management module 13-4a stores and manages data transmitted from at least one of the clients 11-1 through 11-4 through the storage 13-4b.

도 3은 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템의 파일 저장 구조를 나타낸 도면이다.3 is a diagram illustrating a file storage structure of an asymmetric distributed file system according to an embodiment of the present invention.

도 3을 참조하면, 비대칭 분산 파일 시스템(10)에 저장되는 모든 파일들의 데이터, 즉 메타데이터(31)는 메타데이터 서버(12)에 저장된다. 여기서, 메타데이터(31)는 크기(size), 소유자(owner), 그룹 소유자(group), 접근 권한(mode), 및 시간들(atime, ctime, mtime) 등과 함께 이 파일의 데이터를 실제로 저장하고 있는 데이터 서버(DS) 식별자(DS#), 청크 식별자(CID#) 및 그 데이터의 무결성을 검증하기 위한 청크 크기(chunk size), 청크 버전(chunk version)으로 구성된다.Referring to FIG. 3, data of all files stored in the asymmetric distributed file system 10, that is, metadata 31, is stored in the metadata server 12. Here, metadata 31 actually stores the data of this file along with size, owner, group owner, access mode, and times (atime, ctime, mtime) and the like. Data server (DS) identifier (DS #), chunk identifier (CID #), and chunk size and chunk version for verifying the integrity of the data.

또한, 저장하는 파일의 데이터는 여러 개의 청크들(32)로 분할되어 데이터 서버들(13-1 내지 13-4)에 분할 저장된다. 이때 청크(32)는 파일 데이터와 함께 청크의 크기 및 청크의 버전 정보를 포함한다. 파일 접근시 메타데이터 서버(12)가 메타데이터를 얻어 청크의 위치를 파악한 후, 데이터 서버들(13-1 내지 13-4)들 중 청크가 저장된 데이터 서버가 청크 데이터를 읽는다. 이 상태에서, 메타데이터에 기록된 청크들의 위치, 크기 및 버전 등의 정보가 읽혀지는 청크의 실제 위치, 크기 및 버전 정보와 상이하면, 일관성 오류가 발생한 경우이다.In addition, the data of the file to be stored is divided into several chunks 32 and stored in the data servers 13-1 to 13-4. In this case, the chunk 32 includes the chunk size and the chunk version information together with the file data. When the file is accessed, the metadata server 12 obtains the metadata to determine the location of the chunk, and the data server in which the chunk is stored among the data servers 13-1 to 13-4 reads the chunk data. In this state, if the information such as the location, size and version of the chunks recorded in the metadata is different from the actual location, size and version information of the chunk to be read, a consistency error has occurred.

도 4는 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템에서 메타데이터와 청크 간의 일관성 오류의 유형들을 나타낸 도면이다.4 is a diagram illustrating types of consistency errors between metadata and chunks in an asymmetric distributed file system according to an embodiment of the present invention.

비대칭 분산 파일 시스템(10) 환경에서 발생 가능한 일관성 오류는 고아(orphan) 객체 잔류 오류, 부재 객체 참조 오류 및 이상 객체 참조 오류 등 세가지 종류가 있다.There are three types of coherence errors that can occur in an asymmetric distributed file system 10 environment: an orphan object residual error, an absent object reference error, and an anomaly object reference error.

도 4를 참조하면, 고아 청크(orphan chunk) 오류(41)는 청크가 존재하나 어떠한 메타데이터도 이를 참조하지 않는 경우이다. 이러한 고아 청크 오류(41)는 파일 생성 과정에서 생성된 청크가 데이터 서버들(13-1 내지 13-4) 중 해당 데이터 서버의 저장소에 반영되었으나, 메타데이터 삭제 결과는 상기 저장소에 반영되기 전에 메타데이터 서버(12)에 장애가 생긴 경우 발생한다. 또한, 이러한 문제는 파일 삭제 과정에서 메타데이터 삭제 결과는 상기 저장소에 반영되었으나, 삭제된 청크 정보가 상기 저장소에 반영되기 전에 상기 데이터 서버에 장애가 생긴 경우 발생한다. 이러한 2가지 경우 모두 고아 청크는 상기 저장소의 해당 영역을 영원히 활용할 수 없도록 하므로 이들이 발생하지 않도록 하거나 효과적으로 제거해 주어야 한다.Referring to FIG. 4, an orphan chunk error 41 is a case where a chunk exists but no metadata refers to it. The orphan chunk error 41 is reflected in the chunk generated during the file generation process in the data server storage among the data servers 13-1 to 13-4, but the metadata deletion result is not reflected in the storage. This occurs when a failure occurs in the data server 12. In addition, this problem occurs when the metadata deletion result is reflected in the storage during the file deletion process, but the data server fails before the deleted chunk information is reflected in the storage. In both of these cases, the orphan chunks will not be able to take advantage of that area of the reservoir forever, so they should not occur or be effectively removed.

부재 청크 참조(non-existent chunk reference) 오류(42)는 존재하지 않는 청크를 메타데이터에서 참조하는 경우이다. 이러한 부재 청크 참조 오류(42)는 파일 생성 과정에서 생성된 파일의 메타데이터가 상기 저장소에 반영되었으나, 생성된 청크는 상기 저장소에 반영되기 전에 데이터 서버들(13-1 내지 13-4) 중 해당 데이터 서버에 장애가 생긴 경우 발생한다. 또한, 이러한 오류는 파일 삭제 과정에서 삭제된 청크 정보가 상기 저장소에 반영되었으나, 해당 메타데이터가 상기 저장소에 반영되기 전에 메타데이터 서버(12)에 장애가 생긴 경우 발생한다.A non-existent chunk reference error 42 is when a non-existent chunk reference is referenced in the metadata. In the absence chunk reference error 42, the metadata of the file generated during the file generation process is reflected in the storage, but the generated chunk is applied to the data servers 13-1 to 13-4 before being reflected in the storage. Occurs when a data server fails. In addition, this error occurs when the chunk information deleted in the file deletion process is reflected in the storage, but the metadata server 12 fails before the metadata is reflected in the storage.

이상 청크 참조(incorrect chunk reference) 오류(43)는 특정 파일의 메타데이터가 참조하고 있는 청크의 데이터, 크기 및 버전이 다른 경우이다. 이러하 경우는 청크의 데이터를 신뢰할 수 없으므로 더 이상 해당 파일에 대한 접근을 금지해야 하는 경우이다.An incorrect chunk reference error 43 is a case where the data, size and version of the chunk referenced by the metadata of a specific file are different. In this case, the data in the chunk cannot be trusted, so it is no longer necessary to deny access to the file.

상기 오류들을 검출하고 복구하기 위한 궁극의 수단으로서 전수검사의 경우 모든 메타데이터 및 청크 정보를 상호 대조하는 방법을 사용하기 때문에 전체 수행 시간이 매우 길어지며, 이 검사가 완료되기 이전에는 정상적인 서비스가 불가능해진다.As the ultimate means for detecting and recovering the errors, the total inspection time is very long because all metadata and chunk information are collated with each other, and normal service is impossible before this inspection is completed. Become.

상기 오류들을 검출하고 복구하기 위한 차선책으로 로그 기반 검출 및 복구 방법의 경우 대부분의 상황에서 최근에 변경된 파일들만을 검사의 대상으로 하기 때문에 전수 검사에 비해 매우 신속하게 수행되는 장점이 있지만, 경우에 따라 로그 유실과 같은 최악의 상황이 발생한 경우 전수 검사에 의존할 수밖에 없는 상황이 발생할 수 있다.As the next best way to detect and recover the errors, the log-based detection and recovery method has the advantage of being performed much faster than the full inspection because only recently changed files are examined in most situations. In the worst case, such as log loss, you may have to rely on a full inspection.

본 발명의 일실시예에 따른 일관성 오류 복구 방법은 상기 2가지 오류 유형들 중 부재 청크 참조 오류(42)와 이상 청크 참조 오류(43)를 전수 검사 및 로그에 의존하지 않고 감지하기 위한 방법으로서, 클라이언트 노드에서 파일 입출력 요청을 처리하는 작업과 함께 메타데이터에 기록되어 있는 청크의 위치, 버전 및 크기 등을 데이터 서버들(13-1 내지 13-4) 중 해당 데이터 서버가 읽은 청크의 정보와 대조하여 상호 간에 일관성 오류를 실시간에 검출하고, 오류 감지시 메타데이터 서버(12)의 장애 복구 절차에 이 사실을 자동으로 통지한다. 이를 통해 로그 정보가 유실된 경우 전수 검사를 바로 수행하지 않더라도 현재 접근되는 파일들에 대해 실시간으로 일관성 검사를 수행하여 사용자에게 잘못된 데이터가 전달되는 것을 방지하고, 이들 파일에 대해 우선적으로 장애 복구 절차를 기동할 수 있다.Consistency error recovery method according to an embodiment of the present invention is a method for detecting the missing chunk reference error 42 and the abnormal chunk reference error 43 of the two error types without depending on the total inspection and log, In addition to processing file I / O requests at the client node, the location, version, and size of the chunks recorded in the metadata are compared with the information of the chunks read by the corresponding data server among the data servers 13-1 to 13-4. By detecting coherence errors in real time with each other, the failure recovery procedure of the metadata server 12 is automatically notified of this fact. In this case, if the log information is lost, even if the full check is not performed immediately, consistency check is performed on the currently accessed files to prevent the wrong data from being delivered to the user. You can maneuver.

도 5는 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템에서 점진적 일관성 검사 및 복구 방법을 가능하게 하는 파일 기록 절차를 나타낸 도면이다.5 is a diagram illustrating a file writing procedure that enables a gradual consistency checking and repairing method in an asymmetric distributed file system according to an embodiment of the present invention.

도 5를 참조하면, 클라이언트(51)로부터 청크 기록 요청을 요청받으면(S510), 데이터 서버(52)는 해당 청크의 데이터와 함께, 일관성 검사를 위한 부가 정보인 청크 크기(chunk size) 및 청크 버전(chunk version)을 갱신한다(S520). 상기 청크 크기는 갱신 이후의 청크의 변경된 크기로서 데이터가 추가된 경우, 이 청크 크기는 추가된 데이터의 크기만큼 증가되며, 데이터가 기존 데이터에 덮어 씌여진 경우 상기 청크 크기는 변경되지 않는다. 상기 청크 버전은 매 변경시마다 1씩 증가된다. 변경된 청크 크기 및 청크 버전 등의 정보는 메타데이터 서버(53)에 보고되며(S530), 메타데이터 서버(53)는 해당 청크에 해당하는 파일의 메타데이터 를 보고된 값으로 변경한다(S540). 이와 같은 파일 기록 절차에 의해 메타데이터의 청크 크기 및 청크 버전은 데이터 서버(52)의 청크 크기 및 청크 버전과 동기화된다.Referring to FIG. 5, when a chunk recording request is requested from the client 51 (S510), the data server 52, along with data of the corresponding chunk, chunk size and chunk version, which are additional information for consistency checking, are included. Update the (chunk version) (S520). The chunk size is a changed size of the chunk after updating, and when the data is added, the chunk size is increased by the size of the added data, and the chunk size is not changed when the data is overwritten with the existing data. The chunk version is incremented by 1 for every change. Information such as the changed chunk size and chunk version is reported to the metadata server 53 (S530), and the metadata server 53 changes the metadata of the file corresponding to the corresponding chunk to the reported value (S540). By this file writing procedure, the chunk size and chunk version of the metadata are synchronized with the chunk size and chunk version of the data server 52.

여기서, 클라이언트(51)는 도 1의 클라이언트들(11-1 내지 11-4) 중 어느 하나이고, 데이터 서버(52)는 도 1의 데이터 서버들(13-1 내지 13-4) 중 어느 하나이며, 그리고 메타데이터 서버(53)는 도 1의 메타데이터 서버(12)이다.Here, the client 51 is any one of the clients 11-1 to 11-4 of FIG. 1, and the data server 52 is any one of the data servers 13-1 to 13-4 of FIG. 1. And the metadata server 53 is the metadata server 12 of FIG.

도 6은 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템의 점진적 일관성 검사 및 복구 방법에서 일관성 오류가 없는 경우의 파일 접근 절차를 나타낸 도면이다. 즉, 도 6은 본 발명의 일실시예에 따른 메타데이터 서버와 데이터 서버 간의 청크 크기 및 청크 버전이 일치하는 정상적인 상태에서의 읽기 요청 처리 절차를 나타낸 것이다.6 is a diagram illustrating a file access procedure when there is no consistency error in a gradual consistency checking and repairing method of an asymmetric distributed file system according to an embodiment of the present invention. That is, FIG. 6 illustrates a read request processing procedure in a normal state in which a chunk size and a chunk version between a metadata server and a data server match according to an embodiment of the present invention.

도 6을 참조하면, 클라이언트(61)는 먼저 메타데이터 서버(63)에 접속하여 파일 메타 데이터를 요청하고(S610), 메타데이터 서버(63)로부터 접근하려는 파일에 해당하는 메타데이터(65)를 얻은 다음(S620), 메타데이터에 기록된 정보에 따라 데이터 서버(62)에 해당 청크의 읽기 요청을 전달한다(S630). 이때, 클라이언트(61)는 메타데이터에 기록되어 있는 청크 크기(chunk size) 및 청크 버전(chunk version)을 상기 읽기 요청과 같이 전달하여, 데이터 서버(62)가 요청된 청크 정보와 저장된 청크 정보(64)를 비교할 수 있도록 한다. 데이터 서버(62)는 요청된 청크 정보와 저장된 청크 정보를 비교하여, 비교결과 일치하면(S640), 읽기 요청을 최종적으로 허용한다(S650).Referring to FIG. 6, the client 61 first requests a file metadata by accessing the metadata server 63 (S610), and transmits metadata 65 corresponding to a file to be accessed from the metadata server 63. After obtaining (S620), the read request of the corresponding chunk is transmitted to the data server 62 according to the information recorded in the metadata (S630). At this time, the client 61 transmits the chunk size and the chunk version recorded in the metadata as the read request, so that the data server 62 requests the requested chunk information and the stored chunk information ( 64) can be compared. The data server 62 compares the requested chunk information with the stored chunk information, and if the comparison result is matched (S640), the read request is finally allowed (S650).

여기서, 클라이언트(61)는 도 1의 클라이언트들(11-1 내지 11-4) 중 어느 하나이고, 데이터 서버(62)는 도 1의 데이터 서버들(13-1 내지 13-4) 중 어느 하나이며, 그리고 메타데이터 서버(63)는 도 1의 메타데이터 서버(12)이다.Here, the client 61 is any one of the clients 11-1 to 11-4 of FIG. 1, and the data server 62 is any one of the data servers 13-1 to 13-4 of FIG. 1. And the metadata server 63 is the metadata server 12 of FIG.

도 7은 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템의 점진적 일관성 검사 및 복구 방법에서 이상 청크 오류가 존재하는 경우 읽기 요청 처리 절차를 나타낸 도면이다.FIG. 7 is a diagram illustrating a read request processing procedure when an abnormal chunk error exists in a gradual consistency check and repair method of an asymmetric distributed file system according to an embodiment of the present invention.

도 7을 참조하면, 클라이언트(71)는 먼저 메타데이터 서버(73)에 접속하여 파일 메타 데이터를 요청하고(S710), 메타데이터 서버(73)로부터 접근하려는 파일에 해당하는 메타데이터(75)를 얻은 다음(S720), 메타데이터에 기록된 정보에 따라 데이터 서버(72)에 해당 청크의 읽기 요청을 전달한다(S730). 이때, 클라이언트(71)는 메타데이터에 기록되어 있는 청크 크기(chunk size) 및 청크 버전(chunk version)을 상기 읽기 요청과 같이 전달하여, 데이터 서버(72)가 요청된 청크 정보와 저장된 청크 정보(74)를 비교할 수 있도록 한다. Referring to FIG. 7, the client 71 first accesses the metadata server 73 to request file metadata (S710), and transmits metadata 75 corresponding to a file to be accessed from the metadata server 73. After obtaining (S720), the read request of the corresponding chunk is transmitted to the data server 72 according to the information recorded in the metadata (S730). At this time, the client 71 transmits the chunk size and the chunk version recorded in the metadata as the read request, so that the data server 72 requests the chunk information and the stored chunk information ( 74).

데이터 서버(72)는 요청된 청크 정보와 저장된 청크 정보를 비교하여, 비교결과 불일치하면(S740), 저장된 청크 정보를 메타데이터 서버(73)에 보고하고 아울러 청크 일관성 오류를 보고하며(S750), 최종적으로 청크 읽기 실패를 클라이언트(71)에게 보고한다(S750). 이때, 청크 오류를 보고받은 메타데이터 서버(73)는 보고된 청크에 해당하는 메타데이터를 보고된 새로운 값으로 변경하며(S770), 필요한 경우 추가적인 복구 절차를 기동시킨다.The data server 72 compares the requested chunk information with the stored chunk information, and if there is a mismatch (S740), reports the stored chunk information to the metadata server 73 and reports the chunk consistency error (S750). Finally, the chunk read failure is reported to the client 71 (S750). At this time, the metadata server 73 which received the chunk error is changed to the reported new value of the metadata corresponding to the reported chunk (S770), and if necessary, activates an additional recovery procedure.

여기서, 클라이언트(71)는 도 1의 클라이언트들(11-1 내지 11-4) 중 어느 하 나이고, 데이터 서버(72)는 도 1의 데이터 서버들(13-1 내지 13-4) 중 어느 하나이며, 그리고 메타데이터 서버(73)는 도 1의 메타데이터 서버(12)이다.Here, the client 71 is any one of the clients 11-1 to 11-4 of FIG. 1, and the data server 72 is any of the data servers 13-1 to 13-4 of FIG. 1. One, and metadata server 73 is metadata server 12 of FIG.

도 8은 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템의 점진적 일관성 검사 및 복구 방법에서 부재 청크 오류가 존재하는 경우 읽기 요청 처리 절차를 나타낸 도면이다.FIG. 8 is a diagram illustrating a read request processing procedure when an absent chunk error exists in a gradual consistency check and repair method of an asymmetric distributed file system according to an embodiment of the present invention.

도 8을 참조하면, 클라이언트(81)는 먼저 메타데이터 서버(83)에 접속하여 파일 메타 데이터를 요청하고(S810), 메타데이터 서버(83)로부터 접근하려는 파일에 해당하는 메타데이터(85)를 얻은 다음(S820), 메타데이터에 기록된 정보에 따라 데이터 서버(82)에 해당 청크의 읽기 요청을 전달한다(S830). 이때, 클라이언트(81)는 메타데이터에 기록되어 있는 청크 크기(chunk size) 및 청크 버전(chunk version)을 상기 읽기 요청과 같이 전달하여, 데이터 서버(82)가 요청된 청크 정보와 저장된 청크 정보(64)를 비교할 수 있도록 한다.Referring to FIG. 8, the client 81 first accesses the metadata server 83 to request file metadata (S810), and transmits metadata 85 corresponding to a file to be accessed from the metadata server 83. After obtaining (S820), the read request of the corresponding chunk is transmitted to the data server 82 according to the information recorded in the metadata (S830). At this time, the client 81 transmits the chunk size and the chunk version recorded in the metadata as the read request, so that the data server 82 requests the requested chunk information and the stored chunk information ( 64) can be compared.

이 경우, 저장된 청크 정보가 존재하지 않기 때문에(S840), 데이터 서버(82)는 요청된 청크 정보와 저장된 청크 정보의 비교를 수행할 수 없음을 메타데이터 서버(83)에게 보고하고(S850), 최종적으로 청크 읽기 실패를 클라이언트(81)에게 보고한다(S860). 청크 오류를 보고받은 메타데이터 서버(83)는 필요한 경우 추가적인 복구 절차를 기동시킨다.In this case, since the stored chunk information does not exist (S840), the data server 82 reports to the metadata server 83 that the requested chunk information cannot be compared with the stored chunk information (S850). Finally, the chunk read failure is reported to the client 81 (S860). The metadata server 83 that reported the chunking error starts an additional recovery procedure if necessary.

이때, 청크 오류를 보고받은 메타데이터 서버(83)는 보고된 청크에 해당하는 메타데이터를 보고된 새로운 값으로 변경하고(S870), 아울러 보고된 청크에 해당하는 메타데이터에 해당 청크가 존재하지 않음을 표시하고, 필요한 경우 추가적인 복 구 절차를 기동시킨다.At this time, the metadata server 83 that received the chunk error is changed to the reported new value of the metadata corresponding to the reported chunk (S870), and the corresponding chunk does not exist in the metadata corresponding to the reported chunk. If necessary, activate additional recovery procedures.

여기서, 클라이언트(81)는 도 1의 클라이언트들(11-1 내지 11-4) 중 어느 하나이고, 데이터 서버(82)는 도 1의 데이터 서버들(13-1 내지 13-4) 중 어느 하나이며, 그리고 메타데이터 서버(83)는 도 1의 메타데이터 서버(12)이다.Here, the client 81 is any one of the clients 11-1 to 11-4 of FIG. 1, and the data server 82 is any one of the data servers 13-1 to 13-4 of FIG. 1. And the metadata server 83 is the metadata server 12 of FIG.

전술한 바와 같이, 본 발명의 실시예들은 로그 유실과 같은 최악의 상황에서 전수 검사 없이 신속하게 시스템을 재기동하도록 하고 파일 접근시 일관성 검사를 점진적으로 수행하여 일관성 문제없이 서비스를 재개할 수 있도록 함으로써, 전수 검사를 시스템의 부하가 낮은 시기로 연기할 수 있도록 한다. 그리고, 본 발명의 실시예들은 로그 유실시라도 장애 후 전수 검사 절차 없이 시스템을 재기동하더라도 일관성이 저해된 파일을 사용자가 접근하지 않도록 방지하고 파일 접근이 지속 됨과 함께 이들의 일관성 오류가 시간이 지남에 따라 점진적으로 자연 치유될 수 있도록 한다.As described above, the embodiments of the present invention allow the system to be quickly restarted without a full check in a worst case situation such as log loss, and by performing a consistency check on file access to resume service without a consistency problem. Allow full inspections to be postponed when the load on the system is low. In addition, embodiments of the present invention prevent users from accessing files whose consistency has been impaired even if the system is restarted without a full inspection procedure after a failure even if a log is lost. It can be gradually healed naturally.

기존 로그 기반 절차가 메타데이터 서버 및 데이터 서버 양측에 별도의 로그를 두고 양측의 영속 저장 장치 반영 여부 등을 추적하기 위해 별도의 프로토콜로 상호 동기화하는 등의 추가 부담을 요구하는 반면에, 본 발명의 실시예들은 장애에 대비하기 위하여 정상적인 운영 과정에서 추가 부담을 요구하지 않아 비대칭 분산 파일 시스템의 보다 좋은 성능을 기대할 수 있다.Whereas existing log-based procedures require additional burdens such as keeping separate logs on both sides of the metadata server and data server and mutually synchronizing them in separate protocols to track whether the two sides reflect persistent storage, Embodiments do not require additional burden in the normal operation process in order to prepare for failures can expect better performance of the asymmetric distributed file system.

본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술사상의 범위에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical spirit of the present invention has been described in detail according to the above-described preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, those skilled in the art will understand that various embodiments are possible within the scope of the technical idea of the present invention.

도 1은 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템의 구성도.1 is a block diagram of an asymmetric distributed file system according to an embodiment of the present invention.

도 2는 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템의 소프트웨어 구성도.2 is a software diagram of an asymmetric distributed file system in accordance with an embodiment of the present invention.

도 3은 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템의 파일 저장 구조를 나타낸 도면.3 illustrates a file storage structure of an asymmetric distributed file system according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템에서 메타데이터와 청크 간의 일관성 오류의 유형들을 나타낸 도면.4 illustrates types of consistency errors between metadata and chunks in an asymmetric distributed file system in accordance with an embodiment of the present invention.

도 5는 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템에서 점진적 일관성 검사 및 복구 방법을 가능하게 하는 파일 기록 절차를 나타낸 도면.5 is a diagram illustrating a file writing procedure that enables a gradual consistency checking and recovery method in an asymmetric distributed file system in accordance with one embodiment of the present invention.

도 6은 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템의 점진적 일관성 검사 및 복구 방법에서 일관성 오류가 없는 경우의 파일 접근 절차를 나타낸 도면.FIG. 6 is a diagram illustrating a file access procedure when there is no consistency error in a gradual consistency checking and repairing method of an asymmetric distributed file system according to an embodiment of the present invention. FIG.

도 7은 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템의 점진적 일관성 검사 및 복구 방법에서 이상 청크 오류가 존재하는 경우 읽기 요청 처리 절차를 나타낸 도면.FIG. 7 is a diagram illustrating a read request processing procedure when an abnormal chunk error exists in a gradual consistency check and recovery method of an asymmetric distributed file system according to an embodiment of the present invention. FIG.

도 8은 본 발명의 일실시예에 따른 비대칭 분산 파일 시스템의 점진적 일관성 검사 및 복구 방법에서 부재 청크 오류가 존재하는 경우 읽기 요청 처리 절차를 나타낸 도면.8 is a diagram illustrating a read request processing procedure when an absent chunk error is present in a method for gradual consistency checking and repair of an asymmetric distributed file system according to an embodiment of the present invention.

Claims (10)

메타데이터 서버와 데이터 서버에 청크 크기 및 청크 버전의 정보을 유지하는 단계;Maintaining the chunk size and chunk version information in the metadata server and the data server; 상기 메타데이터 서버의 청크 정보와 상기 데이터 서버의 청크 정보를 동기화하여 변경시켜 점진적 일관성 검사를 위한 파일 기록을 수행하는 단계;Synchronizing and changing the chunk information of the metadata server and the chunk information of the data server to perform file recording for a gradual consistency check; 상기 기록된 청크 정보들의 상호 비교를 통해 점진적 일관성 검사를 병행하여 파일 읽기를 수행하는 단계; 및Performing a file read in parallel with a gradual consistency check through mutual comparison of the recorded chunk information; And 상기 검사에 따른 상기 메타데이터 서버와 상기 데이터 서버 간의 상호 참조 일관성 오류를 점진적으로 치유하는 단계Gradually healing cross-reference consistency errors between the metadata server and the data server according to the checking 를 포함하는 것을 특징으로 하는 비대칭 분산 파일 시스템에서 점진적 일관성 오류 감지 및 복구 방법.Progressive consistency error detection and recovery method in an asymmetric distributed file system comprising a. 제 1 항에 있어서, 상기 파일 기록의 수행 단계는,The method of claim 1, wherein performing the file recording comprises: 상기 데이터 서버가 클라이언트로부터 청크 기록 요청을 수신하는 단계;The data server receiving a chunk write request from a client; 상기 데이터 서버가 요청된 청크의 데이터를 기록하고, 청크의 크기를 변경시키고, 청크의 버전을 증가시키는 단계;The data server recording data of the requested chunk, changing the size of the chunk, and increasing the version of the chunk; 상기 변경된 청크의 크기와 버전 정보를 상기 메타데이터 서버에게 보고하는 단계; 및Reporting the changed chunk size and version information to the metadata server; And 상기 메타데이터 서버가 상기 보고된 청크에 대응되는 메타데이터의 청크 크 기와 버전 정보를 갱신하는 단계Updating, by the metadata server, the chunk size and version information of metadata corresponding to the reported chunk. 를 포함하는 것을 특징으로 하는 비대칭 분산 파일 시스템에서 점진적 일관성 오류 감지 및 복구 방법.Progressive consistency error detection and recovery method in an asymmetric distributed file system comprising a. 제 2 항에 있어서, 상기 청크 버전의 증가 단계에서,The method of claim 2, wherein in the incrementing of the chunk version, 상기 데이터 서버는 매 변경시마다 상기 청크의 버전을 1씩 증가시키는 것을 특징으로 하는 비대칭 분산 파일 시스템에서 점진적 일관성 오류 감지 및 복구 방법.And the data server increments the version of the chunk by 1 for every change. 제 1 항에 있어서, 상기 파일 읽기의 수행 단계는,The method of claim 1, wherein the performing of the file read comprises: 클라이언트로부터 청크 식별자, 청크 크기 및 청크 버전에 관한 정보를 포함하는 파일의 읽기 요청을 수신하는 단계;Receiving a request to read a file containing information about the chunk identifier, the chunk size, and the chunk version from the client; 요청된 청크 식별자에 해당하는 저장된 청크의 크기 및 버전을 요청된 청크 크기 및 버전 정보와 비교하여 상기 참조 일관성 오류를 검사하는 단계;Checking the reference consistency error by comparing the size and version of the stored chunk corresponding to the requested chunk identifier with the requested chunk size and version information; 상기 검사 결과 일관성 오류가 없으면, 요청된 청크의 데이터를 상기 클라이언트에게 전달하는 단계; 및If there is no consistency error as a result of the checking, delivering data of the requested chunk to the client; And 상기 검사 결과 일관성 오류가 감지되면, 읽기 실패를 상기 클라이언트에게 보고하는 단계를 포함하는 것을 특징으로 하는 비대칭 분산 파일 시스템에서 점진적 일관성 오류 감지 및 복구 방법.If a consistency error is detected as a result of the check, reporting read failures to the client. 제 4 항에 있어서,The method of claim 4, wherein 상기 메타데이터 서버가 청크 오류를 보고받고 보고된 청크에 해당하는 메타데이터를 보고된 새로운 값으로 변경하는 단계The metadata server reports the chunk error and changes the metadata corresponding to the reported chunk to the reported new value 를 더 포함하는 것을 특징으로 하는 비대칭 분산 파일 시스템에서 점진적 일관성 오류 감지 및 복구 방법.Progressive consistency error detection and recovery method in an asymmetric distributed file system, characterized in that it further comprises. 제 4 항에 있어서, 상기 참조 일관성 오류의 검사 단계는,The method of claim 4, wherein the checking of the reference consistency error comprises: 상기 클라이언트로부터 전달된 청크 식별자에 해당하는 청크가 상기 데이터 서버에 존재하는지를 검사하는 단계;Checking whether a chunk corresponding to the chunk identifier delivered from the client exists in the data server; 상기 검사결과 해당 청크가 상기 데이터 서버에 존재하지 않으면, 상기 메타데이터 서버에 부재 청크 참조 오류의 발생을 판정하고, 상기 부재 청크 참조 오류를 상기 메타데이터 서버에게 보고하여 상기 메타데이터 서버에 저장된 청크 정보를 삭제하도록 하는 단계;If the chunk does not exist in the data server as a result of the check, it is determined that an absent chunk reference error occurs in the metadata server, and the chunk information stored in the metadata server is reported to the metadata server. Deleting the; 해당 청크가 상기 데이터 서버에 존재하지만 청크 크기 또는 청크 버전이 전달된 청크 정보와 상이한 경우 이상 청크 참조 오류로 판정하고, 상기 이상 청크 참조 오류를 저장된 청크 크기 및 청크 버전 정보와 함께 상기 메타데이터 서버에 보고하여, 상기 메타데이터 서버에 저장된 해당 청크의 메타데이터를 전달된 실제 값으로 갱신하도록 하는 단계; 및If the chunk exists in the data server but the chunk size or chunk version is different from the delivered chunk information, it is determined as an abnormal chunk reference error, and the abnormal chunk reference error is stored in the metadata server along with the stored chunk size and chunk version information. Reporting and updating metadata of the corresponding chunk stored in the metadata server to the actual value delivered; And 해당 청크가 상기 데이터 서버에 존재하며 청크 크기와 청크 버전이 모두 전달된 청크 정보와 동일한 경우 일관성 오류 없음을 판정하는 단계Determining that there is no consistency error if the chunk exists in the data server and both the chunk size and chunk version are the same as the chunk information passed. 를 포함하는 것을 특징으로 하는 비대칭 분산 파일 시스템에서 점진적 일관성 오류 감지 및 복구 방법.Progressive consistency error detection and recovery method in an asymmetric distributed file system comprising a. 비대칭 분산 파일 시스템에 있어서,In an asymmetric distributed file system, 파일의 메타데이터를 저장 관리하며, 클라이언트로부터 메타데이터 요청에 따라 상기 파일의 메타데이터를 상기 클라이언트에게 전송하고, 상기 비대칭 분산 파일 시스템의 점진적 일관성 오류를 복구하는 메타데이터 서버; 및A metadata server for storing and managing metadata of a file, transmitting metadata of the file to the client according to a metadata request from a client, and recovering a gradual consistency error of the asymmetric distributed file system; And 상기 클라이언트로부터의 청크 읽기 요청에 따라, 상기 비대칭 분산 파일 시스템의 점진적 일관성 오류를 검사하여 오류 검사 결과를 상기 메타데이터 서버에게 보고하고, 상기 파일의 읽기 결과를 상기 클라이언트에게 전송하는 데이터 서버In response to a chunk read request from the client, a data server for checking a gradual consistency error of the asymmetric distributed file system and reporting an error check result to the metadata server and transmitting the read result of the file to the client 를 포함하는 것을 특징으로 하는 비대칭 분산 파일 시스템.Asymmetric distributed file system comprising a. 제 7 항에 있어서,The method of claim 7, wherein 상기 클라이언트는,The client, 상기 비대칭 분산 파일 시스템에 접근하는 응용 프로그램; 및An application program accessing the asymmetric distributed file system; And 상기 응용 프로그램이 상기 비대칭 분산 파일 시스템에 저장된 파일에 접근하도록 파일 시스템 접근 인터페이스를 제공하는 파일 시스템 클라이언트 모듈A file system client module that provides a file system access interface for the application to access files stored in the asymmetric distributed file system 을 포함하는 것을 특징으로 하는 비대칭 분산 파일 시스템.Asymmetric distributed file system comprising a. 제 7 항에 있어서, 상기 메타데이터 서버는,The method of claim 7, wherein the metadata server, 상기 비대칭 분산 파일 시스템에 저장되는 모든 파일의 메타데이터를 저장 관리하는 메타데이터 관리 모듈;A metadata management module configured to store and manage metadata of all files stored in the asymmetric distributed file system; 상기 메타데이터를 저장하는 저장소; 및A repository for storing the metadata; And 상기 점진적 일관성 오류를 복구하는 고장 회복 모듈을 구비하며,A failure recovery module for recovering the gradual consistency error; 상기 메타데이터는 크기, 소유자, 그룹 소유자, 접근 권한, 시간들, 데이터 서버 식별자, 청크 식별자, 청크 크기 및 청크 버전을 포함하는 것을 특징으로 하는 비대칭 분산 파일 시스템.Wherein said metadata includes size, owner, group owner, access rights, times, data server identifier, chunk identifier, chunk size, and chunk version. 제 7 항에 있어서, 상기 데이터 서버는,The method of claim 7, wherein the data server, 상기 비대칭 분산 파일 시스템에 저장되는 모든 파일의 데이터를 저장 관리하는 청크 저장 관리 모듈; 및A chunk storage management module that stores and manages data of all files stored in the asymmetric distributed file system; And 상기 파일의 데이터를 저장하는 저장소Storage for storing the data of the file 를 포함하는 것을 특징으로 하는 비대칭 분사 파일 시스템.Asymmetric injection file system comprising a.
KR1020080127872A 2008-12-16 2008-12-16 Asymmetric Distributed File System, And Incremental Consistency Error Check And Recovery Method For The Same KR101010219B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080127872A KR101010219B1 (en) 2008-12-16 2008-12-16 Asymmetric Distributed File System, And Incremental Consistency Error Check And Recovery Method For The Same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080127872A KR101010219B1 (en) 2008-12-16 2008-12-16 Asymmetric Distributed File System, And Incremental Consistency Error Check And Recovery Method For The Same

Publications (2)

Publication Number Publication Date
KR20100069234A KR20100069234A (en) 2010-06-24
KR101010219B1 true KR101010219B1 (en) 2011-01-21

Family

ID=42367373

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080127872A KR101010219B1 (en) 2008-12-16 2008-12-16 Asymmetric Distributed File System, And Incremental Consistency Error Check And Recovery Method For The Same

Country Status (1)

Country Link
KR (1) KR101010219B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180069651A (en) 2016-12-15 2018-06-25 (주)신테카바이오 Analysis platform for personalized medicine based personal genome map and Analysis method using thereof
KR20190000341A (en) 2018-12-20 2019-01-02 (주)신테카바이오 Analysis platform for personalized medicine based personal genome map and Analysis method using thereof
KR20190000340A (en) 2018-12-20 2019-01-02 (주)신테카바이오 Analysis platform for personalized medicine based personal genome map and Analysis method using thereof
KR20190000342A (en) 2018-12-20 2019-01-02 (주)신테카바이오 Analysis platform for personalized medicine based personal genome map and Analysis method using thereof
US10540324B2 (en) 2016-07-29 2020-01-21 Syntekabio Co., Ltd. Human haplotyping system and method

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101323729B1 (en) * 2009-12-18 2013-10-30 한국전자통신연구원 Apparatus and method of processing failure data recovery in the asymmetric clustering file system
KR101502895B1 (en) 2010-12-22 2015-03-17 주식회사 케이티 Method for recovering errors from all erroneous replicas and the storage system using the method
KR101585146B1 (en) 2010-12-24 2016-01-14 주식회사 케이티 Distribution storage system of distributively storing objects based on position of plural data nodes, position-based object distributive storing method thereof, and computer-readable recording medium
KR101544480B1 (en) 2010-12-24 2015-08-13 주식회사 케이티 Distribution storage system having plural proxy servers, distributive management method thereof, and computer-readable recording medium
KR101483127B1 (en) 2011-03-31 2015-01-22 주식회사 케이티 Method and apparatus for data distribution reflecting the resources of cloud storage system
KR101544483B1 (en) 2011-04-13 2015-08-17 주식회사 케이티 Replication server apparatus and method for creating replica in distribution storage system
KR101544485B1 (en) 2011-04-25 2015-08-17 주식회사 케이티 Method and apparatus for selecting a node to place a replica in cloud storage system
CN106775449A (en) * 2016-11-16 2017-05-31 无锡港湾网络科技有限公司 Disaster prevention system data distribution formula storage method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070061088A (en) * 2005-12-08 2007-06-13 한국전자통신연구원 File management method in file system and metadata server for the same
KR100749922B1 (en) 2004-12-14 2007-08-21 한국전자통신연구원 Crash recovery system and method for a distributed file server using object based storage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100749922B1 (en) 2004-12-14 2007-08-21 한국전자통신연구원 Crash recovery system and method for a distributed file server using object based storage
KR20070061088A (en) * 2005-12-08 2007-06-13 한국전자통신연구원 File management method in file system and metadata server for the same

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10540324B2 (en) 2016-07-29 2020-01-21 Syntekabio Co., Ltd. Human haplotyping system and method
KR20180069651A (en) 2016-12-15 2018-06-25 (주)신테카바이오 Analysis platform for personalized medicine based personal genome map and Analysis method using thereof
KR20190000341A (en) 2018-12-20 2019-01-02 (주)신테카바이오 Analysis platform for personalized medicine based personal genome map and Analysis method using thereof
KR20190000340A (en) 2018-12-20 2019-01-02 (주)신테카바이오 Analysis platform for personalized medicine based personal genome map and Analysis method using thereof
KR20190000342A (en) 2018-12-20 2019-01-02 (주)신테카바이오 Analysis platform for personalized medicine based personal genome map and Analysis method using thereof

Also Published As

Publication number Publication date
KR20100069234A (en) 2010-06-24

Similar Documents

Publication Publication Date Title
KR101010219B1 (en) Asymmetric Distributed File System, And Incremental Consistency Error Check And Recovery Method For The Same
US9442952B2 (en) Metadata structures and related locking techniques to improve performance and scalability in a cluster file system
US8977602B2 (en) Offline verification of replicated file system
US9020987B1 (en) Managing updating of metadata of file systems
US7363444B2 (en) Method for taking snapshots of data
US9235479B1 (en) Distributed file system having separate data and metadata and providing a consistent snapshot thereof
US9715507B2 (en) Techniques for reconciling metadata and data in a cloud storage system without service interruption
JP4215542B2 (en) System and method for determining changes between two snapshots and sending them to a destination snapshot
US11138156B2 (en) Continuous data management system and operating method thereof
US8370297B2 (en) Approach for optimizing restores of deduplicated data
US7865536B1 (en) Garbage collecting systems and methods
KR100749922B1 (en) Crash recovery system and method for a distributed file server using object based storage
US10810162B2 (en) Physical file verification
US20150066858A1 (en) Systems and methods for resumable replication
US20170060701A1 (en) File-based cluster-to-cluster replication recovery
US20120054253A1 (en) Method and System for Forming a Virtual File System at a Computing Device
KR20150070134A (en) Retrieving point-in-time copies of a source database for creating virtual databases
US8074037B2 (en) Storage service device with dual controller and backup method thereof
US11886298B2 (en) Using a storage log to generate an incremental backup
CN110163009B (en) Method and device for safety verification and repair of HDFS storage platform
US10261863B2 (en) Runtime file system consistency checking during backup operations
US9817834B1 (en) Techniques for performing an incremental backup
CN107402841B (en) Data restoration method and device for large-scale distributed file system
US11461192B1 (en) Automatic recovery from detected data errors in database systems
US11782799B2 (en) Using bitmaps to validate data

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131209

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141229

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 9