KR20150087622A - Distributed file system for providing the file-based snapshot and method thereof - Google Patents
Distributed file system for providing the file-based snapshot and method thereof Download PDFInfo
- Publication number
- KR20150087622A KR20150087622A KR1020140007799A KR20140007799A KR20150087622A KR 20150087622 A KR20150087622 A KR 20150087622A KR 1020140007799 A KR1020140007799 A KR 1020140007799A KR 20140007799 A KR20140007799 A KR 20140007799A KR 20150087622 A KR20150087622 A KR 20150087622A
- Authority
- KR
- South Korea
- Prior art keywords
- snapshot
- file
- chunk
- original
- file system
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Abstract
Description
본 발명은 분산 파일 시스템에 관한 것으로, 특히 파일 수준의 스냅샷을 제공하는 분산 파일 시스템의 기술에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a distributed file system, and more particularly, to a distributed file system that provides file-level snapshots.
인터넷 비즈니스 응용 환경에서는 대용량 데이터의 처리와 저장 공간의 확장뿐만 아니라 시스템의 안정성과 가용성이 요구된다. 하지만, 대량의 데이터를 백업하기 위해서는 오랜 시간이 필요하고 이 시간 동안 서비스를 중단해야 하는 것은 용납될 수 없다. 따라서, 서비스가 제공되고 있는 동안에도 백업을 제공할 수 있는 온라인 백업(on-line)이 요구되며, 이러한 온라인 백업을 지원하기 위해서는 스냅샷 기법이 필요하다. 즉, 스냅샷은 특정 시점의 파일 시스템 또는 볼륨 이미지를 유지할 수 있는 기법으로, 서비스를 제공하는 동시에 스냅샷을 통한 온라인 백업을 수행할 수 있도록 한다In the Internet business application environment, the stability and the availability of the system are required as well as the processing of large amounts of data and expansion of the storage space. However, it takes a long time to back up a large amount of data and it is unacceptable to stop service during this time. Therefore, an online backup (on-line) is required to provide a backup while the service is being provided, and a snapshot technique is needed to support such online backup. In other words, snapshots are a technique for maintaining a point-in-time file system or volume image, allowing you to perform online backups via snapshots while providing services
한편, 일반적인 파일 시스템에서는 파일 시스템 또는 볼륨 수준에서 스냅샷을 제공하고 있으며, 파일의 메타데이터와 데이터를 함께 관리하는 구조를 갖는다. 여기서, 스냅샷은 임의의 시점에 파일 시스템 또는 볼륨 수준에서의 현재 상태를 보관함으로써, 온라인 상태에서 백업을 할 수 있도록 지원하기 위해 사용된다. 또한, 최근에는 가상 데스크탑 환경에서 가상 데이크탑 이미지 또는 가상 디스크에 대한 스냅샷을 지원함으로써, 특정 시점의 스냅샷 상태로 복귀할 수 있도록 하거나, 가상 데스크탑 이미지에 대한 스냅샷을 생성하여 빠르게 가상 데스크탑 이미지를 배포하기 위해 사용하고 있다.On the other hand, a general file system provides snapshots at the file system or volume level, and has a structure for managing file metadata and data together. Here, a snapshot is used to support a backup in an online state by keeping the current state at the file system or volume level at a certain point in time. In addition, recent support for snapshots of virtual desktop images or virtual disks in a virtual desktop environment enables them to return to snapshot status at a specific point in time, or snapshots of virtual desktop images to quickly create virtual desktop images Is used for distribution.
하지만, 최근의 대용량 파일 시스템들은 대부분 파일의 메타데이터와 데이터를 메타데이터 서버와 데이터 서버들로 분리하여 저장하고 관리하는 분산 파일 시스템의 구조를 가진다. 이에 따라, 파일 수준에서 스냅샷을 지원할 수 있는 방법이 요구된다. However, recent large-capacity file systems mostly have a distributed file system structure in which metadata and data of files are separated and managed by metadata server and data server. As a result, there is a need for a way to support snapshots at the file level.
즉, 비대칭 구조를 갖는 분산 파일 시스템에서 파일 수준으로 스냅샷을 제공하기 위해서는 메타데이터 서버에서 원본 파일과 스냅샷 파일에 대한 메타데이터를 관리하며, 데이터 서버들에서 원본 파일과 스냅샷 파일에 대한 데이터를 관리하는 방법이 요구된다. 또한, 원본 파일과 스냅샷 파일에 대한 일관성을 보장하여야만 한다.To provide file-level snapshots in a distributed file system with an asymmetric structure, the metadata server manages the metadata of the original files and the snapshot files. In the data servers, data about the original file and the snapshot file Is required. In addition, consistency must be ensured for source files and snapshot files.
본 발명은 분산 파일 시스템에서 파일 수준으로 읽기 전용 또는 쓰기 가능한 스냅샷을 지원할 수 있도록 하는 기술적 방안을 제공함을 목적으로 한다.The present invention aims to provide a technical solution for supporting read-only or writable snapshots at a file level in a distributed file system.
전술한 과제를 달성하기 위한 본 발명의 일 양상에 따른 분산 파일 시스템은 파일의 메타데이터 정보를 관리하되, 파일 수준에서 스냅샷 파일에 대한 메타데이터 정보를 관리하는 메타데이터 서버, 및 상기 파일의 데이터를 청크 단위로 분할하여 저장 및 관리하되, 원본 파일의 청크에 대해 상기 스냅샷 파일의 델타 청크를 저장 및 관리하며, 상기 원본 파일 또는 상기 스냅샷 파일에 대한 입출력을 관리하는 다수의 데이터 서버를 포함한다.According to an aspect of the present invention, there is provided a distributed file system including a metadata server for managing metadata information of a file, managing metadata information for a snapshot file at a file level, A plurality of data servers for storing and managing the chunks of the original file, and for storing and managing the delta chunks of the snapshot files, and managing input / output of the original files or the snapshot files do.
본 발명에 따르면, 메타데이터 서버에서 원본 파일과 스냅샷 파일에 대한 메타데이터를 공유하면서 일관성을 보장하여, 보다 빠른 스냅샷 생성과 관리를 지원하며, 데이터 서버에서는 원본 파일 또는 스냅샷 파일에 대한 데이터 입출력과 갱신 요청을 스냅샷의 특성에 따라 효율적으로 처리함으로써, 메타데이터 서버 또는 클라이언트에 투명한 처리를 지원할 수 있다.According to the present invention, the meta data server shares metadata with respect to the original file and the snapshot file to assure consistency, thereby supporting faster snapshot creation and management. In the data server, data about the original file or the snapshot file By processing I / O and update requests efficiently according to the characteristics of the snapshot, transparent processing can be supported for the metadata server or client.
도 1은 본 발명의 일 실시예에 따른 분산 파일 시스템의 구성을 도시한 블록도.
도 2는 본 발명의 실시예에 따른 분산 파일 시스템에서 파일 수준의 읽기 전용 스냅샷 파일을 개념적으로 도시한 도면.
도 3은 본 발명의 실시예에 따른 분산 파일 시스템의 메타데이터 서버에서 관리하는 파일 수준의 읽기 전용 스냅샷 파일의 메타데이터 구조를 개략적으로 도시한 도면.
도 4는 본 발명의 실시 예에 따른 분산 파일 시스템에서 읽기 전용 스냅샷 파일의 델타 청크를 식별하기 위한 식별자 구성 정보를 개략적으로 도시한 도면.
도 5는 본 발명의 실시 예에 따른 분산 파일 시스템에서 갱신 데이터 정보를 익스텐트 단위로 추적하기 위한 원본 청크 익스텐트 변경맵을 개략적으로 도시한 도면.
도 6은 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 읽기 전용 스냅샷 파일을 생성하는 처리 과정을 도시한 흐름도.
도 7은 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 읽기 전용 스냅샷 파일을 삭제하는 처리 과정을 도시한 흐름도.
도 8은 본 발명의 실시 예에 따른 분산 파일 시스템에서 원본 파일에 대한 쓰기 처리 과정을 도시한 흐름도.
도 9는 본 발명의 실시 예에 따른 분산 파일 시스템에서 원본 파일에 대한 읽기 처리 과정을 도시한 흐름도.
도 10은 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 읽기 전용 스냅샷 파일에 대한 읽기 처리 과정을 도시한 흐름도.
도 11은 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 쓰기 가능 스냅샷 파일을 개념적으로 도시한 도면.
도 12는 본 발명의 실시 예에 따른 분산 파일 시스템의 메타데이터 서버에서 관리하는 파일 수준의 쓰기 가능 스냅샷 파일의 메타데이터 구조를 개략적으로 도시한 도면.
도 13은 본 발명의 실시 예에 따른 분산 파일 시스템에서 쓰기 가능 스냅샷 파일의 델타 청크를 식별하기 위한 식별자 구성 정보를 개략적으로 도시한 도면.
도 14는 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 쓰기 가능 스냅샷 파일을 생성하는 처리 과정을 도시한 흐름도.
도 15는 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 읽기 전용 스냅샷 파일을 쓰기 가능 스냅샷 파일로 변환하는 처리 과정을 도시한 흐름도.
도 16은 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 쓰기 가능 스냅샷 파일에 대한 쓰기 처리 과정을 도시한 흐름도.
도 17은 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 쓰기 가능 스냅샷 파일에 대한 읽기 처리 과정을 도시한 흐름도.1 is a block diagram showing a configuration of a distributed file system according to an embodiment of the present invention;
FIG. 2 conceptually illustrates a file-level read-only snapshot file in a distributed file system according to an embodiment of the present invention; FIG.
FIG. 3 is a view schematically showing a metadata structure of a file-level read-only snapshot file managed by a metadata server of a distributed file system according to an embodiment of the present invention; FIG.
FIG. 4 is a diagram schematically illustrating identifier configuration information for identifying a delta chunk of a read-only snapshot file in a distributed file system according to an embodiment of the present invention; FIG.
5 is a view schematically showing a original chunk extent change map for tracking update data information on an extent basis in a distributed file system according to an embodiment of the present invention;
FIG. 6 is a flowchart illustrating a process of generating a file-level read-only snapshot file in a distributed file system according to an embodiment of the present invention; FIG.
7 is a flowchart illustrating a process of deleting a file-level read-only snapshot file in a distributed file system according to an embodiment of the present invention;
FIG. 8 is a flowchart illustrating a write process of an original file in a distributed file system according to an embodiment of the present invention; FIG.
FIG. 9 is a flowchart illustrating a reading process of an original file in a distributed file system according to an embodiment of the present invention; FIG.
FIG. 10 is a flowchart illustrating a read process of a file-level read-only snapshot file in a distributed file system according to an embodiment of the present invention; FIG.
FIG. 11 conceptually illustrates a file-level writeable snapshot file in a distributed file system according to an embodiment of the present invention; FIG.
12 is a view schematically showing a metadata structure of a file-level writeable snapshot file managed by a metadata server of a distributed file system according to an embodiment of the present invention;
13 is a view schematically showing identifier configuration information for identifying a delta chunk of a writable snapshot file in a distributed file system according to an embodiment of the present invention;
FIG. 14 is a flowchart illustrating a process of generating a file-level writeable snapshot file in a distributed file system according to an embodiment of the present invention; FIG.
15 is a flowchart illustrating a process of converting a file-level read-only snapshot file into a writable snapshot file in a distributed file system according to an embodiment of the present invention;
FIG. 16 is a flowchart illustrating a write process for a file-level writeable snapshot file in a distributed file system according to an embodiment of the present invention; FIG.
FIG. 17 is a flowchart illustrating a read process of a file-level writeable snapshot file in a distributed file system according to an embodiment of the present invention; FIG.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예를 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.BRIEF DESCRIPTION OF THE DRAWINGS The foregoing and further aspects of the present invention will become more apparent from the following detailed description of preferred embodiments with reference to the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명을 구체적으로 설명하기 전, 본 발명은 파일의 메타데이터를 독립적인 메타데이터 서버에서 관리하고, 파일의 데이터를 고정된 크기의 청크 단위로 나누어서 다수의 데이터 서버에 분산하여 관리함으로써, 파일 메타데이터 접근 경로와 파일 데이터 접근 경로가 분리된 비대칭 구조를 갖는 분산 파일 시스템을 대상으로 한다. Before describing the present invention in detail, the present invention manages meta data of a file in an independent metadata server, divides the data of the file into chunks of fixed size, distributes and manages the data to a plurality of data servers, Distributed file system with asymmetric data access path and file data access path.
도 1은 본 발명의 일 실시예에 따른 분산 파일 시스템의 구성을 도시한 블록도이다. 1 is a block diagram showing a configuration of a distributed file system according to an embodiment of the present invention.
클라이언트(110)는 클라이언트 응용을 수행하고, 메타데이터 서버(120)에 저장된 파일의 메타데이터에 접근할 수 있으며, 데이터 서버(S140)에 저장된 파일의 데이터를 입출력할 수 있다. 즉, 클라이언트(110)가 파일에 접근하기 위해서는, 먼저 메타데이터 서버(120)에 있는 파일 메타데이터에 접근하여 파일 데이터가 저장되어 있는 다수의 데이터 서버(130)에 대한 정보를 얻고 나서, 실제 데이터에 대한 입출력은 다수의 데이터 서버(130)를 통하여 이루어진다.The
메타데이터 서버(120)는 파일 시스템의 모든 파일에 대한 메타데이터를 저장하고 관리하며, 모든 데이터 서버(S140)에 대한 상태 정보를 관리한다. 구체적으로, 메타데이터 서버(120)는 파일의 메타데이터 정보를 관리하되, 파일 수준에서 스냅샷 파일에 대한 메타데이터 정보를 관리한다.The
여기서, 스냅샷은 특성에 따라 읽기 전용 스냅샷 또는 쓰기 가능 스냅샷으로 관리될 수 있으며, 두 스냅샷 모두 원본 파일 데이터에 대한 메타데이터를 공유한다. 읽기 전용 스냅샷은 스냅샷을 생성한 시점에서의 파일 데이터를 읽기만 가능하며, 원본 파일은 계속적으로 변경된다. 쓰기 가능 스냅샷은 스냅샷이 생성된 이후에 스냅샷에 대한 읽기 쓰기가 가능할 수 있다. 따라서, 원본 파일과 스냅샷이 파일 데이터에 대한 메타데이터를 공유하지만, 원본 파일에 대한 변경이 스냅샷에 반영되지 않으며, 스냅샷에 대한 변경이 원본 파일에 반영되지 않는 특성을 갖는다. Here, snapshots can be managed as read-only snapshots or writable snapshots, depending on their characteristics, and both snapshots share metadata about the original file data. Read-only snapshots can only read file data at the point of creation of the snapshot, and the original file is continuously changed. Write-enabled snapshots can be read-write to the snapshot after the snapshot is created. Thus, although the original file and snapshot share metadata about the file data, changes to the original file are not reflected in the snapshot, and changes to the snapshot are not reflected in the original file.
데이터 서버(S140)는 파일의 데이터 청크를 저장 및 관리하고, 주기적으로 메타데이터 서버(120)에게 자신의 상태 정보를 보고한다. 구체적으로, 데이터 서버(130)는 파일의 데이터를 청크 단위로 분할하여 저장 및 관리하되, 원본 파일의 청크에 대해 스냅샷 파일의 델타 청크를 저장 및 관리하며, 원본 파일 또는 스냅샷 파일에 대한 입출력을 관리한다. 바람직하게, 데이터 서버(130)는 이러한 읽기 전용 스냅샷 또는 쓰기 가능 스냅샷의 특성을 반영하여 파일의 청크 데이터에 대한 입출력을 관리한다.The data server (S140) stores and manages data chunks of the file, and periodically reports its status information to the metadata server (120). Specifically, the
분산 파일 시스템(10)의 데이터 서버(S140)는 다수 개로 구성하는 것이 바람직하며, 클라이언트(110), 메타데이터 서버(120) 및 다수의 데이터 서버(S140)는 네트워크로 상호 연결된다.
The data server S140 of the
이하, 도 2 내지 도 10을 참조하여 파일 수준의 읽기 전용 스냅샷을 제공하는 분산 파일 시스템 및 그 방법에 대해 설명한다. Hereinafter, a distributed file system and its method for providing a file-level read-only snapshot will be described with reference to FIGS. 2 to 10. FIG.
도 2는 본 발명의 실시예에 따른 분산 파일 시스템에서 파일 수준의 읽기 전용 스냅샷 파일을 개념적으로 도시한 도면이다.FIG. 2 conceptually illustrates a file-level read-only snapshot file in a distributed file system according to an embodiment of the present invention.
파일 수준의 읽기 전용 스냅샷 파일은 원본 파일에 대한 스냅샷을 생성하는 시점의 상태를 보관한다. 따라서 스냅샷을 생성한 이후에 원본 파일이 계속해서 갱신되더라도 특정 스냅샷을 생성한 시점의 파일 상태로 복귀할 수 있도록 한다. 읽기 전용 스냅샷은 시간 상에서 계속해서 생성할 수 있으며 각각의 스냅샷은 스냅샷을 생성하는 시점에서의 원본 파일의 상태를 보관하게 된다. 이를 위해, 읽기 전용 스냅샷(203,205,207)은 원본 파일과 동일하게 파일 형태로 생성된다. 그리고, 데이터를 저장하는 청크에 대해서는 스냅샷을 생성한 이후에는 데이터 갱신이 발생하면 원본 청크(202)에서 갱신하지 않고 스냅샷 이후에 갱신되는 데이터만을 저장하는 스냅샷 델타 청크(104,106,108)에 저장됨으로써, 특정 스냅샷으로 복귀할 때 스냅샷 시점의 데이터에 접근할 수 있도록 한다.A file-level read-only snapshot file holds the state at the time the snapshot is taken of the original file. Therefore, even if the original file continues to be updated after the snapshot is created, it can be restored to the state of the file at the time the specific snapshot was created. Read-only snapshots can be created continuously over time, and each snapshot retains the state of the original file at the time the snapshot is created. To this end, the read-only snapshots 203, 205, and 207 are created in the same file format as the original file. The chunks storing the data are stored in the snapshot delta chunks 104, 106, and 108, which store only the data updated after the snapshot without updating the original chunks 202 when data updates occur after the snapshot is generated , Allowing access to the data at the time of the snapshot when returning to a specific snapshot.
도 3은 본 발명의 실시예에 따른 분산 파일 시스템의 메타데이터 서버에서 관리하는 파일 수준의 읽기 전용 스냅샷 파일의 메타데이터 구조를 개략적으로 도시한 도면이다.FIG. 3 is a diagram schematically illustrating a metadata structure of a file-level read-only snapshot file managed by a metadata server of a distributed file system according to an embodiment of the present invention.
원본 파일과 읽기 전용 스냅샷 파일에 대한 메타데이터 정보는 메타데이터 서버(120)에서 inode 구조(301,306,311,316)로 관리된다. inode 구조에는 inode 속성 정보(302,307,312,317)와 데이터 서버(130)에 분할되어 저장되어 있는 청크 레이아웃 정보를 포함한다. 여기서, inode 속성 정보로는 inode 식별자, 파일 타입, 파일 모드, 파일 크기, 파일 소유권, 파일 접근/변경/갱신 시간 등을 갖는다. 또한, 청크 레이아웃 정보는 청크 개수, 청크 크기, 청크 복제본 수에 대한 정보를 갖는 청크 레이아웃 헤더 정보(304,309,314,319)와 청크가 저장된 디스크 식별자, 청크 식별자, 청크 타입, 청크 버전 정보를 갖는 청크 정보(305,310,315,320)로 구성된다. 이외에 원본 파일에서는 원본 파일에서 생성한 읽기 전용 스냅샷 파일의 inode 정보가 유지되는(303) 반면에, 읽기 전용 스냅샷 파일의 inode에서는 원본 파일의 inode 정보를 유지됨으로써(308,313,318), 원본 파일과 스냅샷 파일과의 관계가 설정된한다.Metadata information about the original file and the read-only snapshot file is managed by the
도 4는 본 발명의 실시 예에 따른 분산 파일 시스템에서 읽기 전용 스냅샷 파일의 델타 청크를 식별하기 위한 식별자 구성 정보를 개략적으로 도시한 도면이다.4 is a diagram schematically showing identifier configuration information for identifying a delta chunk of a read-only snapshot file in a distributed file system according to an embodiment of the present invention.
구체적으로, 도 4는 분산 파일 시스템(10)에서 파일 수준의 읽기 전용 스냅샷 파일을 생성한 이후에 원본 파일의 청크가 갱신되는 경우, 갱신 데이터를 저장하는 읽기 전용 스냅샷 파일의 델타 청크를 식별하기 위한 식별자 구성 정보이다. 여기서, 읽기 전용 스냅샷 파일의 델타 청크는 원본 파일의 청크와 같이 별도의 청크 식별자를 할당하지 않고, 원본 청크의 식별자(401)와 읽기 전용 스냅샷 번호(402)를 이용하여 식별하도록 한다. 따라서, 읽기 전용 스냅샷 파일의 청크 정보에서 청크가 저장된 디스크 식별자와 청크 식별자는 원본 파일의 청크와 동일하게 유지된다.Specifically, FIG. 4 identifies a delta chunk of a read-only snapshot file that stores update data when a chunk of the original file is updated after a file-level read-only snapshot file is created in the distributed
도 5는 본 발명의 실시 예에 따른 분산 파일 시스템에서 갱신 데이터 정보를 익스텐트 단위로 추적하기 위한 원본 청크 익스텐트 변경맵을 개략적으로 도시한 도면이다.FIG. 5 is a diagram schematically showing a original chunk extent change map for tracking update data information on an extent basis in a distributed file system according to an embodiment of the present invention.
구체적으로, 도 5는 분산 파일 시스템(10)에서 파일 수준의 읽기 전용 스냅샷 파일을 생성한 이후에 원본 파일의 청크가 갱신되는 경우, 갱신 데이터 정보를 익스텐트 단위로 추적하기 위한 원본 청크 익스텐트 변경맵이다. 분산 파일 시스템(10)은 읽기 전용 스냅샷 파일을 생성한 이후에 원본 파일의 청크가 갱신되는 경우, 스냅샷 델타 청크에 갱신되는 데이터를 저장한다. 여기서, 갱신은 익스텐트(extent) 단위로 copy-on-write 방법을 사용한다. Specifically, FIG. 5 shows an original chunk extent change map for tracking update data information in units of extents when a chunk of an original file is updated after a file-level read-only snapshot file is created in the distributed
즉, 분산 파일 시스템(10)은 청크를 익스텐트 단위로 분할하였을 때 갱신 데이터가 포함되는 익스텐트에 대해 원본 청크 또는 이전 읽기 전용 스냅샷의 델타 청크에서 익스텐트를 읽어서 데이터를 갱신하고, 현재 읽기 전용 스냅샷 델타 청크에 저장한다. 이때, 청크를 구성하는 익스텐트들에 대해 익스텐트가 어떤 읽기 전용 스냅샷 번호 이후에 변경되었는지를 추적하기 위해, 분산 파일 시스템(10)은 익스텐트 번호와 읽기 전용 스냅샷 번호(502)를 관리하는 원본 청크 익스텐트 변경맵을 원본 청크 끝에 유지한다. 또한, 분산 파일 시스템(10)은 원본 청크 익스텐트 변경맵에는 마지막으로 생성된 읽기 전용 스냅샷 번호(501)도 함께 유지한다.That is, when the chunk is divided into extent units, the distributed
도 6은 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 읽기 전용 스냅샷 파일을 생성하는 처리 과정을 도시한 흐름도이다.6 is a flowchart illustrating a process of generating a file-level read-only snapshot file in the distributed file system according to the embodiment of the present invention.
먼저, 분산 파일 시스템(10)은 원본 파일 inode의 잠금을 획득한다(S601). 이는, 원본 파일의 읽기 전용 스냅샷을 생성하기 위해서 원본 파일 inode의 잠금을 획득하여 스냅샷 생성에 대한 일관성을 보장한다. 잠금을 획득한 이후, 분산 파일 시스템(10)은 스냅샷 파일 inode를 생성하고, 읽기 전용 스냅샷 번호를 부여한 다음, 스냅샷 파일의 모드를 읽기 전용으로 설정한다(S602). 다음으로, 분산 파일 시스템(10)은 원본 파일 또는 이전에 생성된 읽기 전용 스냅샷의 청크 레이아웃 정보를 새로 생성된 읽기 전용 스냅샷의 청크 레이아웃 정보에 복사한다(S603). First, the distributed
또한, 분산 파일 시스템(10)은 원본 파일의 청크를 저장하고 있는 모든 데이터 서버들(130)에서 원본 청크 또는 이전에 생성된 스냅샷 델타 청크의 잠금을 획득하고(S604), 새로 생성된 읽기 전용 스냅샷에 대한 델타 청크를 생성한다(S605). In addition, the distributed
이때 만약, 원본 청크 또는 이전 스냅샷 델타 청크에 대한 데이터 갱신이 있는 경우, 분산 파일 시스템(10)은 새로 생성된 스냅샷 델타 청크를 저장하고 원본 청크의 익스텐트 변경맵에 반영한다(S606). 이후에 원본 청크 또는 이전에 생성된 스냅샷 델타 청크의 잠금을 해제한다(S607). At this time, if there is data update for the original chunk or the previous snapshot delta chunk, the distributed
나아가, 분산 파일 시스템(10)은 메타데이터 서버(120)에서 새로 생성한 스냅샷 파일의 inode에 원본 파일의 inode 정보를 저장하고(S608), 원본 파일의 inode에는 새로 생성한 읽기 전용 스냅샷 파일의 inode 식별자와 스냅샷 번호를 저장한다(S609). 마지막으로, 분산 파일 시스템(10)은 원본 파일 inode의 잠금을 해제하여(S610), 파일 수준의 읽기 전용 스냅샷 파일을 생성하는 처리 과정을 종료한다.In addition, the distributed
도 7은 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 읽기 전용 스냅샷 파일을 삭제하는 처리 과정을 도시한 흐름도이다.7 is a flowchart illustrating a process of deleting a file-level read-only snapshot file in the distributed file system according to the embodiment of the present invention.
읽기 전용 스냅샷 파일을 삭제하기 위해서, 분산 파일 시스템(10)은 삭제할 스냅샷 파일이 원본 파일에 대해 첫번째로 생성된 스냅샷인지에 따라 다른 처리 과정으로 수행한다(S701). In order to delete the read-only snapshot file, the distributed
먼저 삭제하고자 하는 스냅샷이 첫번째로 생성된 읽기 전용 스냅샷 파일일 경우에는, 분산 파일 시스템(10)은 청크를 저장하고 있는 데이터 서버(130)에서 원본 청크의 익스텐트 변경맵을 분석하여(S702), 삭제할 스냅샷이 생성된 이후에 변경된 데이터를 저장하고 있는 스냅샷 델타 청크를 원본 청크와 병합한다(S703). 병합한 후, 분산 파일 시스템(10)은 데이터 서버(130)에서 삭제 대상인 읽기 전용 스냅샷 델타 청크를 삭제한다(S704). If the first snapshot to be deleted is the first created read-only snapshot file, the distributed
만약, 삭제하고자 하는 스냅샷이 첫번째로 생성된 읽기 전용 스냅샷이 아닌 경우, 분산 파일 시스템(10)은 청크를 저장하고 있는 데이터 서버(130)에서 원본 청크의 익스텐트 변경맵을 분석하여(S705), 삭제할 스냅샷이 생성된 이후에 변경된 데이터를 저장하고 있는 스냅샷 델타 청크와 삭제 대상 스냅샷 보다 이전에 생성된 스냅샷 이후에 변경된 데이터를 저장하고 있는 스냅샷 델타 청크를 병합한다(S706). 병합한 후, 분산 파일 시스템(10)의 데이터 서버(130)에서는 삭제 대상인 읽기 전용 스냅샷 델타 청크를 삭제한다(S707).If the snapshot to be deleted is not the firstly created read-only snapshot, the distributed
이러한 과정 후에, 분산 파일 시스템(10)의 데이터 서버(130)에서는 원본 청크의 익스텐트 변경맵의 삭제할 스냅샷 번호를 초기화하거나, 이전 스냅샷 번호로 변경 및 저장한다(S708). 그리고, 분산 파일 시스템(10)은 원본 파일의 inode에서 삭제 대상인 읽기 전용 스냅샷 inode 정보를 삭제한다(S709). 마지막으로, 분산 파일 시스템(10)은 스냅샷 파일의 inode를 삭제하여(S710), 파일 수준의 읽기 전용 스냅샷 파일을 삭제하는 처리 과정을 종료한다.After this process, the
도 8은 본 발명의 실시 예에 따른 분산 파일 시스템에서 원본 파일에 대한 쓰기 처리 과정을 도시한 흐름도이다. 구체적으로, 분산 파일 시스템(10)은 파일 수준의 읽기 전용 스냅샷 파일을 생성한 이후에, 클라이언트(110)에서 원본 파일에 데이터를 쓸 수 있다. 8 is a flowchart illustrating a write process of an original file in a distributed file system according to an embodiment of the present invention. Specifically, the distributed
이를 위해서 먼저, 분산 파일 시스템(10)은 클라이언트(110)에서 메타데이터 서버(120)로부터 원본 파일의 청크 레이아웃 정보를 요청하여 받아온다(S801). 그리고, 클라이언트(110)는 데이터를 쓸 위치의 청크를 저장하고 있는 데이터 서버(130)에 데이터 쓰기를 요청한다(S802). 그러면, 분산 파일 시스템(10)의 데이터 서버(130)에서는 먼저 원본 청크의 익스텐트 변경맵을 분석하여(S803), 청크에서 데이터를 쓸 위치의 익스텐트가 변경되었는지를 검사한다(S804).To this end, the distributed
만약 익스텐트가 변경되었으면, 분산 파일 시스템(10)은 마지막 변경 데이터를 가지고 있는 읽기 전용 스냅샷 델타 청크와 현재(마지막) 읽기 전용 스냅샷 델타 청크의 잠금을 획득한다(S805). 분산 파일 시스템(10)은 마지막 변경 스냅샷 델타 청크에서 현재 스냅샷 델타 청크로 익스텐트 단위의 copy-on-write를 수행한 후(S806), 마지막 변경 스냅샷 델타 청크와 현재 스냅샷 델타 청크의 잠금을 해제한다(S807). If the extent has changed, the distributed
만약, 익스텐트가 변경되지 않았으면 원본 청크에서 한번도 변경되지 않았다는 것을 의미하므로, 분산 파일 시스템(10)은 원본 청크와 현재 스냅샷 델타 청크의 잠금을 획득한다(S808). 분산 파일 시스템(10)은 원본 청크에서 현재 스냅샷 델타 청크로의 copy-on-write를 수행한 후(S809), 원본 청크와 현재 스냅샷 델타 청크의 잠금을 해제한다(S810).If the extent has not been changed, it means that the original chunk has not changed at all, so the distributed
이후, 분산 파일 시스템(10)은 원본 청크의 익스텐트 변경맵에서 익스텐트에 대해 마지막(현재) 읽기 전용 스냅샷 번호를 설정함으로써, 마지막으로 변경된 위치를 추적할 수 있게 된다(S811).Thereafter, the distributed
도 9는 본 발명의 실시 예에 따른 분산 파일 시스템에서 원본 파일에 대한 읽기 처리 과정을 도시한 흐름도이다. 구체적으로, 분산 파일 시스템(10)은 파일 수준의 읽기 전용 스냅샷 파일을 생성한 이후, 원본 파일에 대한 읽기 처리 과정을 수행할 수 있다.9 is a flowchart illustrating a reading process of an original file in a distributed file system according to an embodiment of the present invention. Specifically, the distributed
읽기 전용 스냅샷 파일 생성한 이후에 원본 파일을 읽을 때, 분산 파일 시스템(10)은 먼저 클라이언트(110)에서 메타데이터 서버(120)로부터 원본 파일의 청크 레이아웃 정보를 요청하여 받아온다(S901). 또한, 분산 파일 시스템(10)의 클라이언트(110)에서는 청크 레이아웃에서 읽을 데이터를 저장하고 있는 데이터 서버(130)로 데이터 읽기를 요청하게 된다(S902). 그러면, 분산 파일 시스템(10)의 데이터 서버에서는 원본 청크의 익스텐트 변경맵을 분석하여(S903), 익스텐트가 스냅샷 생성 이후에 변경되었는지를 검사한다(S904). When reading the original file after creating the read-only snapshot file, the distributed
단계 S904의 검사 결과 익스텐트가 변경되었으면, 분산 파일 시스템(10)은 마지막으로 변경된 데이터를 저장하고 있는 스냅샷 델타 청크의 잠금을 획득하고(S905), 마지막 변경 읽기 전용 스냅샷 델타 청크에서 데이터 읽기를 수행하여 클라이언트(110)에 전달한 후(S906), 마지막 변경 스냅샷 델타 청크의 잠금을 해제한다(S907).If the extent has been changed as a result of the check in step S904, the distributed
만약 단계 S904의 검사 결과 익스텐트가 변경되지 않았으면, 원본 청크가 스냅샷 생성 이후에 한번도 변경되지 않은 것이므로, 분산 파일 시스템(10)은 원본 청크의 잠금을 획득하고(S908), 원본 청크에서 데이터를 읽어서 클라이언트(110)에 전달한 후(S909), 원본 청크의 잠금을 해제한다(S910).If the extent has not been changed as a result of the check in step S904, the original chunk has not been changed after the snapshot has been created. Therefore, the distributed
도 10은 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 읽기 전용 스냅샷 파일에 대한 읽기 처리 과정을 도시한 흐름도이다.10 is a flowchart illustrating a read processing procedure for a file-level read-only snapshot file in the distributed file system according to the embodiment of the present invention.
구체적으로, 읽기 전용 스냅샷 파일을 읽을 때, 분산 파일 시스템(10)은 먼저 클라이언트(110)에서 메타데이터 서버(120)로부터 스냅샷 파일의 청크 레이아웃 정보를 요청하여 받아온다(S1001). 분산 파일 시스템(10)의 클라이언트(110)에서는 읽을 데이터를 저장하고 있는 데이터 서버로 데이터 읽기 요청을 전달한다(S1002). 그러면, 분산 파일 시스템(10)의 데이터 서버(130)에서는 원본 청크의 익스텐트 변경맵을 분석하여(S1003), 스냅샷 이전에 익스텐트가 변경되었는지를 검사한다(S1004). Specifically, when reading a read-only snapshot file, the distributed
단계 S1004의 검사 결과 익스텐트가 변경되었으면, 분산 파일 시스템(10)은 이전에 변경된 익스텐트를 저장하고 있는 스냅샷 델타 청크의 잠금을 획득하고(S1005), 이전에 변경된 익스텐트에서 데이터를 읽어서 클라이언트(110)에 전달한 후(S1006), 이전 변경된 읽기 전용 스냅샷 델타 청크의 잠금을 해제한다(S1007). If the extent of the check is changed in step S1004, the distributed
만약, 단계 S1004의 검사 결과 익스텐트가 변경되지 않았으면, 분산 파일 시스템(10)은 원본 청크의 잠금을 획득하고(S1008), 원본 청크에서 데이터를 읽어서 클라이언트(110)에 전달한 후(S1009), 원본 청크의 잠금을 해제한다(S1010).
If the extent has not been changed as a result of the check in step S1004, the distributed
이하, 도 11 내지 도 17을 참조하여 파일 수준의 쓰기 가능 스냅샷을 제공하는 분산 파일 시스템 및 그 방법에 대해 설명한다. Hereinafter, a distributed file system and its method for providing a file-level writeable snapshot will be described with reference to FIGS. 11 to 17. FIG.
도 11은 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 쓰기 가능 스냅샷 파일을 개념적으로 도시한 도면이다.11 is a view conceptually showing a file-level writeable snapshot file in a distributed file system according to an embodiment of the present invention.
파일 수준의 쓰기 가능 스냅샷은 읽기 전용 스냅샷과 같이 스냅샷 생성 시점에 원본 파일과 메타데이터 정보를 공유하지만, 읽기 전용 스냅샷과는 달리 원본 파일과 독립적으로 스냅샷에 대한 읽기와 쓰기가 가능하다. 그리고, 원본 파일에 대한 변경은 쓰기 가능 스냅샷에 반영되지 않으며, 쓰기 가능 스냅샷에 대한 변경은 원본 파일에 반영되지 않는다. File-level writable snapshots, like read-only snapshots, share metadata and metadata information at the time of snapshot creation, but read and write to snapshots independent of the original file, unlike read-only snapshots Do. Changes to the original file are not reflected in the writable snapshot, and changes to the writable snapshot are not reflected in the original file.
따라서, 원본 파일(1101)의 원본 청크(1102)에 대한 변경은 읽기 전용 스냅샷 델타 청크와 같이 유지되며, 쓰기 가능 스냅샷들(1003,1005,1007)은 별도로 쓰기 가능 스냅샷 델타 청크(1004,1006,1008)를 유지하면서 쓰기 가능 스냅샷의 데이터가 변경되는 경우, 원본 청크와 읽기 전용 스냅샷 델타 청크를 이용하여 copy-on-write가 수행된다.Thus, the change to the
도 12는 본 발명의 실시 예에 따른 분산 파일 시스템의 메타데이터 서버에서 관리하는 파일 수준의 쓰기 가능 스냅샷 파일의 메타데이터 구조를 개략적으로 도시한 도면이다.12 is a view schematically showing a metadata structure of a file-level writeable snapshot file managed by a metadata server of a distributed file system according to an embodiment of the present invention.
구체적으로, 원본 파일(1201)과 쓰기 가능 스냅샷 파일들(1206,1211,1216)은 메타데이터 서버(120)에서 inode 구조로 메타데이터가 관리된다. 이때, inode에는 inode 속성 정보(1202,1207,1212,1217)와 청크 레이아웃 정보(1204,1205,1209,1210,1214,1215,1219,1220)가 관리된다. 이러한 정보들은 읽기 전용 스냅샷 파일과 동일하다. 또한, 원본 파일 inode에서는 쓰기 가능 스냅샷에 대한 inode 정보(1203)가 유지되며, 쓰기 가능 스냅샷들에는 원본 파일의 inode 정보(1108,1113,1118)가 유지된다.Specifically, metadata of the
도 13은 본 발명의 실시 예에 따른 분산 파일 시스템에서 쓰기 가능 스냅샷 파일의 델타 청크를 식별하기 위한 식별자 구성 정보를 개략적으로 도시한 도면이다.13 is a diagram schematically showing identifier configuration information for identifying a delta chunk of a writable snapshot file in a distributed file system according to an embodiment of the present invention.
구체적으로, 도 13은 분산 파일 시스템(10)에서 파일 수준의 쓰기 가능 스냅샷 파일을 생성한 이후에 원본 파일의 청크가 갱신되는 경우, 갱신 데이터를 저장하는 쓰기 가능 스냅샷 파일의 델타 청크를 식별하기 위한 식별자 구성 정보이다. 여기서, 쓰기 가능 스냅샷 파일의 델타 청크는 원본 청크의 식별자(S1401)와 쓰기 가능 스냅샷 번호(S1402)로 구성된다. 따라서, 분산 파일 시스템(10)은 쓰기 가능 스냅샷 델타 청크를 위한 별도의 청크 식별자를 할당하지 않는다.Specifically, FIG. 13 identifies a delta chunk of a writable snapshot file that stores update data when a chunk of the original file is updated after generating a file-level writeable snapshot file in the distributed
도 14는 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 쓰기 가능 스냅샷 파일을 생성하는 처리 과정을 도시한 흐름도이다.FIG. 14 is a flowchart illustrating a process of generating a file-level writeable snapshot file in the distributed file system according to an embodiment of the present invention.
구체적으로, 원본 파일에 대한 쓰기 가능 스냅샷을 생성하기 위해서, 분산 파일 시스템(10)은 먼저 원본 파일 inode의 잠금을 획득한다(S1401). 그리고, 분산 파일 시스템(10)은 쓰기 가능 스냅샷 inode를 생성하고, 쓰기 가능 스냅샷 번호를 할당한다(S1402). 또한, 분산 파일 시스템(10)은 쓰기 가능 스냅샷 inode의 청크 레이아웃 정보에 원본 파일 inode의 청크 레이아웃 정보를 복사한다(S1403). Specifically, in order to create a writable snapshot of the original file, the distributed
분산 파일 시스템(10)은 청크 레이아웃을 참조하여 청크를 저장하고 있는 모든 데이터 서버(130)에서 원본 청크의 잠금을 획득하고(S1404), 쓰기 가능 스냅샷 델타 청크를 생성한다(S1405). 만약, 원본 청크에 대한 데이터 쓰기가 있을 경우, 분산 파일 시스템(10)은 생성된 스냅샷 델타 청크에 원본 청크의 해당 익스텐트를 copy-on-write하고, 스냅샷 델타 청크의 익스텐트 변경 비트맵을 반영하며(S1406), 데이터 서버(130)에서 원본 청크의 잠금을 해제한다(S1407). The distributed
이후, 분산 파일 시스템(10)은 쓰기 가능 스냅샷 파일 inode에 원본 파일 inode 정보를 저장하고(S1408), 원본 파일 inode에는 새로 생성된 쓰기 가능 스냅샷 파일 inode 정보와 스냅샷 번호를 추가한다(S1409). 마지막으로, 분산 파일 시스템(10)은 원본 파일 inode의 잠금을 해제하여(S1410), 파일 수준의 쓰기 가능 스냅샷 파일을 생성하는 처리 과정을 종료한다.Thereafter, the distributed
도 15는 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 읽기 전용 스냅샷 파일을 쓰기 가능 스냅샷 파일로 변환하는 처리 과정을 도시한 흐름도이다. 구체적으로, 분산 파일 시스템(10)의 쓰기 가능 스냅샷 파일은 읽기 전용 스냅샷 파일로부터 변환된 수 있다. 15 is a flowchart illustrating a process of converting a file-level read-only snapshot file into a writable snapshot file in the distributed file system according to an embodiment of the present invention. Specifically, the writable snapshot file of the distributed
이를 위해, 분산 파일 시스템(10)은 먼저 원본 파일과 읽기 전용 스냅샷 파일 inode의 잠금을 획득한다(S1501). 그런 다음, 분산 파일 시스템(10)은 읽기 전용 스냅샷 파일의 타입을 쓰기 가능 스냅샷 파일로 변경하고, 쓰기 가능 스냅샷 번호를 부여한다(S1502). 또한, 분산 파일 시스템(10)은 읽기 전용 스냅샷 파일의 청크 레이아웃 정보를 참조하여 모든 청크에 대해, 데이터 서버(130)에서 이전 스냅샷 델타 청크들에 대한 잠금을 획득하고(S1503), 쓰기 가능 스냅샷 델타 청크를 생성한다(S1504). To this end, the distributed
분산 파일 시스템(10)의 데이터 서버(130)에서는 이전 읽기 전용 스냅샷 델타 청크들을 쓰기 가능 스냅샷 델타 청크로 병합한다(S1505). 그리고, 분산 파일 시스템(10)의 데이터 서버(130)에서 쓰기 가능 스냅샷으로 변경하는 읽기 전용 스냅샷의 델타 청크들을 이전 스냅샷 델타 청크에 병합한다(S1506).The
분산 파일 시스템(10)은 단계 S1506에서 병합된 것은 원본 청크의 익스텐트 변경맵에 반영 즉, 원본 청크 익스텐트 변경맵에서 읽기 전용 스냅샷 번호를 이전 읽기 전용 스냅샷 번호로 변경하고(S1507), 데이터 서버(130)에서 원본 청크의 잠금을 해제한다(S1508). 분산 파일 시스템(10)의 메타데이터 서버(120)에서는 원본 파일 inode에서 읽기 전용 스냅샷 파일 inode 정보를 삭제하고, 쓰기 가능 스냅샷 inode 정보에 쓰기 가능 스냅샷 파일 inode 식별자와 번호를 추가한다(S1509). 마지막으로, 분산 파일 시스템(10)은 원본 파일 inode의 잠금을 해제하여(S1510), 파일 수준의 읽기 전용 스냅샷 파일을 쓰기 가능 스냅샷 파일로 변환하는 처리 과정을 종료한다.In step S1506, the distributed
도 16은 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 쓰기 가능 스냅샷 파일에 대한 쓰기 처리 과정을 도시한 흐름도이다.16 is a flowchart illustrating a write process for a file-level writeable snapshot file in the distributed file system according to an embodiment of the present invention.
쓰기 가능 스냅샷 파일에 대한 쓰기 처리를 위해, 분산 파일 시스템(10)은 먼저 클라이언트(110)에서 메타데이터 서버(120)로부터 쓰기 가능 스냅샷 파일의 청크 레이아웃 정보를 요청하여 받아온다(S1601). 분산 파일 시스템(10)의 클라이언트(110)에서는 쓸 데이터에 대한 청크를 저장하고 있는 데이터 서버(130)에 데이터 쓰기를 요청한다(S1602). 또한, 분산 파일 시스템(10)의 데이터 서버(130)에서는 먼저 쓰기 가능 스냅샷 델타 청크의 익스텐트 변경 비트맵을 분석하여(S1603), 쓸 데이터에 위치의 익스텐트가 변경되었는지를 검사한다(S1604). In order to process the write-enabled snapshot file, the distributed
단계 S1604의 검사 결과 익스텐트가 변경되었으면, 분산 파일 시스템(10)은 스냅샷 델타 청크의 잠금을 획득하고(S1605), 쓰기 가능 스냅샷 델타 청크에 데이터를 쓴 후(S1606), 쓰기 가능 스냅샷 델타 청크의 잠금을 해제한다(S1607). If the extent has been changed as a result of the check in step S1604, the distributed
만약, 단계 S1604의 검사 결과 해당 익스텐트가 변경되지 않았으면, 분산 파일 시스템(10)은 원본 청크와 스냅샷 델타 청크의 잠금을 획득하고(S1608), 원본 청크에서 스냅샷 델타 청크로의 copy-on-write를 수행한다(S1609). 그리고, 분산 파일 시스템(10)은 쓰기 가능 스냅샷 델타 청크의 익스텐트 변경 비트맵에 익스텐트가 변경된 것으로 설정한다(S1610). 마지막으로, 분산 파일 시스템(10)은 원본 청크 및 쓰기 가능 스냅샷 델타 청크의 잠금을 해제하여(S1611), 파일 수준의 쓰기 가능 스냅샷 파일에 대한 쓰기 처리 과정을 종료한다.If it is determined in step S1604 that the corresponding extent has not been changed, the distributed
도 17은 본 발명의 실시 예에 따른 분산 파일 시스템에서 파일 수준의 쓰기 가능 스냅샷 파일에 대한 읽기 처리 과정을 도시한 흐름도이다.17 is a flowchart illustrating a reading process of a file-level writeable snapshot file in a distributed file system according to an embodiment of the present invention.
쓰기 가능 스냅샷 파일에서 데이터를 읽기 위해, 분산 파일 시스템(10)은 먼저 클라이언트(110)에서 메타데이터 서버(120)로부터 쓰기 가능 스냅샷의 청크 레이아웃 정보를 요청하여 받아온다(S1701). 그리고, 분산 파일 시스템(10)의 클라이언트(110)에서는 읽을 데이터의 청크를 저장하고 있는 데이터 서버(130)로 데이터 읽기를 요청한다(S1702). 이에 따라, 분산 파일 시스템(10)의 데이터 서버(130)에서는 쓰기 가능 스냅샷 델타 청크의 익스텐트 변경 비트맵을 분석하여(S1703), 읽을 데이터에 해당하는 익스텐트가 변경되었는지를 검사한다(S1704). In order to read data from the writable snapshot file, the distributed
단계 S1704의 검사 결과 해당 익스텐트가 변경되었으면, 분산 파일 시스템(10)은 쓰기 가능 스냅샷 델타 청크의 잠금을 획득하고(S1705), 쓰기 가능 스냅샷 델타 청크에서 데이터를 읽어서 클라이언트에 전달한 후(S1706), 스냅샷 델타 청크의 잠금을 해제한다(S1707). If it is determined in step S1704 that the corresponding extent has been changed, the distributed
만약, 단계 S1704의 검사 결과 해당 익스텐트가 변경되지 않았으면, 분산 파일 시스템(10)은 원본 청크의 잠금을 획득하고(S1708), 원본 청크에서 데이터를 읽어서 클라이언트(110)에 전달한 후(S1709), 원본 청크의 잠금을 해제하여(S1710), 파일 수준의 쓰기 가능 스냅샷 파일에 대한 읽기 처리 과정을 종료한다.If it is determined in step S1704 that the corresponding extent has not been changed, the distributed
이와 같이 본 발명은 메타데이터 서버에서 원본 파일과 스냅샷 파일에 대한 메타데이터를 공유하면서 일관성을 보장하여, 보다 빠른 스냅샷 생성과 관리를 지원하며, 데이터 서버에서는 원본 파일 또는 스냅샷 파일에 대한 데이터 입출력과 갱신 요청을 스냅샷의 특성에 따라 효율적으로 처리함으로써, 메타데이터 서버 또는 클라이언트에 투명한 처리를 지원할 수 있다.
As described above, according to the present invention, the meta data server shares the metadata of the original file and the snapshot file to assure consistency, thereby supporting faster snapshot creation and management. In the data server, data of the original file or the snapshot file By processing I / O and update requests efficiently according to the characteristics of the snapshot, transparent processing can be supported for the metadata server or client.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
10 : 분산 파일 시스템
110 : 클라이언트
120 : 메타데이터 서버
130 : 데이터 서버10: Distributed File System 110: Client
120: metadata server 130: data server
Claims (1)
상기 파일의 데이터를 청크 단위로 분할하여 저장 및 관리하되, 원본 파일의 청크에 대해 상기 스냅샷 파일의 델타 청크를 저장 및 관리하며, 상기 원본 파일 또는 상기 스냅샷 파일에 대한 입출력을 관리하는 다수의 데이터 서버;
를 포함하는 분산 파일 시스템.A metadata server for managing metadata information of files, and managing metadata information for snapshot files at a file level; And
A storage unit for storing and managing data of the file in units of chunks and storing and managing the delta chunks of the snapshot files with respect to a chunk of the original files and managing input and output of the original files or the snapshot files; A data server;
/ RTI >
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140007799A KR102169867B1 (en) | 2014-01-22 | 2014-01-22 | Distributed file system for providing the file-based snapshot and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140007799A KR102169867B1 (en) | 2014-01-22 | 2014-01-22 | Distributed file system for providing the file-based snapshot and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150087622A true KR20150087622A (en) | 2015-07-30 |
KR102169867B1 KR102169867B1 (en) | 2020-10-26 |
Family
ID=53876800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140007799A KR102169867B1 (en) | 2014-01-22 | 2014-01-22 | Distributed file system for providing the file-based snapshot and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102169867B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170103627A (en) * | 2015-01-03 | 2017-09-13 | 맥아피 인코퍼레이티드 | Secure distributed backup for personal device and cloud data |
CN107480242A (en) * | 2017-08-10 | 2017-12-15 | 郑州云海信息技术有限公司 | A kind of method and system of establishment file system snapshot tree |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100541530B1 (en) * | 2003-12-08 | 2006-01-12 | 한국전자통신연구원 | Method of processing snapshot introducing snapshot status table based on memory for shared storage supporting large capacity |
KR20080050980A (en) * | 2006-12-04 | 2008-06-10 | 한국전자통신연구원 | Method for providing snapshot of fileset of object based file system |
KR20090065131A (en) * | 2007-12-17 | 2009-06-22 | 한국전자통신연구원 | Distributed file system and method for guaranteeing consistency of metadata |
KR20120110871A (en) * | 2011-03-30 | 2012-10-10 | 주식회사 케이티 | Method for determining and searching storage server in distributed file system |
KR101246996B1 (en) * | 2005-08-30 | 2013-03-25 | 마이크로소프트 코포레이션 | Electronic data snapshot generator |
KR20130045159A (en) * | 2011-10-24 | 2013-05-03 | 한국전자통신연구원 | Apparatus and method for client's participating in data storage of distributed file system |
US8601473B1 (en) * | 2011-08-10 | 2013-12-03 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment |
-
2014
- 2014-01-22 KR KR1020140007799A patent/KR102169867B1/en active IP Right Grant
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100541530B1 (en) * | 2003-12-08 | 2006-01-12 | 한국전자통신연구원 | Method of processing snapshot introducing snapshot status table based on memory for shared storage supporting large capacity |
KR101246996B1 (en) * | 2005-08-30 | 2013-03-25 | 마이크로소프트 코포레이션 | Electronic data snapshot generator |
KR20080050980A (en) * | 2006-12-04 | 2008-06-10 | 한국전자통신연구원 | Method for providing snapshot of fileset of object based file system |
KR100912126B1 (en) * | 2006-12-04 | 2009-08-13 | 한국전자통신연구원 | Method for providing snapshot of fileset of object based file system |
KR20090065131A (en) * | 2007-12-17 | 2009-06-22 | 한국전자통신연구원 | Distributed file system and method for guaranteeing consistency of metadata |
KR20120110871A (en) * | 2011-03-30 | 2012-10-10 | 주식회사 케이티 | Method for determining and searching storage server in distributed file system |
US8601473B1 (en) * | 2011-08-10 | 2013-12-03 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment |
KR20130045159A (en) * | 2011-10-24 | 2013-05-03 | 한국전자통신연구원 | Apparatus and method for client's participating in data storage of distributed file system |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170103627A (en) * | 2015-01-03 | 2017-09-13 | 맥아피 인코퍼레이티드 | Secure distributed backup for personal device and cloud data |
CN107480242A (en) * | 2017-08-10 | 2017-12-15 | 郑州云海信息技术有限公司 | A kind of method and system of establishment file system snapshot tree |
Also Published As
Publication number | Publication date |
---|---|
KR102169867B1 (en) | 2020-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10289497B2 (en) | Distributed file system | |
US9946716B2 (en) | Distributed file system snapshot | |
US11522808B2 (en) | Shared storage model for high availability within cloud environments | |
US11042448B2 (en) | Archiving NAS servers to the cloud | |
US11099938B2 (en) | System and method for creating linked clones of storage objects with surface snapshots | |
US9946603B1 (en) | Mountable container for incremental file backups | |
JP5661188B2 (en) | File system and data processing method | |
US9996429B1 (en) | Mountable container backups for files | |
US20150317216A1 (en) | System and method for full virtual machine backup using storage system functionality | |
US10740005B1 (en) | Distributed file system deployment on a data storage system | |
US20090089340A1 (en) | Backup catalog recovery from replicated data | |
US10042711B1 (en) | Distributed data protection techniques with cloning | |
US11334545B2 (en) | System and method for managing space in storage object structures | |
US10078555B1 (en) | Synthetic full backups for incremental file backups | |
CN101084481A (en) | A method to perform parallel data migration in a clustered storage environment | |
US11397749B2 (en) | Asynchronous replication of in-scope table data | |
US20170075771A1 (en) | Backup and restoration of file system | |
US10877849B2 (en) | System and method for managing different types of snapshots of storage objects | |
CN108351821A (en) | Data reconstruction method and storage device | |
US20190332500A1 (en) | Method and system for global snapshots of distributed storage | |
CN113722275A (en) | Object storage space management method, device, server and storage medium | |
KR102169867B1 (en) | Distributed file system for providing the file-based snapshot and method thereof | |
US10067949B1 (en) | Acquired namespace metadata service for controlling access to distributed file system | |
US20160098413A1 (en) | Apparatus and method for performing snapshots of block-level storage devices | |
JP2019124983A (en) | Storage system and storage control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |