KR20160004486A - A transaction-based method to manage the file system metadata to guarantee the reliability of the file systems - Google Patents

A transaction-based method to manage the file system metadata to guarantee the reliability of the file systems Download PDF

Info

Publication number
KR20160004486A
KR20160004486A KR1020140082667A KR20140082667A KR20160004486A KR 20160004486 A KR20160004486 A KR 20160004486A KR 1020140082667 A KR1020140082667 A KR 1020140082667A KR 20140082667 A KR20140082667 A KR 20140082667A KR 20160004486 A KR20160004486 A KR 20160004486A
Authority
KR
South Korea
Prior art keywords
metadata
file system
transaction
recording
changed
Prior art date
Application number
KR1020140082667A
Other languages
Korean (ko)
Inventor
김성관
Original Assignee
지인정보기술 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 지인정보기술 주식회사 filed Critical 지인정보기술 주식회사
Priority to KR1020140082667A priority Critical patent/KR20160004486A/en
Publication of KR20160004486A publication Critical patent/KR20160004486A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to a method for guaranteeing the reliability of a file system by protecting metadata, which is the data for managing a file system, with a transaction processing method. The method according to the present invention comprises the following steps of: (a) preserving and recording metadata of a file system to be changed before modification; (b) modifying the metadata and recording the modified metadata; (c) recording that the metadata has been successfully modified; and (d) gathering and recording a plurality of transactions all at once instead of individually recording the transactions in a disk to minimize the transaction processing overhead such as steps (a) to (c).

Description

파일시스템의 신뢰성을 보장하기 위한 트랜잭션 기반의 파일시스템 메타데이터 관리 방법{A transaction-based method to manage the file system metadata to guarantee the reliability of the file systems}Technical Field [0001] The present invention relates to a transaction-based file system metadata management method and a transaction-based file system metadata management method,

본 발명은 파일시스템 메타데이터 변경 동작을 트랜잭션 방식으로 처리하여 파일시스템의 메타데이터 일관성을 보호하기 위한 방법에 관한 것이다. The present invention relates to a method for protecting the metadata consistency of a file system by processing a file system metadata change operation in a transaction manner.

트랜잭션 처리란 일련의 작업을 하나의 그룹으로 묶어 전체를 완전히 처리하거나 또는 완전한 처리가 불가능할 경우 전혀 처리하지 않은 그 이전 상태로 돌아가는 처리 방식을 의미한다. 트랜잭션 처리를 다른 말로 원자적(atomic) 처리라 하는데 그 이름 그대로 더 이상 쪼개질 수 없다는 의미이다. 따라서 트랜잭션의 한 단위 그룹으로 묶인 작업들은 쪼개져서 처리되지 않고 전체가 다 처리되거나 또는 전혀 처리되지 않은 상태로 되돌아간다. Transaction processing refers to the way in which a series of operations is grouped into a group to completely process the entire operation, or to return to a previous state that was not processed at all when complete processing was impossible. In other words, transaction processing is called atomic processing, meaning that it can no longer be broken down by its name. Therefore, jobs bound to a unit group of a transaction are split and not processed, and the entire process is processed or returned to a state that is not processed at all.

종래 트랜잭션 처리에 대한 소프트웨어 기술은 데이터베이스 처리 기술, 파일시스템 신뢰성 보장 기술 측면에서 활발히 연구되어 왔으며 많은 상용 소프트웨어 시스템에 실제로 구현되어 사용되고 있다. 단, 대부분의 경우 트랜잭션 메커니즘이 데이타베이스 엔진이나 파일시스템에 직접 구현되었다. 데이터베이스나 파일시스템의 현재 상태를 나타내는 관리 데이터의 집합인 메타데이터를 한 단위의 트랜잭션 처리가 종료될 때 원자적으로 변경하는 것이 그 구현의 핵심이다. 이를 위해, 변경되는 메타 데이터의 복사본을 두고 트랜잭션 처리를 진행하다가 트랜잭션이 종료되는 시점에 해당 복사본을 일괄적으로 원본에 반영하는 방법, 또는 메타 데이터가 변경된 기록을 로그(log) 형태로 기록해 두었다가 트랜잭션이 정상적으로 종료되지 못하고 중간에 중단되었을 때 해당 로그를 기반으로 트랜잭션 직전 상태로 복귀하도록 하는 저널링(journaling) 방법이 대표적으로 사용되고 있다.Conventionally, software technology for transaction processing has been actively studied in terms of database processing technology and file system reliability assurance technology, and has been actually implemented and used in many commercial software systems. In most cases, however, transaction mechanisms are implemented directly in the database engine or file system. It is at the heart of the implementation to change the metadata, which is a collection of management data that represents the current state of a database or file system, atomically when transaction processing of a unit ends. In order to do this, it is necessary to keep a copy of the metadata to be changed and to process the transaction, and at the end of the transaction, the corresponding copy is collectively reflected in the original, or a method of recording the changed metadata in a log form, A journaling method for returning to a state immediately before the transaction based on the log when the transaction is interrupted in the middle can not be normally terminated.

파일시스템의 경우 저널링 방법이 광범위 하게 사용되고 있는데, 메타데이터가 어떻게 변경되는지 그 내용을 압축하여 저장함으로써 저널링으로 인한 오버헤드를 최소화하는 것이 그 구현의 핵심이다. 따라서 저널링 방법은 파일시스템마다 다르며 복잡하기 때문에 기존에 저널링을 지원하지 않는 파일시스템에 새롭게 저널링 기능을 구현해 넣는 것은 매우 어려운 작업이다.
In the case of file systems, the journaling method is widely used. It is the core of the implementation to minimize the overhead due to journaling by compressing and storing the contents of the metadata. Therefore, since the journaling method is different and complicated depending on the file system, it is very difficult to newly implement the journaling function in a file system that does not support journaling.

본 발명의 목적은, 파일시스템의 관리 데이터인 메타데이터를 트랜잭션 처리 방식으로 보호하여 파일시스템 메타데이터의 일관성을 보장하기 위한 것이다. 본 발명에서는 이루고자 하는 트랜잭션 처리 방식은 변경되는 메타데이터를 로그 형태로 미리 기록해두는 저널링 방식과 유사하나 그 처리 과정이 매우 단순하다는 점에서 차별화된다.
An object of the present invention is to protect the metadata, which is management data of a file system, by a transaction processing method to ensure consistency of file system metadata. In the present invention, the transaction processing method is similar to the journaling method in which the changed metadata is recorded in a log form in advance, but the processing is different in that the processing is very simple.

상기 목적을 달성하기 위한 본 발명은, 파일시스템의 관리용 데이터인 메타데이터(metadata)를 트랜잭션(transaction) 처리 방식으로 보호하여 파일시스템의 신뢰성을 보장하기 위한 방법에 관한 것으로서, (a) 변경되는 파일시스템의 메타데이터를 변경 전에 보존 기록해 두는 단계; (b) 메타데이터를 변경 기록하는 단계; (c) 메타데이터가 성공적으로 변경 완료되었음을 기록하는 단계; (d) 단계 (a) ~ (c)와 같은 트랜잭션 처리 오버헤드를 최소화하기 위하여 복수 개의 트랜잭션을 개별적으로 디스크에 기록하지 않고 한꺼번에 모아 기록하는 단계; 를 포함한다.According to an aspect of the present invention, there is provided a method for securing reliability of a file system by protecting metadata, which is management data for a file system, by a transaction processing method, Storing metadata of the file system before change; (b) changing and recording the metadata; (c) recording that the metadata has been successfully changed; (d) collecting and recording a plurality of transactions at once without separately recording a plurality of transactions on a disk in order to minimize the transaction processing overhead as in steps (a) to (c); .

상기와 같은 본 발명에 따르면, 파일시스템의 메타데이터를 보호하기 위한 방법으로서 저널링 기반의 트랜잭션 처리 방법을 구현함에 있어 구현의 복잡도를 크게 낮출 수 있다. 그 과정에서 저널링으로 인한 추가적인 파일시스템 오버헤드도 기존 대비 줄일 수 있다는 장점이 있다.According to the present invention, the complexity of the implementation can be greatly reduced in implementing the journaling-based transaction processing method as a method for protecting the meta data of the file system. In the process, the additional file system overhead due to journaling can be reduced compared to the existing one.

도 1 은 본 발명에 따른 파일시스템을 구현하기 위한 시스템 하드웨어 구성도.
도 2 는 본 발명에 따른 파일시스템이 메타데이터 변경 동작을 트랜잭션 방식으로 처리하는 절차에 대한 처리 흐름도.
도 3 은 본 발명에 따른 파일시스템이 트랜잭션 처리 오버헤드를 줄이기 위하여 복수 개의 트랜잭션을 하나의 슈퍼 트랜잭션으로 묶어 처리하는 절차에 대한 처리 흐름도.
도 4 는 본 발명에 따른 파일시스템이 중단된 트랜잭션으로 인해 손상된 파일시스템 메타데이터를 복구하는 절차에 대한 처리 흐름도.
1 is a system hardware configuration diagram for implementing a file system according to the present invention;
FIG. 2 is a processing flow chart for a procedure in which a file system according to the present invention processes a metadata change operation in a transaction manner. FIG.
FIG. 3 is a flowchart illustrating a procedure for processing a plurality of transactions into one super transaction in order to reduce the transaction processing overhead of the file system according to the present invention.
4 is a flow chart of a process for recovering damaged file system metadata due to an aborted file system according to the present invention;

본 발명에 따른, 파일시스템 메타데이터를 트랜잭션 방식으로 보호하기 위한 시스템 하드웨어 구성도가 도 1 에 도시되어 있다.A system hardware configuration diagram for protecting the file system metadata in a transaction manner according to the present invention is shown in FIG.

도 1 에 도시된 바와 파일시스템이 저장되는 디스크(10)와 트랜잭션 처리를 위한 임시 저장 공간으로서 메모리, 즉 RAM(16)이 필요하다. 디스크 상에는 일반적인 파일시스템 형태로서 Super Block Area(11), Metadata Area(12), Log Area(13), File Data Area(15)가 존재한다. Log Area는 변경되는 메타데이터 원본을 백업해 두기 위한 공간이다. 메타데이터가 변경되기 전에 Log Area 내 Metadata Backup(14) 공간에 원본을 저장해 둠으로써, 메타데이터 변경 과정에서 어떤 오류가 발생했을 때 되돌아갈 원본 메타데이터를 확보해 둘 수 있다.1, there is a need for a disk 10 on which a file system is stored and a memory, i.e., RAM 16, as a temporary storage space for transaction processing. There are Super Block Area (11), Metadata Area (12), Log Area (13) and File Data Area (15) on the disk as a general file system type. The Log Area is a space for backing up the metadata source that is being changed. By storing the original in the Metadata Backup (14) space in the Log Area before the metadata is changed, the original metadata to be returned when an error occurs in the metadata change process can be obtained.

RAM 상에는 Log Buffer(17)라고 하는 임시 저장 공간이 존재하는데 이는 변경되는 메타데이터 원본 및 변경된 메타데이터 모두를 임시 저장하기 위한 목적으로 사용된다. 메타데이터 원본 및 변경된 메타데이터를 디스크 상으로 바로 저장하지 않고 이렇게 임시 저장 공간에 먼저 저장해 두는 이유는, 이러한 트랜잭션 처리에 따른 오버헤드를 줄이기 위함이다. 이 내용에 대해서는 도 3 을 설명하면서 자세히 설명한다.On the RAM, there is a temporary storage space called Log Buffer (17), which is used for temporarily storing both the changed metadata source and the changed metadata. The reason for storing the metadata source and the changed metadata in the temporary storage space without storing the metadata directly on the disk is to reduce the overhead associated with such transaction processing. This content will be described in detail with reference to FIG.

도 2 는 본 발명에 따른 파일시스템이 메타데이터 변경 동작을 트랜잭션 방식으로 처리하는 절차에 대한 처리 흐름도이다. 파일 생성, 파일 삭제, 파일 쓰기 등과 같은 파일시스템 처리 요청이 호출되면 파일시스템의 메타데이터가 변경될 수 있다. 이때 파일시스템은 변경될 메타데이터를 RAM 상에 존재하는 Log Buffer에 백업한다(100). 이 과정에서 본 발명에 따른 파일시스템은 기존의 저널링 파일시스템 과는 달리 변경되는 메타데이터를 압축된 형태로 저장하지 않고 변경되는 섹터(일반적으로 512 바이트)들을 통째로 백업 저장한다. 실제로 변경되는 부분이 몇 바이트에 불과할지라도 그렇게 변경되는 부분을 포함하는 섹터를 통째로 백업한다. 그렇기 때문에 저널링 과정이 매우 단순화될 수 있다. 반면 저널링을 위해 추가적으로 저장해야 하는 데이터량이 크게 늘어날 수 있는데 이러한 오버헤드는 도 3 에서 설명하는 슈퍼 트랜잭션 처리 방식을 사용하여 상쇄시킨다.FIG. 2 is a process flow chart for a procedure in which a file system according to the present invention processes a metadata change operation in a transaction manner. When file system processing requests such as file creation, file deletion, file writing, etc. are called, the metadata of the file system may be changed. At this time, the file system backs up the metadata to be changed to the log buffer existing in the RAM (100). In this process, unlike the existing journaling file system, the file system according to the present invention backs up the changed sectors (generally, 512 bytes) without storing the changed metadata in a compressed form. Even if only a few bytes are actually changed, the entire sector including the portion to be changed is backed up as a whole. This can greatly simplify the journaling process. On the other hand, the amount of data to be additionally stored for journaling may be greatly increased. This overhead is offset by using the super transaction processing method described in FIG.

메타데이터 원본을 Log Buffer에 백업한 다음, 실제 메타데이터 변경 작업을 수행하며 그렇게 변경된 메타데이터 역시 Log Buffer에 임시 저장해 둔다(102). 일련의 메타데이터 변경 작업이 끝나면 LOG_COMMIT 동작을 수행한다(102). LOG_COMMIT 동작을 수행하게 되면 첫째, Log Buffer에 임시 저장된 메타데이터 원본을 디스크 상의 Log Area에 저장하고 둘째, Log Area에 LOG_COMMIT 표식(mark)을 저장하게 된다. LOG_COMMIT 표식은 나중에 메타데이터를 복구해야 할 때 중요한 역할을 한다. 디스크 상에서 LOG_COMMIT 표식이 발견되면 적어도 메타데이터 원본은 성공적으로 백업되었다는 것을 의미한다.After the metadata source is backed up to the log buffer, the actual metadata change operation is performed, and the changed metadata is also temporarily stored in the log buffer (102). When a series of metadata changes are completed, the LOG_COMMIT operation is performed (102). When the LOG_COMMIT operation is performed, first, the metadata source temporarily stored in the log buffer is stored in the log area on the disk, and second, the LOG_COMMIT mark is stored in the log area. The LOG_COMMIT tag plays an important role when you need to recover metadata later. If the LOG_COMMIT tag is found on disk, it means that at least the metadata source has been successfully backed up.

LOG_COMMIT 수행이 완료된 다음에는 Log Buffer에 임시 저장되어 있는 변경된 메타데이터들을 디스크 상에 저장한다(103). 디스크 상으로 변경된 메타데이타를 저장하는 동작이 완료되면 LOG_CLEAR 동작을 수행한다(104). LOG_CLEAR 동작은 첫째, 디스크 Log Area에 LOG_CLEAR 표식을 저장하며 둘째, RAM 상의 Log Buffer를 초기화하여 다음 트랜잭션을 처리할 준비를 한다. LOG_CLEAR 표식도 LOG_COMMIT 표식과 함께 메타데이터 복구 시 중요한 역할을 한다. LOG_CLEAR는 하나의 트랜잭션 처리가 정상적으로 완전히 종료되었음을 의미하는 표식이다.After the LOG_COMMIT operation is completed, the changed metadata temporarily stored in the log buffer is stored on the disk (103). When the operation of storing the changed metadata on the disk is completed, the LOG_CLEAR operation is performed (104). The LOG_CLEAR operation first stores the LOG_CLEAR mark in the disk log area, and second, it prepares to process the next transaction by initializing the log buffer on the RAM. The LOG_CLEAR markers also play an important role in metadata recovery along with the LOG_COMMIT markers. LOG_CLEAR is a flag indicating that one transaction has been completely terminated normally.

도 2 에서 보았듯이 본 발명에 따른 트랜잭션 처리는 변경되는 메타데이터를 섹터 단위로 통째로 백업하기 때문에 그 과정에서 발생하는 추가적인 오버헤드가 상당할 수 있다. 이를 해소하기 위해 본 발명에서는 슈퍼 트랜잭션(super transaction)이라는 처리 방식을 고안하였으며 그 처리 흐름도가 도 3 에 도시되어 있다.As shown in FIG. 2, since the transaction processing according to the present invention backs up the changed metadata entirely in units of sectors, the additional overhead generated in the process can be substantial. In order to solve this problem, a processing method called a super transaction is devised in the present invention, and a processing flowchart thereof is shown in FIG.

슈퍼 트랜잭션은 복수 개의 트랜잭션을 묶어 하나의 큰 트랜잭션으로 처리하는 단위를 말한다. 즉 슈퍼 트랜잭션 역시 단일 트랜잭션과 마찬가지로, 전부 처리하거나 또는 처리 중간에 중단된 경우에는 전혀 처리하지 않은 상태로 복귀하는 원자적 처리 특성을 보장한다. A super transaction refers to a unit that groups a plurality of transactions into one large transaction. That is, a super transaction, like a single transaction, guarantees atomic processing characteristics that either go through all processing, or return to a state that has never been processed if interrupted during processing.

도 3 에 의하면 슈퍼 트랜잭션을 구성하는 각각의 트랜잭션에 대하여 변경되는 메타데이터 원본을 백업하고 메타데이터를 변경하는 작업을 반복한다(200, 201, 202). 이 과정에서 메타데이터 원본 백업에 따른 오버헤드가 상당 부분 해소될 수 있다. 일반적으로 파일시스템 변경은 인접성(locality)을 갖는 경우가 많다. 즉, 어떤 메타데이터 섹터가 한번 변경되었을 때 또 다시 변경될 가능성이 매우 높다. 예를 들면, 트랜잭션 A에 의해 메타데이터 섹터 100, 200, 300 이 변경되었다면 이어지는 트랜잭션 B에 의해서 메타데이터 섹터 200, 300 이 다시 변경되는 경우다. 이 경우 슈퍼 트랜잭션 처리 방식을 사용하면 백업해야 하는 원본 섹터 개수는 3개가 된다. 즉, 트랜잭션 A에 의해서 변경되는 섹터들만 백업이 필요하며 트랜잭션 B에 의해서 변경되는 섹터들에 대해서는 이미 백업되었기 때문에 추가의 백업이 필요하지 않은 것이다. 이 슈퍼 트랜잭션을 개별 트랜잭션 단위로 처리했다면 모두 5개의 섹터 백업이 필요한데 반해, 슈퍼 트랜잭션 단위로 처리하면 3개의 섹터만 백업하면 되므로 백업 오버헤드를 줄일 수 있다.Referring to FIG. 3, the process of backing up the metadata source to be changed and changing the metadata for each transaction constituting the super transaction is repeated (200, 201, 202). In this process, the overhead of backing up the metadata source can be largely eliminated. In general, file system changes often have locality. That is, there is a high possibility that a certain metadata sector is changed once again when it is changed. For example, if the metadata sectors 100, 200, and 300 are changed by the transaction A, the metadata sectors 200 and 300 are changed again by the subsequent transaction B. In this case, using the super transaction processing method, the number of original sectors to be backed up is three. That is, only sectors that are changed by transaction A need to be backed up, and sectors that are changed by transaction B have already been backed up, so no additional backup is required. If you have processed this super transaction in the unit of individual transaction, you need to backup 5 sectors at all, but if you process it in the unit of super transaction, you need to backup only 3 sectors, so you can reduce the backup overhead.

실제로 파일시스템의 참조 인접성이 매우 높기 때문에 슈퍼 트랜잭션 처리 과정에서 유발되는 백업 오버헤드는 거의 무시할 수 있는 수준이다.In fact, because the file system is highly referential, the backup overhead caused by the super transaction processing is almost negligible.

도 3 의 나머지 처리 과정(203, 204, 205)은 도 2 에서 도시한 단일 트랜잭션 처리 과정의 해당 부분과 동일하다.The remaining processing steps 203, 204, and 205 of FIG. 3 are the same as corresponding portions of the single transaction processing shown in FIG.

도 4 는 파일시스템 메타데이터 일관성(consistency)에 문제가 발생하여 복구 동작을 수행해야 하는 경우에 대한 처리 흐름도이다. 일반적으로 시스템을 다시 부팅하여 파일시스템 마운트(mount) 동작이 이루어질 때 이러한 복구 동작이 진행된다. 복구 동작의 첫 단계는 디스크 상 Log Area에 마지막으로 저장된 표식을 확인하는 것이다(300). 만약 그 표식이 LOG_COMMIT 이라면 파일시스템의 이전 동작 과정에서 메타데이터 백업까지는 성공적으로 완료하였다는 것을 의미한다. 도 3 에 의하면 LOG_COMMIT 수행 후, 실제 변경된 메타데이터를 디스크에 저장하는 동작을 수행하므로 일부 변경된 메타데이터가 디스크에 저장되었을 가능성이 있다. 따라서 이 경우에는 Log Area에 백업된 원본 메타데이터를 디스크 상 원래의 위치에 다시 저장함으로써 메타데이터를 해당 슈퍼 트랜잭션 직전 상태로 복구하게 된다. 그 뒤 Log Area를 초기화하여 다음 번 마운트 과정에서 동일한 복구 동작이 불필요하게 반복되지 않도록 한다. FIG. 4 is a flowchart of a case where a problem occurs in the file system metadata consistency and a recovery operation must be performed. This is usually done when the system is rebooted and the file system mount operation is performed. The first step in the recovery operation is to check the last stored marker on the disk Log Area (300). If the mark is LOG_COMMIT, it means that the file system has been successfully completed up to the metadata backup in the previous operation. According to FIG. 3, after performing LOG_COMMIT, the actual changed metadata is stored on the disk, so it is possible that some changed metadata is stored on the disk. Therefore, in this case, the original metadata backed up in the log area is restored to the original location on the disk, thereby restoring the metadata to the state immediately before the corresponding super transaction. After that, the log area is initialized so that the same recovery operation is not unnecessarily repeated in the next mounting process.

Log Area 내에서 발견된, 마지막으로 저장된 표식이 LOG_CLEAR 라면 이는 해당 슈퍼 트랜잭션이 성공적으로 완료되었음을 의미하는 것이기 때문에 메타데이터 복구 동작을 수행할 필요가 없다. If the last stored marker found in the Log Area is LOG_CLEAR, then it does not need to perform the metadata recovery operation because it means that the corresponding super transaction has completed successfully.

앞서 언급하였듯이 하나의 슈퍼 트랜잭션에 대한 처리는 LOG_CLEAR 표식을 디스크 상 Log Area 저장함으로써 완료된다. 그러면 새로운 슈퍼 트랜잭션이 시작되어 도 3 과 같은 흐름도에 따라 처리를 반복하게 된다.As mentioned above, the processing for one super transaction is completed by storing the LOG_CLEAR mark on the disk in the log area. Then, a new super transaction is started and the processing is repeated according to the flowchart shown in FIG.

이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It will be understood that various changes and modifications may be made without departing from the spirit and scope of the invention. It is to be understood that the present invention may be embodied in many other specific forms without departing from the spirit or essential characteristics thereof.

본 발명은 파일시스템의 관리 방법으로서 널리 사용될 수 있다.
The present invention can be widely used as a method of managing a file system.

Claims (3)

파일시스템의 관리용 데이터인 메타데이터(metadata)를 트랜잭션(transaction) 처리 방식으로 보호하여 파일시스템의 신뢰성을 보장하기 위한 방법에 관한 것으로서,
(a) 변경되는 파일시스템의 메타데이터를 변경 전에 보존 기록해 두는 단계;
(b) 상기 메타데이터를 변경 기록하는 단계;
(c) 상기 메타데이터가 성공적으로 변경 완료되었음을 기록하는 단계;
(d) 단계 (a) ~ (c)와 같은 트랜잭션 처리 오버헤드를 최소화하기 위하여 복수 개의 트랜잭션을 개별적으로 디스크에 기록하지 않고 한꺼번에 모아 슈퍼 트랜잭션 단위로 기록하는 단계;
를 포함하는 파일시스템 메타데이터 관리 방법.
The present invention relates to a method for securing reliability of a file system by protecting metadata, which is management data for a file system, by a transaction processing method,
(a) saving and recording metadata of the file system to be changed before the change;
(b) changing and recording the metadata;
(c) recording that the metadata has been successfully changed;
(d) collecting a plurality of transactions in units of super transactions at a time without separately recording a plurality of transactions on a disk in order to minimize the transaction processing overhead as in steps (a) to (c);
The file system metadata management method comprising:
제 1 항에 있어서, 상기 (a) 단계에서 변경되는 메타데이터를 압축하여 저장하지 않고 원본 메타데이터를 섹터 단위로 통째로 백업하여 트랜잭션 처리 과정을 단순화시키는 것을 특징으로 하는 파일시스템 메타데이터 관리 방법.The method according to claim 1, wherein the transaction processing is simplified by backing up the original metadata in units of sectors without compressing and storing the metadata changed in the step (a). 제 1 항에 있어서, 상기 (d) 단계에서 여러 개의 트랜잭션을 하나의 슈퍼 트랜잭션으로 묶어 처리함으로써, 파일시스템 참조 인접성(locality) 효과를 이용하여 중복되는 메타데이터 섹터들을 한번만 백업하게 하는 최적화를 통해, 메타데이터 백업 오버헤드를 최소화시키는 것을 특징으로 하는 파일시스템 메타데이터 관리 방법.

The method as claimed in claim 1, wherein, in step (d), a plurality of transactions are grouped into one super transaction to optimize backup of overlapping metadata sectors using a file system reference locality effect, Wherein the meta data backup overhead is minimized.

KR1020140082667A 2014-07-02 2014-07-02 A transaction-based method to manage the file system metadata to guarantee the reliability of the file systems KR20160004486A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140082667A KR20160004486A (en) 2014-07-02 2014-07-02 A transaction-based method to manage the file system metadata to guarantee the reliability of the file systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140082667A KR20160004486A (en) 2014-07-02 2014-07-02 A transaction-based method to manage the file system metadata to guarantee the reliability of the file systems

Publications (1)

Publication Number Publication Date
KR20160004486A true KR20160004486A (en) 2016-01-13

Family

ID=55172430

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140082667A KR20160004486A (en) 2014-07-02 2014-07-02 A transaction-based method to manage the file system metadata to guarantee the reliability of the file systems

Country Status (1)

Country Link
KR (1) KR20160004486A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11301331B2 (en) 2018-09-20 2022-04-12 Samsung Electronics Co., Ltd. Storage device and operating method of storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11301331B2 (en) 2018-09-20 2022-04-12 Samsung Electronics Co., Ltd. Storage device and operating method of storage device

Similar Documents

Publication Publication Date Title
US10956364B2 (en) Efficient data synchronization for storage containers
EP3646195B1 (en) Systems and methods of restoring a dataset of a database for a point in time
US9710475B1 (en) Synchronization of data
US8037032B2 (en) Managing backups using virtual machines
US10599337B2 (en) Method and device for writing data and acquiring data in a distributed storage system
US6665815B1 (en) Physical incremental backup using snapshots
US10628378B2 (en) Replication of snapshots and clones
US8560787B2 (en) Incremental backup of source to target storage volume
US20070208918A1 (en) Method and apparatus for providing virtual machine backup
US8117410B2 (en) Tracking block-level changes using snapshots
US8627026B2 (en) Storage apparatus and additional data writing method
KR101556435B1 (en) Database backing-up and recovering method and device
US11409616B2 (en) Recovery of in-memory databases after a system crash
US20050097266A1 (en) Chaining of blocks for optimal performance with DASD (Direct Access Storage Devices) free nonvolatile updates
US9251151B1 (en) System and method for merging continuous volume snapshots
US20080222215A1 (en) Method for Deleting Virus Program and Method to Get Back the Data Destroyed by the Virus
US10977143B2 (en) Mirrored write ahead logs for data storage system
US8433688B2 (en) Method and apparatus for performing a near-instantaneous restore of a database
CN109558213A (en) The method and apparatus for managing the virtual machine snapshot of OpenStack platform
US11099946B1 (en) Differential restore using block-based backups
US9798793B1 (en) Method for recovering an index on a deduplicated storage system
KR20160004486A (en) A transaction-based method to manage the file system metadata to guarantee the reliability of the file systems
KR101237746B1 (en) Data backup apparatus and method for the same
US10423494B2 (en) Trimming unused blocks from a versioned image backup of a source storage that is stored in a sparse storage
CN105573862B (en) Method and equipment for recovering file system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application