KR100505178B1 - Method and apparatus for selective address translation according to the state of a shared logical volume - Google Patents

Method and apparatus for selective address translation according to the state of a shared logical volume Download PDF

Info

Publication number
KR100505178B1
KR100505178B1 KR10-2003-0066322A KR20030066322A KR100505178B1 KR 100505178 B1 KR100505178 B1 KR 100505178B1 KR 20030066322 A KR20030066322 A KR 20030066322A KR 100505178 B1 KR100505178 B1 KR 100505178B1
Authority
KR
South Korea
Prior art keywords
address translation
logical volume
volume
translation table
metadata
Prior art date
Application number
KR10-2003-0066322A
Other languages
Korean (ko)
Other versions
KR20050030016A (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 KR10-2003-0066322A priority Critical patent/KR100505178B1/en
Publication of KR20050030016A publication Critical patent/KR20050030016A/en
Application granted granted Critical
Publication of KR100505178B1 publication Critical patent/KR100505178B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

공유 논리 볼륨 상태에 따른 주소 변환 방법 및 주소 변환 시스템이 개시된다. 본 발명의 논리 볼륨 주소 변환 방법은 논리 볼륨 관리자에 의해 초기에 설정된 논리 볼륨 상태로 존재하는 단계와, 정상 상태에서 논리 볼륨 재구성 명령 또는 해당 논리 볼륨에 대한 스냅샷 볼륨을 생성하는 명령이 제공되는 단계와, 논리 볼륨 재구성 명령에 의해 볼륨의 종류나 볼륨의 크기를 변경시키는 재구성 작업 상태로 천이하는 단계와, 스냅샷 볼륨을 생성하는 명령에 의해 스냅샷 볼륨을 유지하는 스냅샷 상태로 천이하는 단계와, 그리고 재구성 작업이 완료되거나 스냅샷 볼륨이 제거되면 정상 상태로 천이하는 단계를 포함한다. 본 발명에 의하면, 수식 기반 주소 변환 기법과 테이블 기반 주소 변환 기법이 가지는 장점들을 모두 활용할 수 있다. 그리고 테이블 기반 주소 변환 과정에서는 논리 볼륨의 메타 데이터를 클러스터 내의 노드들이 분산하여 관리하기 때문에 효율성이 높은 주소 변환이 가능하다.An address translation method and an address translation system according to a shared logical volume state are disclosed. In the logical volume address translation method of the present invention, a step of presenting a logical volume state initially set by a logical volume manager and a step of providing a logical volume reconstruction command or a command to create a snapshot volume for the logical volume in a normal state are provided. Transitioning to a reconstruction operation state for changing the type or volume of the volume by a logical volume reconstruction command; transitioning to a snapshot state for holding the snapshot volume by a command for creating a snapshot volume; And transitioning to a normal state when the rebuilding operation is completed or the snapshot volume is removed. According to the present invention, all the advantages of the equation-based address translation scheme and the table-based address translation scheme can be utilized. In the table-based address translation process, the logical volume's metadata is distributed and managed by the nodes in the cluster to enable highly efficient address translation.

Description

공유 논리 볼륨 상태에 따른 주소 변환 방법 및 주소 변환 시스템{Method and apparatus for selective address translation according to the state of a shared logical volume}Method and apparatus for selective address translation according to the state of a shared logical volume}

본 발명은 운영 체계 및 디바이스 드라이버에 의한 컴퓨터 디스크 입출력 동작과 논리 볼륨 동작에 관한 것으로, 특히 온라인 논리 볼륨 재구성 작업과 스냅 샷을 효율적으로 지원할 수 있는 논리 볼륨의 논리 주소와 실제 물리 주소 간의 변환 작업에 관한 것이다.The present invention relates to computer disk input and output operations and logical volume operations by the operating system and device drivers, and more particularly, to the conversion between the logical address and the physical physical address of the logical volume that can efficiently support online logical volume reconstruction and snapshots It is about.

도 1은 논리 볼륨 관리자가 있는 컴퓨터 시스템 구조를 설명하는 도면이다. 이를 참조하면, 커널(110)은 하드웨어(120)와 인터페이스하고 있으며, 커널(110)의 장치 드라이버(116)를 통해 하드웨어(120)에 속하는 컴퓨터 디스크들(122, 124)을 제어한다. 논리 볼륨 관리자(114)는 물리적인 컴퓨터 디스크들(122, 124) 중 하나 이상을 통합한 가상 블록 장치를 파일 시스템(112)에게 제공하거나 볼록 장치 사용자에게 제공한다.1 is a diagram for explaining a computer system structure having a logical volume manager. Referring to this, the kernel 110 interfaces with the hardware 120 and controls the computer disks 122 and 124 belonging to the hardware 120 through the device driver 116 of the kernel 110. The logical volume manager 114 provides a file system 112 or a convex device user with a virtual block device incorporating one or more of the physical computer disks 122 and 124.

일반적으로, 논리 볼륨 관리자(114)는 다음과 같은 기능을 제공한다. 첫째, 다수개의 컴퓨터 디스크들(122, 124)을 통합하여 단일 디스크가 제공할 수 있는 저장 데이터 크기보다 큰 크기의 가상 볼록 장치를 제공한다. 둘째, 다수개의 컴퓨터 디스크들(122, 124)를 통합하여 데이터 입출력이 동시에 이루어지도록 하는 성능상 우월한 가상 블록 장치를 제공한다. 마지막으로, 다수개의 컴퓨터 디스크들(122, 124)를 통합하여 컴퓨터 디스크의 고장 발생시에도 중단 없이 동작할 수 있는 가상 블록 장치를 제공한다.In general, the logical volume manager 114 provides the following functions. First, a plurality of computer disks 122 and 124 are integrated to provide a virtual convex device with a size larger than the storage data size that a single disk can provide. Second, the present invention provides a virtual block device that is superior in performance by integrating a plurality of computer disks 122 and 124 to simultaneously perform data input and output. Finally, a plurality of computer disks (122, 124) are integrated to provide a virtual block device that can operate without interruption even in the event of a computer disk failure.

데이터가 컴퓨터 디스크(122, 124) 상에 위치되는 형태와 데이터의 관리 방식에 따라 가상 블록 장치의 종류가 결정되고, 이를 논리 볼륨 형식이라고 칭한다. 논리 볼륨 형식에는 컨케터네이션(concatenation), RAID-0, RAID-1, RAID-5, RAID-0+1 등이 존재한다. 논리 볼륨과 관련하여 여러가지 기술들이 있는 데, 논리 볼륨에 대해 데이터를 입출력하는 온라인 상태 중에 크기를 변경할 수 있는 기능과 특정 시각의 볼륨 상태를 저장할 수 있는 볼륨 스냅샷 기능, 그리고 데이터 미러링과 관련해서는 디스크 고장시 디스크 제거 및 교체, 일시적인 디스크 고장으로부터의 복구, 시스템 고장으로 인한 복사본 불일치 복구 등의 기능이 있다.The type of the virtual block device is determined according to the form in which the data is located on the computer disks 122 and 124 and the management manner of the data, which is called a logical volume format. Logical volume types include concatenation, RAID-0, RAID-1, RAID-5, and RAID-0 + 1. There are several technologies related to logical volumes, including the ability to change the size during online states of data input and output to the logical volume, the volume snapshot feature to store the volume state at a specific point in time, and the disk to data mirroring. Functions include disk removal and replacement in the event of a failure, recovery from temporary disk failures, and recovery of copy mismatches due to system failures.

도 2는 분산 환경의 논리 볼륨 관리자의 구조를 설명하는 도면이다. 이를 참조하면, 클라이언트들(212, 214, 216)과 논리 볼륨 관리자들(232, 234)은 네트워크(220)를 통해 연결되어 있다. 논리 볼륨 관리자들(232, 234)은 다수개의 서버들이 협동하는 방식일 수도 있고 단일 서버일 수도 있다. 클라이언트들(212, 214, 216)은 논리 볼륨 관리자 서버들(232, 234)을 통해 논리 볼륨을 인식하게 되고 해당 논리 볼륨에 대한 데이터 입출력을 수행한다. 클라이언트(212, 214, 216)에서 사용하는 파일 시스템이 공유 볼륨을 지원하는 파일 시스템이 아니라 단일 컴퓨터에서 동작하는 경우 각 클라이언트는 각각에 할당된 논리 볼륨을 사용하는 형식을 취하고 이 때의 파일 시스템은 ufs, ntfs 등이 사용된다.2 is a diagram for explaining the structure of a logical volume manager in a distributed environment. Referring to this, the clients 212, 214, 216 and the logical volume managers 232, 234 are connected through the network 220. Logical volume managers 232 and 234 may be in a manner in which multiple servers cooperate or may be a single server. The clients 212, 214, and 216 recognize the logical volume through the logical volume manager servers 232 and 234 and perform data input / output for the logical volume. If the file system used by clients 212, 214, and 216 operates on a single computer rather than a file system that supports shared volumes, each client takes the form of using logical volumes assigned to it, at which point the file system ufs, ntfs and the like are used.

도 3은 SAN(Storage Area Network) 기반의 클러스터 환경에서 동작하는 논리 볼륨 관리자의 구조를 설명하는 도면이다. 이를 참조하면, SAN(330)은 LAN과 유사한 고속의 네트워크로서 저장 장치들을 효율적으로 관리하며 저장 장치들과 서버들 간에 직접 연결을 맺도록 해준다. SAN(330)의 대표적인 구현 기술로는 파이버 채널(fiber channel)이 있다. 클러스터의 노드들은 논리 볼륨 관리자들(322, 324)을 포함하고 네트워크(310)를 통해 상호간의 통신을 한다. 컴퓨터 디스크들(342, 344)에 저장된 데이터는 SAN(330)을 통하여 입출력 작업을 수행한다. 논리 볼륨 관리자들(322, 324)은 동일한 논리 볼륨을 사용할 수 있는데, 이는 논리 볼륨을 공유함을 의미한다.3 is a diagram illustrating a structure of a logical volume manager operating in a storage area network (SAN) based cluster environment. Referring to this, the SAN 330 is a high-speed network similar to a LAN that efficiently manages storage devices and establishes a direct connection between storage devices and servers. A representative implementation technology of the SAN 330 is a fiber channel. The nodes of the cluster include logical volume managers 322 and 324 and communicate with each other via network 310. Data stored in the computer disks 342 and 344 perform input / output operations through the SAN 330. Logical volume managers 322 and 324 can use the same logical volume, meaning that they share a logical volume.

앞서 설명한 도 1, 도 2 그리고 도 3에서, 각기 다른 컴퓨터 시스템 구조에서 논리 볼륨 관리자가 조금씩 다른 형태임을 알 수 있다. 각 컴퓨터 시스템 구조에 해당하는 논리 볼륨 관리자는 이미 존재하며 모두 앞서 기술한 기능들을 제공하고 있지만, 내부 구현 방식과 알고리즘은 상이하다.1, 2 and 3 described above, it can be seen that the logical volume managers are slightly different in different computer system structures. Logical volume managers for each computer system architecture already exist and all provide the features described above, but the internal implementations and algorithms differ.

논리 볼륨의 논리 주소와 실제 물리적인 디스크의 위치를 나타내는 물리 주소간의 변환 작업은 다음의 두 가지 방식이 있다. 하나는 논리 볼륨을 구성하는 단위들의 실제 물리 위치 정보를 이용하여 물리 주소로 변환하는 방식으로 '수식 기반 주소 변환 방식"이라 칭한다. 다른 하나는 논리 주소를 물리 주소로 변환하기 위한 정보를 디스크에 저장해두고 이를 이용하여 물리 주소로 변환하는 방식으로 "테이블 기반 주소 변환 방식"이라 칭한다.There are two ways to convert between the logical address of a logical volume and the physical address that represents the location of the actual physical disk. One is a method of converting a physical address using physical location information of units constituting a logical volume into a physical address, and the other is called an equation-based address translation method. This method is called "table-based address translation" as a method of converting to a physical address using the same.

도 4는 수식 기반 주소 변환 방식의 예를 보여주는 데, 논리 볼륨(410)이 2개의 컴퓨터 디스크들(422, 424)에 순차적으로 연결되어 있는 구성을 보여준다. 논리 볼륨(410)이 이와 같이 구성되어 있다는 정보는 논리 볼륨 관리자가 관리하는 데이터 구조에 맞춰 컴퓨터 디스크의 일정 부분에 기록되며 논리 볼륨 관리자의 동작 중에는 항상 컴퓨터 메모리 상에 존재한다. 도 4에서는 논리 볼륨(410)의 논리 주소 198번지가 제2 컴퓨터 디스크(424)의 물리 주소 98에 대응하는 과정을 보여준다. 이는 단지 논리 볼륨(410)의 구성 정보만을 이용하여 변환이 가능한 작업이다.4 shows an example of an equation-based address translation method, in which a logical volume 410 is sequentially connected to two computer disks 422 and 424. The information that the logical volume 410 is configured in this manner is recorded in a portion of the computer disk in accordance with the data structure managed by the logical volume manager, and is always present on the computer memory during the operation of the logical volume manager. In FIG. 4, the logical address 198 of the logical volume 410 corresponds to the physical address 98 of the second computer disk 424. This is a task that can be converted using only the configuration information of the logical volume 410.

도 5는 테이블 기반 주소 변환 방식의 예를 보여주는 도면이다. 테이블 기반 주소 변환 방식은 수식 기반 주소 변환 방식에다가 테이블 정보(520)를 읽어서 주소 변환 과정의 입력 변수로 활용하는 단계가 추가된다. 테이블(520)에 기록되는 정보는 각 논리 주소마다 대응하는 물리 주소가 될 수도 있고 다수의 논리 주소에 대응하는 물리 주소의 범위가 될 수도 있다. 도 5에서는 논리 볼륨(510)의 논리 주소마다 대응하는 물리 주소가 테이블(520)에 기록되어 있는 정보를 보여준다. 논리 볼륨(510)의 논리 주소 198 번지는 테이블(520)의 199번째 항목에 기록되어 있는 정보를 참조하여 물리 주소로 변환한다. 테이블(520)에는 컴퓨터 디스크와 컴퓨터 디스크 상의 위치를 나타낸 물리 주소(1, 98)가 기록되어 있어 이를 이용하여 제2 컴퓨터 디스크(534)의 98번째 주소를 변환한다.5 is a diagram illustrating an example of a table-based address translation method. The table-based address translation method is added to the equation-based address translation method, and to read the table information 520 and use it as an input variable in the address conversion process. The information recorded in the table 520 may be a physical address corresponding to each logical address or a range of physical addresses corresponding to a plurality of logical addresses. FIG. 5 shows information in which a physical address corresponding to each logical address of the logical volume 510 is recorded in the table 520. The logical address 198 of the logical volume 510 is converted into a physical address by referring to the information recorded in the 199th item of the table 520. The table 520 records the computer disks and the physical addresses (1, 98) representing the positions on the computer disks, and uses them to convert the 98th addresses of the second computer disks 534.

수식 기반 주소 변환 방식과 테이블 기반 주소 변환 방식은 각각의 장단점을 가지고 있다. 수식 기반 주소 변환 방식은 메모리 상에 존재하는 논리 볼륨 구성 정보만을 이용하여 주소 변환이 가능하기 때문에 논리 볼륨 주소 변환 과정에 CPU 작업만이 추가될 뿐이다. 따라서, 추가적인 비용이 거의 들지 않는 장점이 있는 대신에, 논리 볼륨 구성 정보에 변경이 발생할 경우 대처하기 어렵다는 단점이 있다. 반면에, 테이블 기반 주소 변환 방식은 논리 볼륨 구성 정보가 변경될 경우에도 유연한 대처가 가능하지만 테이블을 저장할 수 있는 공간이 필요할 뿐아니라 주소 변환 과정에 추가되는 비용이 크다는 단점이 있다.Equation-based address translation and table-based address translation have their advantages and disadvantages. Since the equation-based address translation method can perform address translation using only logical volume configuration information existing in memory, only CPU work is added to the logical volume address translation process. Therefore, there is a merit that the additional cost is almost insignificant, but it is difficult to cope with a change in the logical volume configuration information. On the other hand, table-based address translation can be flexibly handled even if the logical volume configuration information is changed. However, the table-based address translation method requires not only space to store the table but also adds cost to the address translation process.

수식 기반 주소 변환 방식과 테이블 기반 주소 변환 방식의 차이점은 논리 볼륨의 온라인 재구성 작업과 스냅샷 볼륨 생성에서 더욱 확연히 드러난다. 논리 볼륨의 재구성 작업에는 논리 볼륨의 데이터를 이동시켜야 하는 경우와 그렇지 않은 경우로 나뉜다. 컨케터네이션 방식으로 구성된 논리 볼륨을 확장하고자 할 경우에는 데이터 이동이 불필요하다. 반면, 논리 볼륨이 RAID-0 방식으로 다수개의 디스크에 데이터가 분산되어 있는 경우 분산된 디스크의 갯수를 늘리고자 한다면 데이터의 이동이 필수적이다. 수식 기반 주소 변환 방식은 데이터 이동이 불필요한 논리 볼륨의 재구성 작업에 있어서는 적용될 수 있으나 데이터 이동이 필요한 논리 볼륨의 재구성 작업에는 단순하게 적용할 수 없다. 테이블 기반 주소 변환 방식은 두 가지 종류의 논리 볼륨의 재구성 작업에 모두 적용될 수 있다. The difference between equation-based and table-based address translation is more apparent in the online reorganization of logical volumes and the creation of snapshot volumes. The reconstruction of a logical volume is divided into a case in which data of a logical volume needs to be moved and a case where it is not. If you want to expand the logical volume configured by concatenation, no data movement is necessary. On the other hand, if the logical volume is distributed on a plurality of disks in a RAID-0 manner, moving data is essential if you want to increase the number of distributed disks. Equation-based address translation can be applied to reconstruction of logical volumes that do not require data movement, but cannot be simply applied to reconstruction of logical volumes that require data movement. Table-based address translation can be applied to the reorganization of both types of logical volumes.

스냅샷 기술은 데이터 복사를 최대한 줄이면서 특정 시각의 데이터를 보존하는 기술이다. 스냅샷은 파일 시스템, 논리 볼륨 관리자 수준에서 모두 구현될 수 있다. 논리 볼륨 관리자 수준에서는 논리 볼륨을 스냅샷하게 된다. 스냅샷 결과를 스냅샷 볼륨으로 관리할 경우에는 스냅샷 볼륨의 논리 주소가 어떤 물리 주소로 변환되는 지에 대한 정보를 관리하여야 한다.Snapshot technology preserves data at a specific point in time while minimizing data copy. Snapshots can be implemented at both the file system and logical volume manager levels. At the logical volume manager level, you will snapshot the logical volume. When managing the snapshot result as a snapshot volume, information on which physical address is converted to the logical address of the snapshot volume should be managed.

그러므로, 논리 볼륨의 온라인 재구성 작업과 스냅샷 볼륨을 지원하기 위하여 수식 기반 주소 변환 방식과 테이블 기반 주소 변환 방식으로 변환이 용이한 주소 변환 기법의 존재가 요구된다.Therefore, in order to support an online reconstruction operation of a logical volume and a snapshot volume, an address translation technique that can be easily converted into an equation-based address translation method and a table-based address translation method is required.

본 발명의 목적은 논리 볼륨의 상태에 따라 수식 기반 주소 변환 기법과 테이블 기반 주소 변환 기법을 선택적으로 사용하는 논리 볼륨 주소 변환 방법을 제공하는 데 있다.An object of the present invention is to provide a logical volume address translation method that selectively uses a formula-based address translation method and a table-based address translation method according to the state of the logical volume.

본 발명의 다른 목적은 상기 논리 볼륨 주소 변환 방법을 구현하는 논리 볼륨 주소 변환 장치를 제공하는 데 있다.Another object of the present invention is to provide a logical volume address translation apparatus that implements the logical volume address translation method.

상기 목적을 달성하기 위하여, 본 발명에 따른 논리 볼륨 주소 변환 기법은 논리 볼륨 관리자에 의해 초기에 설정된 논리 볼륨 상태로 존재하는 단계; 정상 상태에서 논리 볼륨 재구성 명령 또는 해당 논리 볼륨에 대한 스냅샷 볼륨을 생성하는 명령이 제공되는 단계; 논리 볼륨 재구성 명령에 의해 볼륨의 종류나 볼륨의 크기를 변경시키는 재구성 작업 상태로 천이하는 단계; 스냅샷 볼륨을 생성하는 명령에 의해 스냅샷 볼륨을 유지하는 스냅샷 상태로 천이하는 단계; 및 재구성 작업이 완료되거나 스냅샷 볼륨이 제거되면 정상 상태로 천이하는 단계를 포함한다.In order to achieve the above object, the logical volume address translation scheme according to the present invention comprises the steps of being in a logical volume state initially set by the logical volume manager; Providing a logical volume reconstruction command or a command to create a snapshot volume for the logical volume in a normal state; Transitioning to a reconstruction operation state for changing the type or volume of the volume by a logical volume reconstruction command; Transitioning to a snapshot state that maintains the snapshot volume by a command to create the snapshot volume; And transitioning to a normal state when the reconstruction operation is completed or the snapshot volume is removed.

본 발명의 논리 볼륨 주소 변환 기법을 수행하기 위하여, 논리 볼륨은 볼륨 구성 정보, 스냅샷 비트맵, 주소 변환 테이블, 그리고 할당 비트맵으로 구성되는 논리 볼륨 관리 정보를 저장하는 메타 데이터 영역과 사용자가 데이터를 저장하는 일반 데이터 영역으로 이루어지는 공간 조각(space chunk)을 최소 단위로 한다.In order to perform the logical volume address translation scheme of the present invention, a logical volume includes a metadata area for storing logical volume management information including volume configuration information, a snapshot bitmap, an address translation table, and an allocation bitmap, and a user data. Minimize the space chunk of the general data area that stores.

바람직하기로, 논리 볼륨의 재구성 작업은 재구성을 위한 프로세스가 새롭게 생성되면 초기에 설정된 주소 변환 테이블 아이디를 검사하는 단계; 주소 변환 테이블 아이디가 자신이 담당하는 메타 데이터가 아니고 주소 변환 테이블 아이디가 처음 시작값이 아니면, 주소 변환 테이블 아이디가 담당하는 메타 데이터 서버에게 알리는 단계; 주소 변환 테이블 아이디가 자신이 담당하는 메타 데이터일 경우, 현재 재구성 작업 중인 주소 변환 테이블 아이디 값을 유지하는 변수의 값을 갱신하는 단계; 클러스터의 다른 노드들이 해당 주소 변환 테이블을 캐쉬에 유지하고 있을 경우, 이를 무효화하는 요청을 하고 메타 데이터 서버에게 데이터를 요청하는 단계; 해당 주소 변환 테이블에 존재하는 논리 주소의 물리 주소를 변경하고 데이터를 이동하는 단계; 주소 변환 테이블 아이디 값을 증가시키는 단계; 및 이전의 단계들을 반복 수행하는 단계를 포함한다.Preferably, the reconstruction of the logical volume comprises: checking an address translation table ID initially set when a process for reconstruction is newly created; If the address translation table ID is not the metadata in charge thereof and the address translation table ID is not the first starting value, notifying the metadata server in charge of the address translation table ID; If the address translation table ID is metadata in charge thereof, updating a value of a variable holding the address translation table ID value currently being reconstructed; If other nodes in the cluster maintain the corresponding address translation table in the cache, requesting invalidation and requesting data from the metadata server; Changing a physical address of a logical address existing in the corresponding address translation table and moving data; Increasing the address translation table ID value; And repeating the previous steps.

본 발명의 일면인 재구성 작업 상태 및 스냅샷 상태에서의 논리 볼륨의 데이터 입출력 작업은 블록 번호를 논리 볼륨 관리자가 관리하는 데이터 자료인 논리 익스텐트 번호로 변환하는 단계; 논리 익스텐트 번호를 물리 주소를 유지하고 있는 주소 변환 테이블 아이디로 변환하는 단계; 주소 변환 테이블 아이디가 해쉬 테이블에 존재하는지를 검색하는 단계; 주소 변환 테이블 아이디가 해쉬 테이블에 존재할 경우, 메타 데이터를 이용하여 주소를 변환하는 단계; 주소 변환 테이블 아이디가 해쉬 테이블에 존재하지 않는 경우, 주소 변환 테이블을 관리하는 메타 데이터 서버를 결정하는 단계; 결정된 메타 데이터 서버에게 메타 데이터를 요청하는 단계; 메타 데이터 서버로부터 온 응답을 분석하여 주소 변환 테이블이 상기 재구성 작업 중이라면 메타 데이터를 재요청을 하는 단계; 주소 변환 테이블이 재구성 작업 중이 아니라면 메타 데이터를 해쉬 테이블에 추가하여 주소 변환 테이블을 이용하여 주소를 변환하는 단계를 포함한다.In one aspect of the present invention, a data input / output operation of a logical volume in a reconstruction operation state and a snapshot state may include converting a block number into a logical extent number that is data data managed by a logical volume manager; Converting the logical extent number into an address translation table ID holding a physical address; Retrieving whether an address translation table ID exists in the hash table; If the address translation table ID exists in the hash table, converting the address using metadata; If the address translation table ID does not exist in the hash table, determining a metadata server managing the address translation table; Requesting metadata from the determined metadata server; Analyzing the response from the metadata server and re-requesting metadata if the address translation table is being reconstructed; If the address translation table is not being reorganized, adding the metadata to the hash table and converting the address using the address translation table.

본 발명의 다른 일면인 논리 볼륨의 메타 데이터 서버 동작은 주소 변환 테이블에 대한 요청이 들어오면 주소 변환 테이블 아이디를 이용하여 현재 재구성 작업중인지를 확인하는 단계; 재구성 작업 중이라면, 클라이언트에게 재구성 작업중이라는 반환 코드를 전송하는 단계; 재구성 작업 중이 아니라면, 요청한 주소 변환 테이블이 메타 데이터 서버의 해쉬 테이블에 존재하는지 검색하는 단계; 요청한 주소 변환 테이블이 메타 데이터 서버의 해쉬 테이블에 존재하지 않으면 디스크로부터 읽어들여 해쉬 테이블에 추가하는 단계; 메타 데이터를 가져간 클라이언트 정보를 유지하기 위해 클라이언트 정보와 요청한 주소 변환 테이블 아이디를 관리 목록에 추가하는 단계; 및 클라이언트에게 메타 데이터를 전송하는 단계를 포함한다.In another aspect of the present invention, a metadata server operation of a logical volume may include: checking whether a reconfiguration operation is currently performed using an address translation table ID when a request for an address translation table is received; If in the reconstruction operation, sending a return code indicating that the reconstruction operation is in progress to the client; If not, retrieving whether the requested address translation table exists in a hash table of the metadata server; If the requested address translation table does not exist in the hash table of the metadata server, reading from the disk and adding to the hash table; Adding the client information and the requested address translation table ID to the management list to maintain the client information from which the metadata is taken; And sending metadata to the client.

상기 다른 목적을 달성하기 위하여, 본 발명의 논리 볼륨 주소 변환 장치는 초기에 설정된 논리 볼륨의 정상 상태에서 논리 볼륨 재구성 명령에 따라 논리 볼륨을 볼륨의 종류나 볼륨의 크기를 변경시키는 재구성 작업 상태로 천이시키고, 스냅샷 볼륨을 생성하는 명령에 의해 정상 상태에서 스냅샷 볼륨을 유지하는 스냅샷 상태로 천이시키는 논리 볼륨 관리자; 및 다수개의 공간 조각들이 할당되는 논리 볼륨을 구비하고, 공간 조각(space chunk)은 논리 볼륨의 구성 정보, 변경분 스냅샷 관리를 위한 스냅샷 비트맵, 논리 주소에 대응하는 물리 주소 정보인 주소 변환 테이블, 그리고 사용되고 있는 데이터 영역 정보인 할당 비트맵으로 구성되는 논리 볼륨 관리 정보를 저장하는 메타 데이터 영역과 사용자가 데이터를 저장하는 일반 데이터 영역으로 이루어진다.In order to achieve the above object, the logical volume address translation apparatus of the present invention transitions a logical volume to a reconstruction operation state that changes the type or size of the volume according to a logical volume reconstruction command in a normal state of the initially set logical volume. A logical volume manager that transitions to a snapshot state that maintains the snapshot volume in a normal state by a command for creating a snapshot volume; And a logical volume to which a plurality of space fragments are allocated, and a space chunk is an address translation that is configuration information of a logical volume, a snapshot bitmap for managing incremental snapshots, and physical address information corresponding to a logical address. It consists of a table and a metadata area for storing logical volume management information consisting of allocation bitmaps that are data area information being used, and a general data area for storing data by the user.

따라서, 본 발명에 따른 논리 볼륨의 주소 변환 기법을 이용하면 정상 상태의 수식 기반 주소 변환 기법과 재구성 작업 및 스냅샷 상태일 때의 테이블 기반 주소 변환 기법이 가지는 장점들을 모두 활용할 수 있다. 그리고 테이블 기반 주소 변환 과정에서는 논리 볼륨의 메타 데이터를 클러스터 내의 노드들이 분산하여 관리하기 때문에 효율성이 높은 주소 변환이 가능하다.Therefore, by using the address translation technique of the logical volume according to the present invention, all the advantages of the steady-state equation-based address translation scheme and the table-based address translation scheme in the snapshot state can be utilized. In the table-based address translation process, the logical volume's metadata is distributed and managed by the nodes in the cluster to enable highly efficient address translation.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 예시적인 실시예를 설명하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.DETAILED DESCRIPTION In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings that describe exemplary embodiments of the present invention and the contents described in the accompanying drawings.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.

도 6은 본 발명에 따른 논리 볼륨 상태 천이를 정의하는 도면이다. 이를 참조하면, 논리 볼륨 관리자에 의해 처음 생성된 논리 볼륨이 정상 상태(610)로 존재한다. 정상 상태(610)에서 논리 볼륨 재구성 명령(602)이나 해당 논리 볼륨에 대한 스냅샷 볼륨을 생성하는 명령(604)이 실행되면 상태가 바뀌게 된다. 논리 볼륨 재구성 명령(602)은 볼륨의 종류나 볼륨의 크기를 변경시키는 명령으로서, 논리 볼륨이 RAID-0 형식일 경우에는 분산된 디스크의 갯수를 늘리거나 논리 볼륨의 크기를 변경시키는 명령이 될 수 있다. 논리 볼륨 재구성 명령(602)이 실행되면 정상 상태(610)에서 재구성 작업 상태(620)로 천이된다. 재구성 작업이 모두 완료되면 재구성 작업 상태(620)에서 정상 상태(610)로 상태가 천이된다(606). 해당 논리 볼륨에 대한 스냅샷 볼륨이 모두 제거되면 스냅샷 상태(630)에서 정상 상태(610)로 상태가 천이된다(608).6 is a diagram defining a logical volume state transition according to the present invention. Referring to this, the logical volume initially created by the logical volume manager is in a normal state 610. In the normal state 610, the state is changed when the logical volume reconstruction command 602 or the command 604 for creating a snapshot volume for the logical volume is executed. The logical volume reconstruction command 602 is a command for changing the type or size of a volume. When the logical volume is in RAID-0 format, the logical volume reconfiguration command 602 may be a command for increasing the number of distributed disks or changing the size of the logical volume. have. Execution of the logical volume reconstruction command 602 transitions from the normal state 610 to the reconstruction operation state 620. When all of the reconstruction work is completed, the state transitions from the reconstruction work state 620 to the normal state 610 (606). When all of the snapshot volumes for the logical volume are removed, the state transitions from the snapshot state 630 to the normal state 610 (608).

본 발명에서는 논리 볼륨을 구성하는 하위 단계가 하나이고, 이 하위 단계를 공간 조각(space chunk)이라고 칭한다. 도 7은 공간 조각이 컴퓨터 디스크 상에서 구성된 예를 보여준다. 공간 조각은 메타 데이터 영역(701, 702, 703, 704)과 일반 데이터 영역(705)으로 구성된다. 일반 데이터 영역(705)은 논리 볼륨을 이용하는 파일 시스템과 같은 사용자가 데이터를 저장하는 영역이며, 메타 데이터 영역(701, 702, 703, 704)은 논리 볼륨 관리자가 논리 볼륨 관리 정보를 저장해두는 영역이다. 메타 데이터 영역은 볼륨 구성 정보(701), 스냅샷 비트맵(702), 주소 변환 테이블(703), 그리고 할당 비트맵(704)으로 구성된다.In the present invention, there is one substep constituting a logical volume, and this substep is called a space chunk. 7 shows an example of a space fragment configured on a computer disk. The spatial fragment is composed of the metadata areas 701, 702, 703, 704 and the general data area 705. The general data area 705 is an area for storing data by a user such as a file system using a logical volume, and the metadata areas 701, 702, 703, and 704 are areas where a logical volume manager stores logical volume management information. . The meta data area consists of volume configuration information 701, snapshot bitmap 702, address translation table 703, and allocation bitmap 704.

볼륨 구성 정보(701)는 논리 볼륨이 어떤 공간 조각들로 구성되어 있는가 등을 저장하는데, 논리 볼륨을 이루고 있는 공간 조각들마다 자신만의 정보를 제외하고는 동일한 복사본을 유지한다. 이는 디스크 오류로 인하여 볼륨 구성 정보가 훼손되었을 경우를 대비하기 위한 것이다.The volume configuration information 701 stores which space fragments the logical volume is composed of, and the like. Each of the space fragments constituting the logical volume maintains the same copy except for its own information. This is in case the volume configuration information is damaged due to a disk error.

본 발명에서는 스냅샷을 위한 영역을 별도로 할당하여 관리한다. 즉, 스냅샷 관련 정보의 저장을 위해 원본 볼륨의 사용되지 않는 공간을 활용하지 않고 스냅샷 볼륨을 새로 생성한다. 스냅샷 비트맵(702)은 변경분 스냅샷(incremental snapshot)을 위한 메타 데이터로서, 가장 최근의 완전 스냅샷(full snalshot) 볼륨이 생성된 뒤에 발생한 변경 영역에 대한 정보를 유지한다.In the present invention, an area for a snapshot is allocated and managed separately. That is, a new snapshot volume is created without utilizing the unused space of the original volume for storing the snapshot related information. The snapshot bitmap 702 is metadata for incremental snapshots and maintains information about the change area that occurred after the most recent full snapshot volume was created.

주소 변환 테이블(703)은 논리 주소에 대응하는 물리 주소에 대한 정보를 유지하는 데, "익스텐트(extent)"라 칭하는 단위마다 정보가 기입되어 있다. 익스텐트는 논리 볼륨 관리자가 데이터 영역을 관리하는 최소 단위로서, 익스텐트 크기 만큼의 영역은 연속되어 있음을 보장한다. 특히 RAID-0 논리 볼륨 형식의 논리 볼륨의 경우 분산되는 데이터의 크기가 된다. 하나의 공간 조각 내의 주소 변환 테이블(703)이 표현하는 논리 주소 영역의 크기는 공간 조각 내의 데이터 영역(705)의 크기와 일치한다.The address translation table 703 holds information on a physical address corresponding to a logical address, and information is written for each unit called "extent". Extents are the smallest unit of data volume management by the logical volume manager, ensuring that extents are contiguous. In particular, in the case of a logical volume in the form of a RAID-0 logical volume, this is the size of data to be distributed. The size of the logical address area represented by the address translation table 703 in one space piece corresponds to the size of the data area 705 in the space piece.

할당 비트맵(704)은 데이터 영역(705)의 사용 여부를 표현하는데, 데이터 영역(705) 중에 사용되고 있는 영역을 비트맵으로 유지한다. 초기에는 비트맵이 모두 "0"으로 설정된다. 주소 변환 테이블(703)과 마찬가지로 할당 비트맵(704)이 표현하는 데이터 영역의 크기는 공간 조각 내의 데이터 영역(705)의 크기와 일치한다. 다만, 할당 비트맵(704)은 스냅샷 볼륨에서만 사용된다.The allocation bitmap 704 expresses whether or not the data area 705 is used. The allocation bitmap 704 maintains the area used in the data area 705 as a bitmap. Initially, all bitmaps are set to "0". As with the address translation table 703, the size of the data area represented by the allocation bitmap 704 matches the size of the data area 705 in the space fragment. However, allocation bitmap 704 is used only in the snapshot volume.

도 8은 공간 조각 내의 주소 변환 테이블과 할당 비트맵의 의미를 설명하는 도면이다. 이를 참조하면, 제1 공간 조각(820)과 제2 공간 조각(830)으로 구성된 논리 볼륨에서, 제1 공간 조각(820)의 주소 변환 테이블(822)은 논리 주소 영역(810)의 앞쪽 부분을 담당하게되고 제2 공간 조각(830)의 주소 변환 테이블(832)은 논리 주소 영역(810)의 뒤쪽 부분을 담당하게 된다. 제1 공간 조각(820)의 할당 비트맵(824)의 첫번째 비트는 제1 공간 조각(820)의 데이터 영역(826)의 첫번째 익스텐트 사용 여부를 표현한다. 이처럼, 주소 변환 테이블들(822, 832)은 자신이 속한 공간 조각의 데이터 영역(826, 836)과 직접적인 관련이 없는 반면, 할당 비트맵들(824, 834)은 자신이 속한 공간 조각의 데이터 영역(826, 836)과 관련된다.8 is a diagram for explaining the meaning of the address translation table and allocation bitmap in the space fragment. Referring to this, in a logical volume composed of the first space fragment 820 and the second space fragment 830, the address translation table 822 of the first space fragment 820 may be a front portion of the logical address area 810. The address translation table 832 of the second space fragment 830 is responsible for the rear portion of the logical address area 810. The first bit of the allocation bitmap 824 of the first space piece 820 represents whether the first extent of the data area 826 of the first space piece 820 is used. As such, the address translation tables 822, 832 are not directly related to the data area 826, 836 of the spatial piece to which it belongs, whereas the allocation bitmaps 824, 834 are the data area of the spatial piece to which it belongs. (826, 836).

논리 볼륨을 구성하는 공간 조각들은 1차원과 2차원으로 관리된다. 이것은 논리 볼륨의 재구성 작업을 고려한 것으로 논리 볼륨 형식에 따라 다르게 처리된다. 한편, 논리 볼륨 형식에 관계없이 다음과 같은 규칙은 공통적으로 적용된다. 첫째로, 논리 볼륨에 공간 조각이 추가된 순서는 논리 볼륨이 없어질 때까지 계속 유지된다. 두째로, 공간 조각이 추가된 순서에 따라 주소 변환 테이블이 논리 주소 영역에 대응한다. 세째로, 공간 조각이 추가된 순서에 따라 물리 익스텐트 번호가 매겨진다.The space pieces that make up a logical volume are managed in one and two dimensions. This takes into account the reconstruction of the logical volume, which is handled differently depending on the logical volume type. Regardless of the logical volume format, the following rules are commonly applied. First, the order in which space fragments are added to the logical volume continues until the logical volume is gone. Second, the address translation table corresponds to the logical address area in the order in which the space fragments are added. Third, the physical extents are numbered according to the order in which the space fragments are added.

도 9는 컨케터네이션 논리 볼륨에 대한 공간 조각 관리 방식을 나타내는 도면이다. 이를 참조하면, 1차원 공간 조각 배열(910)과 2차원 공간 조각 배열(920)은 배열상 차이가 없다. 1차원 공간 조각 배열(910)을 기준으로 주소 변환 테이블과 물리 익스텐트 번호가 매겨지고, 2차원 공간 조각 배열(920)을 기준으로 수식 기반 주소 변환이 이루어진다.9 is a diagram illustrating a space fragment management scheme for a concatenation logical volume. Referring to this, there is no difference in arrangement between the one-dimensional space fragment array 910 and the two-dimensional space fragment array 920. The address translation table and the physical extent number are assigned based on the one-dimensional space fragment array 910, and the equation-based address translation is performed based on the two-dimensional space fragment array 920.

도 10은 RAID-0 논리 볼륨에 대한 공간 조각 관리 방식을 나타내는 도면이다. 이를 참조하면, 도 9의 컨케터네이션 논리 볼륨과 달리 1차원 공간 조각 배열(1010)과 2차원 공간 조각 배열(1020)이 다른 형태로 배열된다. 1차원 공간 조각 배열(1010)은 주소 변환 테이블과 물리 익스텐트 번호가 매겨지는 기준이다. 2차원 공간 조각 배열(1020)은 1차원 공간 조각 배열(1010)을 기준으로 재배열된다. 이 때 재배열되는 기준은 같은 컴퓨터 디스크에 속한 공간 조각들은 같은 열에 배치되도록 한다는 점이다. 이 2차원 공간 조각 배열을 기준으로 수식 기반 주소 변환이 이루어진다. 각 공간 조각은 1차원 배열 내의 위치와 2차원 배열 내의 위치에 대한 정보를 모두 가지고 있다.10 is a diagram illustrating a space fragment management method for a RAID-0 logical volume. Referring to this, unlike the concatenation logic volume of FIG. 9, the one-dimensional space fragment array 1010 and the two-dimensional space fragment array 1020 are arranged in different shapes. The one-dimensional space fragment array 1010 is a reference to which an address translation table and physical extent numbers are numbered. The two-dimensional space fragment arrangement 1020 is rearranged based on the one-dimensional space fragment arrangement 1010. The reordering criterion is that the pieces of space belonging to the same computer disk are placed in the same row. Equation-based address translation is performed based on this two-dimensional space fragment array. Each piece of space has information about both its position in the one-dimensional array and its position in the two-dimensional array.

본 발명에서는 메타 데이터를 분할하여 관리한다. 앞서 기술한 도 3의 시스템 구조를 대상으로 하면 다수개의 노드들이 존재한다. 이 노드들 중에서 하나의 노드만이 논리 볼륨의 메타 데이터를 관리하게 되면, 한 노드로 부하가 집중되어 성능이 떨어지는 단점을 가지게 된다. 따라서, 각 논리 볼륨마다 모든 노드에 메타 데이터 서버가 초기화되어 자신의 메타 데이터 영역을 담당하게 된다. 블록 장치는 사용자에 의해 열림(open) 동작이 선행하여 수행된 뒤에 읽기/쓰기 동작이 수행되며, 필요한 동작을 모두 마쳤을 경우에는 닫힘(close) 동작이 뒤따라 온다. 이에 따라 열림 동작이 일어날 경우에 해당 논리 볼륨에 대한 메타 데이터 서버가 각 노드마다 실행되며 닫힘 동작이 일어날 경우에 메타 데이터 서버가 종료된다.In the present invention, metadata is divided and managed. Referring to the system structure of FIG. 3 described above, a plurality of nodes exist. If only one node manages the metadata of the logical volume, the load is concentrated to one node, which results in a decrease in performance. Therefore, the metadata server is initialized in every node for each logical volume to be in charge of its own metadata area. In the block device, a read / write operation is performed after an open operation is performed by a user in advance, and when a required operation is completed, a block operation is followed by a close operation. Accordingly, when the open operation occurs, the metadata server for the logical volume is executed for each node, and when the close operation occurs, the metadata server is terminated.

논리 볼륨의 메타 데이터 최소 관리 단위는 운영체계의 한 요소인 버퍼의 최소 크기이다. 할당 비트맵이 2차원 공간 조각 배열을 기준으로 메타 데이터 서버에게 분할되고, 이를 기준으로 주소 변환 테이블이 메타 데이터 서버들에게 분할된다. 예를 들어 버퍼의 최소 크기가 512 바이트일 경우에 할당 비트맵의 최소 관리 단위가 512 바이트가 된다. 이는 512×8개의 익스텐트를 나타내고 512×8개의 익스텐트를 표현할 수 있는 주소 변환 테이블의 크기가 메타 데이터 서버에게 할당되는 단위가 된다.The minimum metadata management unit for a logical volume is the minimum size of a buffer, which is an element of the operating system. The allocation bitmap is partitioned to the metadata server based on the two-dimensional space fragment array, and the address translation table is partitioned to the metadata servers based on this. For example, if the minimum size of the buffer is 512 bytes, the minimum management unit of the allocation bitmap is 512 bytes. This is a unit in which the size of the address translation table representing 512 × 8 extents and representing 512 × 8 extents is allocated to the metadata server.

컨케터네이션 논리 볼륨의 메타 데이터 분할 관리 방식은 다음과 같다. 다시 도 9를 참조하여, 2차원 공간 조각 배열(920)의 순서에 따라 할당 비트맵을 할당 비트맵 최소 단위를 단위로 하여 라운드-로빈(round-robin) 방식으로 메타 데이터 서버에게 할당하고, 1차원 공간 조각 배열(910)에 따라 주소 변환 테이블을 할당한다. 이 때 할당 비트맵 크기가 나타내는 주소 영역에 대응하는 주소 변환 테이블 크기를 단위로 하여 할당한다.The method of managing metadata partitioning of a concatenation logical volume is as follows. Referring to FIG. 9 again, the allocation bitmap is allocated to the metadata server in a round-robin manner in units of the minimum bitmap allocation unit according to the order of the two-dimensional space fragment array 920, 1 The address translation table is allocated according to the dimension space fragment array 910. In this case, the size of the address translation table corresponding to the address area indicated by the allocation bitmap size is allocated in units.

RAID-0 논리 볼륨의 메타 데이터 분할 관리 방식은 다음과 같다. 도 10을 참조하여, 2차원 공간 조각 배열(1020)의 순서에 따라 할당 비트맵을 (할당 비트맵 최소 단위)*c를 단위로하여 라운드-로빈(round-robin) 방식으로 메타 데이터 서버에게 할당한다. 즉, 동일한 행의 각기 다른 열에 존재하는 할당 비트맵을 묶어서 하나의 메타 데이터 서버에게 할당한다. 1차원 공간 조각 배열(1010)의 순서에 따라 주소 변환 테이블을 할당한다. 이 때, (할당 비트맵 최소 단위)*c가 나타내는 주소 영역에 대응하는 주소 변환 테이블 크기를 단위로 하여 할당한다.Meta data partition management of RAID-0 logical volume is as follows. Referring to FIG. 10, the allocation bitmap is allocated to the metadata server in a round-robin manner in units of (assigned bitmap minimum unit) * c according to the order of the two-dimensional space fragment array 1020. do. In other words, the allocation bitmaps in different columns of the same row are bundled and assigned to one metadata server. The address translation table is allocated in the order of the one-dimensional space fragment array 1010. At this time, the allocation is performed in units of the size of the address translation table corresponding to the address area indicated by (minimum bitmap allocation unit) * c.

RAID-1 논리 볼륨의 메타 데이터 분할 관리 방식은 다음과 같다. 도 10을 참조하여, 2차원 공간 조각 배열(1020)의 순서에 따라 할당 비트맵을 (할당 비트맵 최소 단위)*c를 단위로 하여 라운드-로빈 방식으로 메타 데이터 서버에게 할당한다. 즉, 동일한 행의 각기 다른 열에 존재하는 할당 비트맵을 묶어서 하나의 메타 데이터 서버에게 할당한다. RAID-1이므로 할당 비트맵들은 서로 동일한 데이터를 가진다. 1차원 공간 조각 배열(1010)의 순서에 따라 주소 변환 테이블을 할당한다. 이 때, (할당 비트맵 최소 단위)*c가 나타내는 주소 영역에 대응하는 주소 변환 테이블 크기를 단위로 하여 할당한다. RAID-1이므로 주소 변환 테이블들은 서로 동일한 데이터를 가진다.Meta data partition management of RAID-1 logical volume is as follows. Referring to FIG. 10, the allocation bitmap is allocated to the metadata server in a round-robin manner in units of (assigned bitmap minimum unit) * c according to the order of the two-dimensional space fragment array 1020. In other words, the allocation bitmaps in different columns of the same row are bundled and assigned to one metadata server. Since RAID-1, the allocation bitmaps have the same data. The address translation table is allocated in the order of the one-dimensional space fragment array 1010. At this time, the allocation is performed in units of the size of the address translation table corresponding to the address area indicated by (minimum bitmap allocation unit) * c. Since it is RAID-1, the address translation tables have the same data.

논리 볼륨의 재구성 작업은 논리 볼륨의 속성을 변경시키는 작업이며 논리 볼륨의 형식, 논리 볼륨의 크기, 논리 볼륨을 구성하는 내부 데이터의 크기 등을 변경하는 작업이 될 수 있다. 본 발명에서는 논리 볼륨의 재구성 작업을 논리 볼륨의 크기와 RAID 수준을 변경하는 작업으로 구체화된다.The reconstruction of the logical volume is a task of changing the attributes of the logical volume, and may be a task of changing the format of the logical volume, the size of the logical volume, and the size of internal data constituting the logical volume. In the present invention, the reconstruction of the logical volume is embodied as the operation of changing the size and RAID level of the logical volume.

본 발명에서는 논리 볼륨의 종류와 논리 볼륨의 상태에 따라서 주소 변환 방식을 변경한다. 다시 도 6을 참조하면, 일반 논리 볼륨의 경우 정상 상태(610)에서 재구성 명령이나 스냅샷 명령이 수행되면 각각 재구성 작업 상태(620)와 스냅샷 상태(630)로 천이된다. 정상 상태(610)에서는 수식 기반 주소 변환 방식이 적용된다. 정상 상태(610)에서 재구성 작업 상태(620)로 천이될 때 주소 변환 방식은 수식 기반 주소 변환 방식에서 테이블 기반 주소 변환 방식으로 변경된다. 이와 반대로, 재구성 작업 상태(620)에서 정상 상태(610)로 상태가 천이되면 주소 변환 방식은 테이블 기반 주소 변환 방식에서 수식 기반 주소 변환 방식으로 다시 복귀한다.In the present invention, the address translation method is changed according to the type of logical volume and the state of the logical volume. Referring back to FIG. 6, in the case of the normal logical volume, when the reconfiguration command or the snapshot command is performed in the normal state 610, the state transitions to the reconstruction operation state 620 and the snapshot state 630, respectively. In the steady state 610, a formula-based address translation scheme is applied. When the transition from the normal state 610 to the reconfiguration operation state 620, the address translation scheme is changed from the formula-based address translation scheme to the table-based address translation scheme. On the contrary, when the state transitions from the reconfiguration operation state 620 to the normal state 610, the address translation method returns from the table-based address translation method to the equation-based address translation method.

한편, 일반 볼륨이 스냅샷 상태(630)가 되면 수식 기반 주소 변환 방식에서 카파-온-라이트(copy-on-write) 요청을 하는 작업이 선행된다. 반면, 스냅샷 볼륨은 정상 상태(610)만을 가지며 항상 테이블 기반 주소 변환 방식이 적용된다.On the other hand, when the normal volume is in the snapshot state 630, a job of making a copy-on-write request is preceded by an equation-based address translation method. On the other hand, the snapshot volume has a normal state 610 only and always uses table-based address translation.

데이터 이동이 필요한 논리 볼륨의 재구성 작업의 경우에는 도 11에 도시된 순서에 따라 재구성 작업이 수행된다. 도 11을 참조하면, 재구성을 위한 프로세스가 새롭게 생성되면 초기에 설정된 주소 변환 테이블 아이디를 검사하여 자신이 담당하는 메타 데이터인지를 결정한다(1101), 만약 자신이 담당하는 메타 데이터가 아니고 주소 변환 테이블 아이디가 처음 시작값이 아니라면, 담당하는 메타 데이터 서버에게 알린다(1107). 자신이 담당하는 메타 데이터일 경우에는 현재 재구성 작업 중인 주소 변환 테이블 아이디 값을 유지하는 변수의 값을 갱신한다(1102). 클러스터의 다른 노드들이 해당 주소 변환 테이블을 캐쉬에 유지하고 있을 경우에는 이를 무효화시키는 요청을 하고(1103), 메타 데이터 서버에게 데이터를 요청한다(1104). 이를 위해서 메타 데이터 서버는 자신이 관리하는 메타 데이터를 어떤 노드들이 요청하여 받았는지에 대한 정보를 유지하고 있다. 다음 단계로, 해당 주소 변환 테이블에 존재하는 논리 주소의 물리 주소를 변경하고 데이터를 이동한다(1105). 주소 변환 테이블 아이디 값을 증가시킨 후(1106), 이전의 작업들을 반복한다.In the case of a reconstruction operation of a logical volume requiring data movement, the reconstruction operation is performed in the order shown in FIG. Referring to FIG. 11, when a process for reconfiguration is newly generated, it is determined whether the metadata is in charge of itself by checking an initially set address translation table ID (1101). If the ID is not the first starting value, it informs the responsible metadata server (1107). If the metadata is in charge of the user, the value of the variable that maintains the address translation table ID value currently being reconstructed is updated (1102). If other nodes in the cluster maintain the corresponding address translation table in the cache, they request to invalidate it (1103) and request data from the metadata server (1104). To this end, the metadata server maintains information about which nodes request and receive metadata managed by the metadata server. In the next step, the physical address of the logical address existing in the address translation table is changed and data is moved (1105). After increasing the address translation table ID value (1106), the previous operations are repeated.

논리 볼륨의 재구성 작업 도중에 메타 데이타 클라이언트는 논리 볼륨의 형식에 대응하는 주소 변환 함수를 호출하게 되고, 각 주소 변환 함수는 내부에서 도 12에 도시된 순서로 주소 변환 작업을 수행한다. 도 12를 참조하면, 운영 체계 내부의 한 요소인 버퍼에서는 블록 번호를 통해서 블록 장치의 데이터 입출력을 수행하기 때문에 이를 논리 볼륨 관리자가 관리하는 데이터 자료인 논리 익스텐트 번호로 변환한다(1201). 이 논리 익스텐트 번호에 대한 물리 주소를 유지하고 있는 주소 변환 테이블 아이디로 변환한다(1202). 메타 데이터는 해쉬 테이블에 저장되므로 주소 변환 테이블 아이디를 이용하여 해쉬 테이블에 존재하는지를 검색한다(1203). 해쉬 테이블에 존재할 경우, 이를 이용하여 주소를 변환한다(1208). 해쉬 테이블에 존재하지 않는 경우에는 해당 주소 변환 테이블을 관리하는 메타 데이터 서버를 결정한다(1204). 결정된 메타 데이터 서버에게 메타 데이터를 요청한다(1205). 메타 데이터 서버로부터 온 응답을 분석하여(1206), 해당 주소 변환 테이블이 재구성 중이라면 메타 데이터를 재요청한다(1205). 그렇지 않다면 해쉬 테이블에 추가하고(1207), 주소 변환 테이블을 이용하여 주소를 변환한다(1208).During the reconstruction of the logical volume, the metadata client calls an address translation function corresponding to the format of the logical volume, and each address translation function internally performs the address translation in the order shown in FIG. 12. Referring to FIG. 12, since a buffer, which is an element of an operating system, performs data input / output of a block device through a block number, the buffer is converted into a logical extent number that is data data managed by a logical volume manager (1201). The address is converted into an address translation table ID holding the physical address of the logical extent number (1202). Since the metadata is stored in the hash table, it is searched whether the metadata exists in the hash table using the address translation table ID (1203). If it exists in the hash table, the address is converted using this (1208). If it does not exist in the hash table, it determines a metadata server managing the address translation table (1204). Request metadata from the determined metadata server (1205). The response from the metadata server is analyzed (1206), and if the corresponding address translation table is being reconstructed, the metadata is re-requested (1205). If not, it is added to the hash table (1207), and the address is converted using the address translation table (1208).

도 13은 메타 데이터 요청에 대한 메타 데이터 서버 동작을 설명하는 도면이다. 이를 참조하면, 주소 변환 테이블에 대한 요청이 들어오면 주소 변환 테이블 아이디를 이용하여 현재 재구성 작업중인지를 확인한다(1301). 만약 재구성 작업 중이라면 클라이언트에게는 재구성 작업중이라는 반환 코드를 전송한다(1306). 그렇지 않은 경우, 메타 데이터 서버의 해쉬 테이블을 검색한 뒤(1302), 존재하지 않으면 디스크로부터 읽어들인다(1303). 메타 데이터를 가져간 클라이언트 정보를 유지하기 위해 클라이언트 정보와 요청한 주소 변환 테이블 아이디를 관리 목록에 추가한 후(1304), 클라이언트에게 메타 데이터를 전송한다(1305).13 is a diagram illustrating a metadata server operation for a metadata request. Referring to this, when a request for the address translation table is received, it is checked whether a reconfiguration operation is being performed using the address translation table ID (1301). If the reconfiguration is in progress, the client sends a return code indicating that the reconfiguration is in progress (1306). Otherwise, the hash table of the metadata server is retrieved (1302), and if it does not exist, read from the disk (1303). In order to maintain the client information taken from the metadata, the client information and the requested address translation table ID are added to the management list (1304), and the metadata is transmitted to the client (1305).

논리 볼륨이 하나 이상의 스냅샷 볼륨을 유지하고 있는 상태에서는 앞에서 서술한 바와 같이 메타 데이터 서버에게 카피-온-라이트(copy-on-write) 요청을 한다. 메타 데이터 서버가 카피-온-라이트 요청을 받으면 해당 데이터 블록을 스냅샷의 데이터 영역으로 복사하고 스냅샷 볼륨의 주소 변환 테이블을 스냅샷 데이터 영역의 값으로 변경한다. 이 때 메타 데이터 서버는 스냅샷 볼륨의 메타 데이터 서버와 스냅샷 볼륨의 주소 변환 테이블을 공유하게 된다. 메타 데이터 서버는 자신에게 할당된 뮤텍스(Mutex)가 존재하는 데, 원본 볼륨의 메타 데이터 서버가 카피-온-라이트 작업을 할 경우에 스냅샷 볼륨 메타 데이터 서버의 뮤텍스를 얻어서 작업하도록 하여 잘못된 주소 변환이 발생하지 않도록 한다. 스냅샷 볼륨의 주소 변환 과정에서 클라이언트의 동작은 도 12와 동일하고, 메타 데이터 서버의 동작은 도 13과 동일하다.When a logical volume maintains one or more snapshot volumes, it makes a copy-on-write request to the metadata server as described above. When the metadata server receives a copy-on-write request, it copies the data block to the data area of the snapshot and changes the address translation table of the snapshot volume to the value in the snapshot data area. At this time, the metadata server shares the address translation table of the snapshot volume with the metadata server of the snapshot volume. The metadata server has a mutex assigned to it. When the metadata server of the original volume is copy-on-write, the metadata server acquires and works with the snapshot volume metadata server's mutex, which causes incorrect address translation. This should not happen. The operation of the client in the address translation process of the snapshot volume is the same as that of FIG. 12, and the operation of the metadata server is the same as that of FIG. 13.

주소 변환 방식의 변경에 따른 주소 변환의 혼선을 막기 위해서 수식 기반 주소 변환 방식에서 테이블 기반 주소 변환 방식으로 변경될 때에는 도 14와 같은 단계들을 거친다. 우선 논리 볼륨의 상태 비트 중 재구성 준비 비트를 설정한다(1401). 재구성 준비 비트가 설정되면 해당 논리 볼륨에 대한 데이터 입출력 요청은 모두 차단되고 설정된 재구성 준비 비트가 해제될 때까지 기다린다. 다음으로, 논-블록(non-block) 프로세스 아이디를 현재 프로세스 아이디로 설정한다(1402). 논-블록 프로세스 아이디에 설정된 프로세스는 재구성 준비 비트가 설정되어 있더라도 입출력 요청이 차단되지 않는다. 따라서, 해당 논리 볼륨의 버퍼를 모두 디스크에 기록하여(1403), 이후의 입출력 요청은 모두 테이블 기반 주소 변환 방식으로 이루어지도록 보장한다. 모든 노드에서 이와 같은 작업이 모두 수행되면 재구성 비트를 설정하고 재수정 작업을 하게 되어(1404), 주소 변환은 테이블 기반 주소 변환 방식으로 이루어진다.In order to prevent confusion in address translation due to the change of the address translation scheme, the steps as shown in FIG. 14 are performed when the equation-based address translation scheme is changed from the table-based address translation scheme. First, a reconfiguration ready bit among the status bits of the logical volume is set (1401). If the rebuild ready bit is set, all data I / O requests to the logical volume are blocked and wait until the set rebuild ready bit is released. Next, the non-block process ID is set as the current process ID (1402). The process set in the non-block process ID is not blocked even if the reconfiguration ready bit is set. Therefore, all buffers of the corresponding logical volume are written to the disk (1403), thereby ensuring that all subsequent I / O requests are made through table-based address translation. When all of these tasks are performed on all nodes, the reconfiguration bit is set and remodified (1404), and address translation is performed using table-based address translation.

따라서, 본 발명에 따른 주소 변환 기법을 이용하면 수식 기반 주소 변환 기법과 테이블 기반 주소 변환 기법이 가지는 장점들을 모두 활용할 수 있다. 그리고 테이블 기반 주소 변환 과정에서는 논리 볼륨의 메타 데이터를 클러스터 내의 노드들이 분산하여 관리하기 때문에 효율성이 높은 주소 변환이 가능하다.Therefore, by using the address translation scheme according to the present invention, all the advantages of the equation-based address translation scheme and the table-based address translation scheme can be utilized. In the table-based address translation process, the logical volume's metadata is distributed and managed by the nodes in the cluster to enable highly efficient address translation.

본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

상술한 본 발명에 따른 주소 변환 기법을 이용하면 수식 기반 주소 변환 기법과 테이블 기반 주소 변환 기법이 가지는 장점들을 모두 활용할 수 있다. 그리고 테이블 기반 주소 변환 과정에서는 논리 볼륨의 메타 데이터를 클러스터 내의 노드들이 분산하여 관리하기 때문에 효율성이 높은 주소 변환이 가능하다.By using the above-described address translation scheme according to the present invention, all the advantages of the equation-based address translation scheme and the table-based address translation scheme can be utilized. In the table-based address translation process, the logical volume's metadata is distributed and managed by the nodes in the cluster to enable highly efficient address translation.

도 1은 논리 볼륨 관리자가 있는 컴퓨터 시스템 구조를 설명하는 도면이다.1 is a diagram for explaining a computer system structure having a logical volume manager.

도 2는 분산 환경의 논리 볼륨 관리자의 구조를 설명하는 도면이다.2 is a diagram for explaining the structure of a logical volume manager in a distributed environment.

도 3은 SAN(Storage Area Network) 기반의 클러스터 환경에서 동작하는 논리 볼륨 관리자의 구조를 설명하는 도면이다.3 is a diagram illustrating a structure of a logical volume manager operating in a storage area network (SAN) based cluster environment.

도 4는 수식 기반 주소 변환 방식의 예를 보여주는 도면이다.4 is a diagram illustrating an example of an equation-based address translation method.

도 5는 테이블 기반 주소 변환 방식의 예를 보여주는 도면이다.5 is a diagram illustrating an example of a table-based address translation method.

도 6은 본 발명에 따른 논리 볼륨 상태 천이를 정의하는 도면이다.6 is a diagram defining a logical volume state transition according to the present invention.

도 7은 공간 조각이 컴퓨터 디스크 상에서 구성된 예를 보여준다.7 shows an example of a space fragment configured on a computer disk.

도 8은 공간 조각 내의 주소 변환 테이블과 할당 비트맵의 의미를 설명하는 도면이다.8 is a diagram for explaining the meaning of the address translation table and allocation bitmap in the space fragment.

도 9는 컨케터네이션 논리 볼륨에 대한 공간 조각 관리 방식을 나타내는 도면이다.9 is a diagram illustrating a space fragment management scheme for a concatenation logical volume.

도 10은 RAID-0 논리 볼륨에 대한 공간 조각 관리 방식을 나타내는 도면이다.10 is a diagram illustrating a space fragment management method for a RAID-0 logical volume.

도 11은 데이터 이동이 필요한 논리 볼륨의 재구성 작업의 순서를 설명하는 도면이다.11 is a diagram for explaining a procedure of reconstruction of a logical volume requiring data movement.

도 12는 메타 데이터 클라이언트 주소 변환 작업 순서를 설명하는 도면이다.12 is a diagram illustrating a metadata client address translation work procedure.

도 13은 메타 데이터 요청에 대한 메타 데이터 서버 동작을 설명하는 도면이다.13 is a diagram illustrating a metadata server operation for a metadata request.

도 14는 주소 변환 방식의 변경을 설명하는 도면이다.14 is a diagram illustrating a change of the address translation method.

Claims (6)

논리 볼륨 관리자에 의해 초기에 설정된 논리 볼륨 상태로 존재하는 단계;Existing in a logical volume state initially set by the logical volume manager; 상기 정상 상태에서 논리 볼륨 재구성 명령 또는 해당 논리 볼륨에 대한 스냅샷 볼륨을 생성하는 명령이 제공되는 단계;Providing a logical volume reconstruction command or a command to create a snapshot volume for the logical volume in the normal state; 상기 논리 볼륨 재구성 명령에 의해 볼륨의 종류나 볼륨의 크기를 변경시키는 재구성 작업 상태로 천이하는 단계;Transitioning to a reconstruction operation state for changing the type or volume of a volume by the logical volume reconstruction command; 상기 스냅샷 볼륨을 생성하는 명령에 의해 상기 스냅샷 볼륨을 유지하는 스냅샷 상태로 천이하는 단계; 및Transitioning to a snapshot state that maintains the snapshot volume by a command to create the snapshot volume; And 상기 재구성 작업이 완료되거나 상기 스냅샷 볼륨이 제거되면 상기 정상 상태로 천이하는 단계를 구비하는 것을 특징으로 하는 논리 볼륨 주소 변환 기법.And transitioning to the normal state when the reconstruction operation is completed or when the snapshot volume is removed. 제1항에 있어서, 상기 논리 볼륨은The method of claim 1, wherein the logical volume is 볼륨 구성 정보, 스냅샷 비트맵, 주소 변환 테이블, 그리고 할당 비트맵으로 구성되는 논리 볼륨 관리 정보를 저장하는 메타 데이터 영역과 사용자가 데이터를 저장하는 일반 데이터 영역으로 이루어지는 공간 조각(space chunk)을 최소 단위로 하는 것을 특징으로 하는 논리 볼륨 주소 변환 기법.Minimize space chunks consisting of a metadata area that stores volume configuration information, snapshot bitmaps, address translation tables, and logical volume management information consisting of allocation bitmaps, and a general data area where users store data. Logical volume address translation technique characterized in that the unit. 제1항에 있어서, 상기 논리 볼륨의 재구성 작업은The method of claim 1, wherein the reconstruction of the logical volume is performed. 재구성을 위한 프로세스가 새롭게 생성되면 초기에 설정된 주소 변환 테이블 아이디를 검사하는 단계;Checking an initially set address translation table ID when a process for reconfiguration is newly generated; 상기 주소 변환 테이블 아이디가 자신이 담당하는 메타 데이터가 아니고 상기 주소 변환 테이블 아이디가 처음 시작값이 아니면, 상기 주소 변환 테이블 아이디가 담당하는 메타 데이터 서버에게 알리는 단계;Notifying the metadata server in charge of the address translation table ID if the address translation table ID is not the metadata in charge thereof and the address translation table ID is not the first starting value; 상기 주소 변환 테이블 아이디가 자신이 담당하는 메타 데이터일 경우, 현재 재구성 작업 중인 상기 주소 변환 테이블 아이디 값을 유지하는 변수의 값을 갱신하는 단계;Updating the value of a variable that maintains the address translation table ID value which is currently being reconstructed if the address translation table ID is metadata in charge thereof; 클러스터의 다른 노드들이 해당 주소 변환 테이블을 캐쉬에 유지하고 있을 경우, 이를 무효화하는 요청을 하고 메타 데이터 서버에게 데이터를 요청하는 단계;If other nodes in the cluster maintain the corresponding address translation table in the cache, requesting invalidation and requesting data from the metadata server; 상기 해당 주소 변환 테이블에 존재하는 논리 주소의 물리 주소를 변경하고 데이터를 이동하는 단계;Changing a physical address of a logical address existing in the corresponding address translation table and moving data; 상기 주소 변환 테이블 아이디 값을 증가시키는 단계; 및Increasing the address translation table ID value; And 이전의 단계들을 반복 수행하는 단계를 구비하는 것을 특징으로 하는 논리 볼륨 주소 변환 기법.And repeating the previous steps. 제1항에 있어서, 상기 재구성 작업 또는 상기 스냅샷 상태에서의 상기 논리 볼륨의 데이터 입출력 작업은The data input / output operation of the logical volume in the reconstruction operation or the snapshot state is performed. 블록 번호를 논리 볼륨 관리자가 관리하는 데이터 자료인 논리 익스텐트 번호로 변환하는 단계;Converting the block number into a logical extent number which is data data managed by the logical volume manager; 상기 논리 익스텐트 번호를 물리 주소를 유지하고 있는 주소 변환 테이블 아이디로 변환하는 단계;Converting the logical extent number into an address translation table ID holding a physical address; 상기 주소 변환 테이블 아이디가 해쉬 테이블에 존재하는지를 검색하는 단계;Retrieving whether the address translation table ID exists in a hash table; 상기 주소 변환 테이블 아이디가 해쉬 테이블에 존재할 경우, 상기 메타 데이터를 이용하여 주소를 변환하는 단계;Converting an address using the metadata when the address translation table ID exists in a hash table; 상기 주소 변환 테이블 아이디가 해쉬 테이블에 존재하지 않는 경우, 상기 주소 변환 테이블을 관리하는 메타 데이터 서버를 결정하는 단계;Determining a metadata server managing the address translation table when the address translation table ID does not exist in the hash table; 상기 결정된 메타 데이터 서버에게 메타 데이터를 요청하는 단계;Requesting metadata from the determined metadata server; 상기 메타 데이터 서버로부터 온 응답을 분석하여 상기 주소 변환 테이블이 상기 재구성 작업 중이라면 상기 메타 데이터를 재요청을 하는 단계;Analyzing the response from the metadata server and re-requesting the metadata if the address translation table is in the reconstruction operation; 상기 주소 변환 테이블이 상기 재구성 작업 중이 아니라면 상기 메타 데이터를 상기 해쉬 테이블에 추가하여 상기 주소 변환 테이블을 이용하여 주소를 변환하는 단계를 구비하는 것을 특징으로 하는 논리 볼륨 주소 변환 방법.And converting the address by using the address translation table by adding the metadata to the hash table if the address translation table is not in the reconstruction operation. 제1항에 있어서, 상기 논리 볼륨의 메타 데이터 서버 동작은The metadata server operation of claim 1, wherein the metadata server operation of the logical volume is performed. 주소 변환 테이블에 대한 요청이 들어오면 주소 변환 테이블 아이디를 이용하여 현재 재구성 작업중인지를 확인하는 단계;When a request for the address translation table is received, checking whether a reconfiguration operation is currently performed using the address translation table ID; 재구성 작업 중이라면, 클라이언트에게 재구성 작업중이라는 반환 코드를 전송하는 단계;If in the reconstruction operation, sending a return code indicating that the reconstruction operation is in progress to the client; 재구성 작업 중이 아니라면, 상기 요청한 주소 변환 테이블이 메타 데이터 서버의 해쉬 테이블에 존재하는지 검색하는 단계;If not, retrieving whether the requested address translation table exists in a hash table of a metadata server; 상기 요청한 주소 변환 테이블이 메타 데이터 서버의 해쉬 테이블에 존재하지 않으면 디스크로부터 읽어들여 상기 해쉬 테이블에 추가하는 단계;Reading from the disk and adding to the hash table if the requested address translation table does not exist in the hash table of the metadata server; 메타 데이터를 가져간 클라이언트 정보를 유지하기 위해 클라이언트 정보와 요청한 상기 주소 변환 테이블 아이디를 관리 목록에 추가하는 단계; 및Adding client information and the requested address translation table ID to a management list to maintain client information from which metadata is taken; And 클라이언트에게 메타 데이터를 전송하는 단계를 구비하는 것을 특징으로 하는 논리 볼륨 주소 변환 기법.And sending meta data to the client. 논리 볼륨 주소 변환 장치에 있어서,In the logical volume address translation apparatus, 초기에 설정된 논리 볼륨의 정상 상태에서 논리 볼륨 재구성 명령에 따라 논리 볼륨을 볼륨의 종류나 볼륨의 크기를 변경시키는 재구성 작업 상태로 천이시키고, 스냅샷 볼륨을 생성하는 명령에 의해 상기 정상 상태에서 상기 스냅샷 볼륨을 유지하는 스냅샷 상태로 천이시키는 논리 볼륨 관리자; 및In the normal state of the initially set logical volume, the logical volume is shifted to a reconstruction operation state that changes the type or volume of the volume according to a logical volume reconstruction command, and the snap is activated in the normal state by a command for creating a snapshot volume. A logical volume manager that transitions to a snapshot state that maintains a shot volume; And 다수개의 공간 조각들이 할당되는 논리 볼륨을 구비하고,Has a logical volume to which a number of space pieces are allocated, 상기 공간 조각(space chunk)은 상기 논리 볼륨의 구성 정보, 변경분 스냅샷 관리를 위한 스냅샷 비트맵, 논리 주소에 대응하는 물리 주소 정보인 주소 변환 테이블, 그리고 사용되고 있는 데이터 영역 정보인 할당 비트맵으로 구성되는 논리 볼륨 관리 정보를 저장하는 메타 데이터 영역과 사용자가 데이터를 저장하는 일반 데이터 영역으로 이루어지는 것을 특징으로 하는 논리 볼륨 주소 변환 장치.The space chunk may include configuration information of the logical volume, a snapshot bitmap for managing change snapshots, an address translation table that is physical address information corresponding to a logical address, and an allocation bitmap that is used data area information. And a metadata area for storing logical volume management information and a general data area for storing data by the user.
KR10-2003-0066322A 2003-09-24 2003-09-24 Method and apparatus for selective address translation according to the state of a shared logical volume KR100505178B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0066322A KR100505178B1 (en) 2003-09-24 2003-09-24 Method and apparatus for selective address translation according to the state of a shared logical volume

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0066322A KR100505178B1 (en) 2003-09-24 2003-09-24 Method and apparatus for selective address translation according to the state of a shared logical volume

Publications (2)

Publication Number Publication Date
KR20050030016A KR20050030016A (en) 2005-03-29
KR100505178B1 true KR100505178B1 (en) 2005-08-03

Family

ID=37386505

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0066322A KR100505178B1 (en) 2003-09-24 2003-09-24 Method and apparatus for selective address translation according to the state of a shared logical volume

Country Status (1)

Country Link
KR (1) KR100505178B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100793531B1 (en) * 2005-09-30 2008-01-14 후지쯔 가부시끼가이샤 Raid system and rebuild/copy back processing method therof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100793531B1 (en) * 2005-09-30 2008-01-14 후지쯔 가부시끼가이샤 Raid system and rebuild/copy back processing method therof

Also Published As

Publication number Publication date
KR20050030016A (en) 2005-03-29

Similar Documents

Publication Publication Date Title
US11921684B2 (en) Systems and methods for database management using append-only storage devices
US7836266B2 (en) Managing snapshot history in a data storage system
US6973556B2 (en) Data element including metadata that includes data management information for managing the data element
US6880102B1 (en) Method and system for managing storage systems containing multiple data storage devices
US8204858B2 (en) Snapshot reset method and apparatus
US7197490B1 (en) System and method for lazy-copy sub-volume load balancing in a network attached storage pool
US7975115B2 (en) Method and apparatus for separating snapshot preserved and write data
US6728831B1 (en) Method and system for managing storage systems containing multiple data storage devices
EP1476810B1 (en) Providing a snapshot of a subset of a file system
US8656123B2 (en) Snapshot preserved data cloning
US7085785B2 (en) Writable file system snapshot with ditto address feature
US7216135B2 (en) File system for providing access to a snapshot dataset where disk address in the inode is equal to a ditto address for indicating that the disk address is invalid disk address
US7844643B2 (en) Storage management system with integrated continuous data protection and remote copy
US20060047926A1 (en) Managing multiple snapshot copies of data
US20030158863A1 (en) File system snapshot with ditto address feature
US20120124285A1 (en) Virtual disk drive system and method with cloud-based storage media
WO2005017737A2 (en) Virtual disk drive system and method
US7200603B1 (en) In a data storage server, for each subsets which does not contain compressed data after the compression, a predetermined value is stored in the corresponding entry of the corresponding compression group to indicate that corresponding data is compressed
JP2005512171A (en) Efficient management of large files
US10620843B2 (en) Methods for managing distributed snapshot for low latency storage and devices thereof
KR20090091746A (en) System, method and computer program product for managing data using a write-back cache unit
US6629203B1 (en) Alternating shadow directories in pairs of storage spaces for data storage
JP5712127B2 (en) Dynamic write balancing in data storage systems.
JP4394467B2 (en) Storage system, server apparatus, and preceding copy data generation method
KR100505178B1 (en) Method and apparatus for selective address translation according to the state of a shared logical volume

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130522

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee