KR20050055510A - 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유저장장치의 스냅샷 수행방법 - Google Patents

메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유저장장치의 스냅샷 수행방법 Download PDF

Info

Publication number
KR20050055510A
KR20050055510A KR1020030088732A KR20030088732A KR20050055510A KR 20050055510 A KR20050055510 A KR 20050055510A KR 1020030088732 A KR1020030088732 A KR 1020030088732A KR 20030088732 A KR20030088732 A KR 20030088732A KR 20050055510 A KR20050055510 A KR 20050055510A
Authority
KR
South Korea
Prior art keywords
snapshot
cow
data block
block
mapping
Prior art date
Application number
KR1020030088732A
Other languages
English (en)
Other versions
KR100541530B1 (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 KR1020030088732A priority Critical patent/KR100541530B1/ko
Publication of KR20050055510A publication Critical patent/KR20050055510A/ko
Application granted granted Critical
Publication of KR100541530B1 publication Critical patent/KR100541530B1/ko

Links

Classifications

    • 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/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 멀티 호스트에서 대용량 저장장치를 공유하여 사용하는 환경에서 매핑을 기반으로 하는 대용량 저장장치 볼륨을 위한 스냅샷 기법에 관한 것으로, 본 발명의 스냅샷 상태 테이블(SST)은 디스크가 아닌 메모리상에 유지되고, 데이터 블록의 할당 시점을 나타내는 COW(Copy-on-Write)의 수행 여부를 나타내는 DAB(Data-block Allocation-time Bit)와 CDB(COW of Data-block Bit)로 이루어진 엔트리들로 구성된다.
따라서, 본 발명은 스냅샷이 존재하는 볼륨에 대한 쓰기 연산과 스냅샷 삭제 수행 시 COW의 수행 여부 판단을 위해 추가적인 디스크 접근이 요구되지 않는다. 기존 스냅샷 기법이 디스크에 저장된 원본 매핑 블록의 매핑 엔트리를 이용하여 COW의 수행 여부를 판단하던 것을, 메모리상의 SST를 통해 처리하여 매핑 블록에 대한 접근을 완전히 없애 스냅샷 기법의 성능을 향상시킬 수 있다.

Description

메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유 저장장치의 스냅샷 수행방법{Method of processing snapshot introducing snapshot status table based on memory for shared storage supporting large capacity}
본 발명은 공유 스토리지 환경의 대용량 저장 장치를 위한 스냅샷 기법에 관한 것으로, 더욱 상세하게는 스토리지 에리어 네트워크(SAN: Storage Area Network) 기반의 공유 스토리지 클러스터 환경에서 대용량 저장장치의 스냅샷(Snapshot) 수행 방법에 관한 것이다.
기업 규모의 시스템에서는 데이터 웨어하우스(Data Warehouse)의 구축과 ERP(Enterprise Resource Planning), CRM(Customer Relationship Management) 시스템 등의 도입으로 사용자에게 공유되고 서비스되는 데이터의 양이 기하급수적으로 증가하고 있다. 즉, 인터넷의 폭발적인 성장과 온라인 상에서의 정보유지 필요성, 의사결정 지원정보의 수집/추적에 대한 필요성, 서버 통합 및 비즈니스 중심 애플리케이션으로의 PC 서버 움직임, 그리고 애플리케이션의 복잡성 증가 등 다양한 요인들로 인해 대용량 스토리지에 대한 요구가 계속 높아지고 있다. 이처럼 고속 대용량 데이터 처리요구를 충족시키기 위한 솔루션으로 등장한 것이 바로 스토리지 에리어 네트워크(SAN: Storage Area Network)이다. SAN은 분산 네트워킹에서 주류가 되고 있으며, 이미 스토리지를 구성하는 데 있어서 기본적인 조건으로 자리잡고 있다.
한편, 24 X 7 X 365 환경을 지원해야 하는 엔터프라이즈 시스템에서는 고속의 대용량 데이터 처리 이외에도 데이터에 대한 가용성 및 신뢰성이 요구된다. 여러 가지 신뢰성 및 가용성을 보장해주는 방법 중, 이러한 시스템의 요구 사항을 만족시켜 줄 수 있는 방법으로 온라인 백업의 중요성이 부각되고 있다. 그런데 대용량의 데이터에 대한 백업을 수행하기 위해서는 백업 수행 시간이 기하급수적으로 증가하게 된다. 따라서, 서비스의 중단이나 시스템의 재시작 없이 백업을 수행할 수 있는 매핑 테이블 기반의 온라인 스냅샷(snapshot)의 제공이 필수적이다.
하지만, 매핑 테이블 기반의 스냅샷 기법을 SAN을 기반으로 하는 대용량의 공유 스토리지 시스템에 적용할 경우에 다음과 같은 몇 가지 문제점을 가진다.
첫째, 스냅샷 생성 후 데이터 블록에 대한 처음 변경의 처리를 수행하는 Copy-on-Write(COW)와 COW 이후에 발생하는 데이터 블록의 변경은 COW의 수행 여부를 판단하기 위해 매핑 블록에 대한 추가적인 디스크 입출력(I/O)을 요구하게 되어 쓰기 연산의 성능 저하를 초래한다.
둘째, 스냅샷 삭제를 수행할 경우에도 데이터 블록에 대한 할당을 해제할 때 COW가 수행된 데이터 블록인지 판단하는 과정에서 매핑 블록에 대한 추가적인 디스크 입출력(I/O)이 요구되어 동시 수행되는 쓰기 연산의 성능 저하가 발생하고, 스냅샷 삭제 수행 시간이 길어지는 문제점이 있다.
도 1은 일반적인 디스크 기반의 스냅샷(Snapshot) 기법에서 Copy-on-Write(COW)의 수행 과정을 나타낸 개략도이다.
도 1을 참조하면, 참조번호 110은 가장 최근의 데이터를 가지고 있는 원본 파일시스템이고, 120은 스냅샷이 생성되었을 때 변경된 데이터에 대해서 스냅샷이 걸린 상태를 유지하기 위해 필요한 데이터를 저장하는 스냅샷 영역이다. 파일시스템(110)에는 파일 A(111)와 파일 B(112)가 저장되어 있고, 파일 A(111)는 A1, A2 블록으로 이루어지고, 파일 B(112)는 B1, B2 그리고 B3 블록으로 이루어져 있다.
이와 같은 구조에서 응용(application) 프로그램으로부터 스냅샷이 생성되기 전에 파일 A(111)의 첫번째 블록(A1)에 대한 읽기 요청이 들어오면(151), 파일 시스템(110)에 저장되어 있는 파일 A(111)의 블록 A1을 읽어서 서비스를 수행한다.
그러나 스냅샷이 생성된 이후에 파일 B(112)의 첫번째 블록(B1)에 대한 쓰기가 요청되면(154), 첫번째 갱신인지를 검사하는 과정(140)이 필요하다. 즉, COW가 수행되었는지 검사하는 과정이 필요하다. 만일, 파일 B(112)의 첫 번째 블록(B1)에 대한 쓰기 연산이 첫 갱신이라면 카피 온 라이트(COW)를 수행해야 한다.
카피 온 라이트(COW) 수행과정은 파일 시스템(110)에 있는 파일 B(112)의 첫 번째 블록(B1)을 새로 할당된 스냅샷 영역(120)의 블록(B1':122)으로 복사하고, 스냅샷 데이터 블록에 대한 매핑 정보를 변경된 블록 맵(121)에 기록한다. 그리고 실제 갱신할 내용은 원본 파일 시스템(110) 내의 파일 B(112)의 첫 번째 블록(B1)에 기록한다. 만일, 처음 갱신이 아니라면 원본 파일시스템(110)의 파일 B(112)의 첫 번째 블록(B1)에 변경된 데이터의 내용을 기록한다.
한편, 스냅샷에 대한 읽기 연산 수행 시에도 카피 온 라이트(COW)에 의해 변경된 블록인지를 검사하는 과정(130)이 필요하다. 만일, 변경되지 않은 블록이라면 원본 파일 시스템(110)의 데이터를 바로 읽는다. 하지만 변경이 발생한 경우에는 스냅샷 영역(120)의 변경된 블록 맵(121)을 검사하여 변경된 블록의 물리적인 위치(122)를 찾아 데이터를 읽는다. 즉, 파일 A의 첫번째 블록(A1)에 대한 읽기(153)라면, 변경되지 않은 블록이므로 원본 파일시스템(110)의 블록(A1)을 읽어 오고, 파일 B의 첫번째 블록(B1)에 대한 읽기(152)라면 변경된 블록이므로 스냅샷 영역의 블록(B1')을 읽어 온다.
이와 같이 종래에는 스냅샷에 대한 읽기 과정이나 스냅샷 삭제시에 카피 온 라이트(COW)의 수행여부를 확인하기 위해 매핑 블록을 접근하기 위해 매핑 블록이 저장된 디스크에 대한 추가적인 입출력(I/O)이 요구되어 동시 수행되는 쓰기 연산의 성능 저하가 발생하고, 스냅샷 삭제 수행 시간이 길어지는 문제점이 있다.
따라서, 본 발명은 상술한 종래의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 대용량 공유 스토리지를 제공하는 SAN(Storage Area Network) 기반에서 대용량 논리 볼륨을 위해 성능이 향상된 스냅샷 수행 방법을 제공하는데 있다. 즉, 본 발명은 메모리에 스냅샷 상태를 나타내는 테이블을 유지하여 스냅샷이 존재하는 경우의 쓰기 연산과 스냅샷 삭제 시 카피 온 라이트(COW)의 판단을 위해 요구되던 디스크의 매핑 블록에 대한 읽기를 없애 성능을 향상시키고, COW 수행 후 이를 나타내는 처음 할당 비트(DAB: Data-block Allocation-time Bit)와 COW 데이터블록 비트(CDB: COW of Snapshot Bit)값을 가진 스냅샷 상태 테이블 엔트리를 디스크에 저장하는 과정이 요구되지 않아 쓰기 연산의 성능을 향상시킬 수 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 스냅샷 삭제 방법은, 다수의 호스트들이 대용량의 네트워크 저장장치를 공유하도록 된 스토리지 에리어 네트워크(SAN) 기반의 시스템에서 스냅샷을 삭제하는 방법에 있어서, 매핑 서버가 존재하는 모든 노드의 연산 모드를 스냅샷 삭제(SNAPSHOT_DESTROY) 모드로 변경하는 제1 단계; 매핑 블록에 대한 잠금을 획득하는 제2 단계; 매핑 엔트리가 가리키는 데이터 블록의 카피-온-라이트(COW) 수행 여부의 판단을 스냅샷 상태 테이블 엔트리의 처음 할당 비트(DAB)와 COW 데이터블록 비트(CDB)를 사용하여 처리하는 제3 단계; 카피-온-라이트(COW)가 수행된 경우, 처음 할당비트(DAB)나 COW 데이터블록 비트(CDB)를 초기화하고, 상기 매핑 블록의 잠금을 해제하는 제4 단계; 및 모든 데이터 블록에 대한 초기화가 완료되면, 스냅샷을 삭제하는 제5 단계를 포함하는 것을 특징으로 한다.
또한 상기와 같은 목적을 달성하기 위하여 본 발명의 스냅샷 수행 방법은 다수의 호스트들이 대용량의 네트워크 저장장치를 공유하도록 된 스토리지 에리어 네트워크(SAN) 기반의 시스템에서 쓰기 연산을 수행하는 방법에 있어서, 스냅샷이 존재하는지 아닌지를 판단하여 매핑을 수행하는 제1 단계; 상기 매핑 블록을 디스크로부터 읽어서 원하는 매핑 엔트리의 값을 구하는 제2 단계; 스냅샷 상태 테이블 엔트리의 데이터블록 할당 비트(DAB) 값을 확인하여 데이터 블록이 스냅샷 생성 이후 처음 할당, 사용되었는지 판단하는 제3 단계; 데이터블록 할당 비트(DAB) 값이 0이고 매핑 엔트리 값이 초기값인 경우, 새로운 블록을 할당하고 데이터 내용을 복사 디스크에 기록하고, 데이터블록 할당 비트(DAB) 값을 1로 변경하는 제4 단계; 데이터 블록이 스냅샷 이전에 할당된 경우, COW 데이터블록 비트(CDB) 값을 통하여 카피 온 라이트(COW)가 수행되었는지를 판단하는 제5 단계; 및 COW 데이터블록 비트(CDB)값이 0으로서 COW가 수행되지 않은 경우, 카피 온 라이트(COW)를 수행하고, COW 데이터블록 비트(CDB) 값을 1로 변경하는 제6 단계를 포함하는 것을 특징으로 한다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다.
본 발명의 실시예에서는 대용량 공유 저장 장치를 위한 스냅샷 기법을 LVM(Logical Volume Manager)에 적용시켜 설명한다. 또한 본 발명에 따른 실시예의 알고리즘을 스냅샷 삭제, 및 쓰기 연산으로 구분하여 설명하기로 한다.
도 2는 본 발명에 따라 멀티 호스트간에 대용량 공유 저장장치를 제공하는 SAN 기반의 물리적인 환경을 나타내는 시스템 구성도로서, 논리 볼륨 관리자(LVM)가 SAN(Storage Area Network)을 통한 멀티 호스트 환경에서 스토리지 공유를 제공하는 공유 스토리지 클러스터 시스템이 도시되어 있다.
논리 볼륨 관리자(LVM)의 기반이 되는 SAN 환경(200)은 도 2에 도시된 바와 같이, 데이터를 저장 및 보관하기 위한 네트워크 스토리지 풀(Network Storage Pool: 202)과, 이러한 네트웍크 스토리지 풀(202)들을 공유하면서 사용자에게 서비스를 제공하기 위해 이들을 액세스하는 다중 호스트들(Host1~Host4: 203), 그리고 네트워크 스토리지 풀(202)들과 호스트들(203)을 화이버 채널(Fibre Channel: FC)을 통해 연결하고 있는 저장장치 네트워크 연결망인 스위치(Switch)들(201)로 구성된다. 여기서, 네트워크 스토리지 풀(202)은 백업 디바이스, 디스크 어레이, 디스크, RAID, JBOD 등으로 이루어진 저장장치이다.
이러한 구성에서 각 호스트(203)는 스위치(switch: 201)와의 연결을 위해 HBA(Host Bus Adaptor)를 사용하고, 호스트(203)와 스위치(201)의 연결도 화이버 채널(Fibre Channel: FC)을 사용하여 구성된다. 각 호스트(Host1~Host4)(203)는 제어 및 관리 정보를 처리하기 위해 LAN(204)으로 연결된다. 이러한 물리적인 환경이 준비되면 논리 볼륨 관리자(LVM)를 사용할 수 있는 환경이 갖추어지게 된다.
도 3은 본 발명에서 제안하는 스냅샷을 구현하기 위한 스냅샷 상태 테이블의 엔트리 구조를 나타낸다.
도 3을 참조하면, 본 발명의 스냅샷 상태 테이블(301)은 메인 메모리상에 구현되어 있고, 스냅샷 상태 테이블의 각 엔트리(302)는 2 종류의 스냅샷 상태 정보를 나타내는 비트로 구성된다. 이때, 각 엔트리(302)는 매핑 블록 엔트리의 논리적인 주소(0~N: 303)에 해당한다. 즉, 하나의 매핑 블록 엔트리에 대해 하나의 스냅샷 상태 테이블 엔트리(302)가 할당된다. 각 엔트리(302)는 데이터블록 할당 비트(DAB)(304)와 COW 데이터블록 비트(CDB: )(305)들로 이루어진다.
데이터블록 할당 비트(DAB)(304)는 모든 스냅샷 상태 테이블 엔트리(302)의 제일 첫 번째 비트를 할당하여 사용한다. DAB(304)는 스냅샷 생성 이후 처음 할당, 사용되는 데이터 블록을 구별하기 위해 사용되는 비트이다. 스냅샷 생성 이후 데이터 블록이 할당되고 처음 사용될 때 DAB 값을 '1'로 변경한다. COW 데이터블록 비트(CDB)(305)는 스냅샷의 상태를 나타내는 비트로서, '1'이면 스냅샷 생성 후 카피 온 라이트(COW)가 수행되었다는 의미이고, '0'이면 초기값이나 아직 카피 온 라이트(COW)가 수행되지 않은 상태임을 표시한다. CDB(305)는 스냅샷 마다 1비트씩 할당되고, 최대 스냅샷 개수 만큼의 비트가 할당된다. 데이터블록 할당 비트(DAB: 304)와 COW 데이터블록 비트(CDB: 305)는 스냅샷이 처음 생성될 때 메모리의 스냅샷 상태 테이블(301) 생성 및 초기화 과정에서 '0'으로 초기화된다.
통상, 디스크 기반의 스냅샷 기법에서는 스냅샷 이후 처음 사용되는 블록에 대해 그 이후에 발생하는 데이터 변경 연산이 카피 온 라이트(COW)를 수행해야 하는지 판단하기 위해 원본 매핑 엔트리 및 스냅샷 매핑 엔트리를 모두 읽어서 물리 주소의 값을 비교해야 한다. 즉, 두 번의 디스크 입출력(I/O)을 수행해야 한다. 또한, 스냅샷 삭제 시에 수행되는 카피 온 라이트(COW) 수행 블록의 할당 반환의 처리에서 스냅샷 생성 이후 처음 할당된 블록에 대해서는 데이터 블록의 반환 작업을 수행하지 않아야 된다. 이러한 판단을 위해 기존의 스냅샷 기법에서는 원본 매핑 엔트리와 스냅샷 매핑 엔트리에 대한 두 번의 디스크 입출력(I/O)을 수행해야 한다. 또한 COW 데이터블록 비트(CDB:305)를 디스크의 원본 매핑 테이블에 유지하여 처리하는 방법도 원본 매핑 블록에 대한 접근으로 디스크 입출력(I/O)이 요구된다.
그러나 본 발명에 따른 스냅샷 기법에서는 메모리에 저장된 스냅샷 상태 테이블 엔트리(302)의 데이터블록 할당 비트(DAB)(304)와 COW 데이터블록 비트(CDB)(305)를 사용하여 디스크의 매핑 블록에 대한 I/O를 수행하지 않고도 카피 온 라이트(COW) 수행 여부의 판단이 가능하다. 이를 위해 스냅샷 생성 이후 처음 할당/사용되는 데이터 블록에 대해 스냅샷 상태 테이블 엔트리의 DAB(304) 값을 '1'로 변경한다.
따라서 본 발명에서는 카피 온 라이트(COW)의 수행 여부를 판단하는 과정에서 해당 엔트리의 DAB(304)가 '1'이면, 해당 데이터 블록의 내용을 변경하고 그대로 디스크에 변경을 반영하면 된다. 이미 할당된 블록으로서 해당 엔트리의 DAB(304)가 '0'인 경우에는 COW 데이터블록 비트(CDB)(305) 값을 통해 판단한다.
스냅샷이 존재하는 경우에 각 데이터 블록은 각각의 상태에 따라 세 가지 경우로 분류할 수 있다.
첫 번째는 스냅샷 생성 이후에 처음으로 할당 및 사용되는 데이터 블록이다. 두 번째는 스냅샷 이전에 사용되고 스냅샷 이후에는 아직 변경이 발생하지 않은 데이터 블록이다. 즉, COW의 수행이 이루어지지 않은 데이터 블록이다. 세 번째는 스냅샷 이후에 변경이 발생한, 즉 COW가 수행된 데이터 블록이다. 통상, 스냅샷 생성 이후에 변경되는 데이터 블록의 상태는 위의 3가지 중의 하나이고, 두 번째의 경우에만 해당 데이터 블록에 대해 변경이 발생하면 COW를 수행해야 한다.
첫 번째의 경우와 같이 데이터 블록 중 스냅샷 생성 이후 처음 할당되는 데이터 블록들이 있을 수 있다. 이러한 데이터 블록에 대한 변경 연산이 발생하면, 처음 변경인 경우 새로운 데이터 블록을 할당하고 디스크에 쓰기를 수행한다. 그러나 스냅샷 이전에 사용되지 않은 블록이므로 카피 온 라이트(COW)는 수행되지 않는다. 즉, COW가 수행되지 않았으므로 COW 데이터블록 비트(CDB:305)의 값이 초기값인 '0'을 그대로 유지하게 된다. 그런데 처음 할당된 데이터 블록이라도 두 번째 변경부터는 데이터 블록이 사용중이고 CDB값이 '0'이기 때문에 COW를 수행하게 되는 문제점이 있다. 즉, 본 발명에 따른 스냅샷 기법에서는 COW의 수행 여부를 판단하는 과정에서 디스크에 기록된 매핑 엔트리를 읽기 위한 추가적인 디스크 접근을 하지 않기 때문에 스냅샷 생성 후 처음 사용된 블록과 스냅샷 생성 이전에 할당되고 COW가 수행되지 않은 블록을 구별하는 것이 불가능하다. 따라서, 본 발명에서는 CDB(305) 이외의 추가 1비트(이것이 "DAB"이다)를 두어서 스냅샷 생성 후 처음으로 할당되어 사용되는 데이터 블록을 표시하고, DAB(304)에 의해 스냅샷 생성 후 처음 사용된 블록과 스냅샷 생성 이전에 할당되고 COW가 수행되지 않은 블록을 구별한다. 세 번째의 경우는 COW의 수행으로 CDB(305)의 값이 이미 ‘1’로 변경된 상태로, 변경 연산이 발생해도 원본 데이터 블록에 대한 쓰기 연산만 수행하면 된다.
1. 스냅샷 삭제
기존의 스냅샷 기법에서 성능 저하를 초래하는 요인 중의 하나가 스냅샷 삭제 연산 수행 시에 데이터 블록의 할당 해제 시 COW의 수행 여부를 판단하기 위해 스냅샷 매핑 블록을 접근하는 오버헤드로 인한 성능 저하이다. 즉, 기존의 스냅샷 기법에서는 COW가 수행되었는지 여부를 판단하기 위해 원본 매핑 엔트리와 스냅샷 매핑 엔트리를 모두 읽어서 두 엔트리가 가리키는 물리 블록의 주소를 비교하여 확인한다. 스냅샷이 한 개 이상일 경우에는 다른 스냅샷의 매핑 엔트리까지 비교해야 한다. 즉, 최소한 두 번 이상의 추가적인 디스크 I/O 작업을 수행해야 한다.
이와 같이 매핑 블록에 대한 접근으로 성능 저하가 발생되는 스냅샷 삭제 연산의 문제점을 해결하기 위해 본 발명은 스냅샷 상태 테이블의 각 엔트리(302)가 COW 데이터블록 비트(CDB: 305)와 데이터블록 할당 비트(DAB: 304)값으로 구성된 스냅샷 상태 테이블(301)을 메인 메모리에 도입하여 해결한 것이다.
이와 같이 본 발명에 따른 스냅샷 기법에서는 디스크의 매핑 블록의 값을 이용하여 판단하는 방법을 사용하지 않고, 스냅샷 상태 테이블의 엔트리(302)를 이용하여 COW의 수행 여부를 판단할 수 있다.
먼저, 스냅샷 상태 테이블 엔트리의 데이터블록 할당 비트(DAB: 304) 값을 검사하고, 데이터블록 할당 비트(DAB: 304)가 '1'이면 삭제가 수행되는 스냅샷이 첫 번째 스냅샷인지 확인한다. DAB(304)가 '1'이고 첫 번째 스냅샷인 경우, 해당 데이터 블록은 스냅샷이 생성된 후 처음으로 할당된 블록이므로 할당을 해제하지 않는다. 그 외의 경우에는 COW 데이터블록 비트(CDB: 305) 값을 검사한다. 삭제하는 스냅샷 위치의 CDB(305) 값이 '1'이면 카피 온 라이트(COW)가 수행된 경우이다. COW 데이터블록 비트(CDB: 305)가 '0'이면 다음 데이터 블록에 대한 수행을 계속하고, CDB(305)가 '1'인 경우에는 다음 스냅샷이 존재하는가를 확인한 후 스냅샷이 존재하는 경우, 그 스냅샷 상태 테이블 엔트리(302)의 COW 데이터블록 비트(CDB:305) 값을 확인한다. 다음 스냅샷이 존재하지 않거나 스냅샷이 존재하는데 COW가 수행된 경우에는 현재 데이터 블록의 할당을 해제해야 한다. 이러한 경우는 다음 스냅샷이 존재하는 경우, CDB(305) 값을 통해 COW의 수행을 판단하여 현재 스냅샷에 대한 할당의 해제 여부를 결정한다.
도 4는 본 발명에 따른 스냅샷 삭제의 흐름을 도시한 흐름도로서, 본 발명의 스냅샷 삭제의 흐름을 살펴보면 다음과 같다.
스냅샷 삭제가 요청되면 매핑 서버의 볼륨 연산 모드를 "스냅샷 삭제 (SNAPSHOT_DESTROY)" 모드로 변경한다(401). 스냅샷 삭제 모드로 변경하는 이유는 스냅샷 삭제가 완료되기 전에 발생하는 데이터 블록에 대해 해당 스냅샷에 대한 COW가 수행되는 것을 방지하기 위해서이다. 매핑 블록이 저장된 디스크 블록의 위치를 구하고(402), 매핑 블록에 대한 배타 모드의 잠금을 획득한다(403).
매핑 블록을 디스크로부터 읽어서 매핑 엔트리를 얻는다(404). 데이터 블록의 할당 해제 여부를 판단하기 위해 스냅샷 상태 테이블 엔트리의 데이터블록 할당 비트(DAB: 304)와 COW 데이터블록 비트(CDB: 305)값을 검사해야 한다. 모든 스냅샷 상태 테이블의 엔트리(302)에 대해 차례로 COW의 수행 여부를 검사하는 작업을 수행한다.
스냅샷 상태 테이블 엔트리의 DAB(304)와 CDB(305)값을 통해 카피 온 라이트(COW)가 수행되었는지 판단한다(405). COW가 수행되지 않은 블록이면 다음 스냅샷 상태 테이블 엔트리에 대해 검사하는 작업을 수행한다(409).
COW가 수행된 데이터 블록이면, 데이터 블록의 할당을 해제할 것인지 판단하는 작업을 수행한다(406). 즉, COW가 수행된 데이터 블록의 할당을 해제하는 경우는 두 가지이다. 첫째로 다음 스냅샷이 존재하지 않는 경우(다음 스냅샷=null)와, 둘째로 다음 스냅샷이 존재할 때 다음 스냅샷 생성 후 동일 데이터 블록에 COW가 발생한 경우이다. 위의 두 가지 경우에 할당된 데이터 블록을 해제하고(407), 스냅샷 상태 테이블 엔트리의 현재 스냅샷에 대한 상태 비트 값인 CDB(305)를 '0'으로 초기화한다(408). 모든 스냅샷 상태 테이블 엔트리(302)에 대해 수행이 완료되었는지 검사한다(409). 완료되지 않은 경우에는 다음 스냅샷 상태 테이블 엔트리에 대해 단계 405에서 단계 408까지의 작업을 수행한다.
이어 매핑 블록에 대한 잠금을 해제한다(410). 잠금 해제 후에는 볼륨의 모든 매핑 블록에 대해 수행이 완료되었는지 검사한다(411). 수행할 매핑 블록이 존재하는 경우에는 단계 402에서 다음 매핑 블록을 구하고, 단계 410까지의 과정을 수행한다.
모든 매핑 블록에 대해 수행한 경우에는 스냅샷을 호스트(203)에서 삭제하는 작업을 수행한다(412). 스냅샷을 삭제하면 실제적인 스냅샷 삭제 수행이 완료되고, 스냅샷 삭제로 변경되는 원본 볼륨의 구성 정보를 반영한다(413). 마지막으로 매핑 서버의 연산 모드를 정상(Nomal) 모드로 변환하면(414), 스냅샷 삭제 과정이 완료된다.
2. 데이터 쓰기 연산
스냅샷이 존재할 때 데이터 블록의 변경을 반영하는 쓰기 연산은 스냅샷 삭제 시와 마찬가지로 COW의 수행 여부를 판단하는 과정이 요구된다. 이러한 판단을 위해 기존 매핑 테이블 기반의 스냅샵 기법에서는 매핑 블록에 대한 접근을 통해 판단을 수행하였고, 매핑 블록에 대한 접근은 쓰기 연산의 성능을 저하시킨다.
스냅샷 생성 이전에 쓰여진 데이터의 내용은 변경이 발생해도 그대로 유지되어야 한다. 이렇게 스냅샷 이전에 할당된 데이터 블록 내용의 유지를 위해 수행하는 작업을 카피 온 라이트(Copy-on-Write: COW)라 한다. 이러한 COW의 과정은 매핑 테이블을 기반으로 하는 스냅샷 기법에서는 모두 동일하게 수행되어야 하는 과정이다. 문제는 COW가 수행된 후 발생되는 데이터 블록의 변경에 대한 처리이다. 기존의 스냅샷 기법에서는 변경을 반영하려는 데이터 블록이 COW가 수행되었는지를 판단하기 위해 원본 매핑 엔트리와 스냅샷 매핑 엔트리를 모두 읽어서 두 엔트리가 매핑하는 물리 블록의 주소가 동일한가를 비교하여 COW의 수행 여부를 판단하였다.
본 발명에서는 스냅샷 삭제 시와 동일한 방법으로 스냅샷 상태 테이블의 DAB(304)와 CDB(305)를 이용하여 쓰기 연산의 문제를 해결한다. 처음에는 DAB(304) 값을 검사하여 스냅샷 생성 이후 처음 할당된 데이터 블록에 대해 COW가 발생했는지를 검사한다. DAB(304)값이 ‘0’인 경우에는 CDB(305) 값을 검사한다. CDB(305)는 스냅샷 이전에 할당, 사용되는 데이터 블록에 대해 스냅샷 생성 이후 데이터 블록의 내용 변경이 처음 발생하면 '1'로 변경된다. 즉, COW가 수행되는 스냅샷 상태 테이블 엔트리(302)의 스냅샷에 해당하는 CDB(305)의 값이 '1'로 변경된다. COW가 수행된 이후의 동일 데이터 블록에 대한 변경이 발생하면, 스냅샷 상태 테이블 엔트리의 CDB(305) 값을 통해 COW의 수행 여부를 판단한다. 즉, 본 발명에 따른 스냅샷 기법에서는 스냅샷 매핑 엔트리를 읽어서 원본 매핑 엔트리와 비교하여 판단하는 작업도 요구되지 않고, 원본 볼륨 매핑 엔트리의 값을 읽지 않아도 된다. 즉, 매핑 블록에 대한 디스크 접근 없이 메모리의 스냅샷 상태 테이블 엔트리(302)를 이용해서 판단이 가능하다.
도 5는 본 발명에 따른 시스템에서 스냅샷이 존재할 때 사용자의 디스크 블록의 내용 변경 요청을 처리하는 쓰기 연산의 흐름도를 나타낸다.
먼저, 데이터 블록에 대한 매핑 정보가 저장된 매핑 블록의 물리적인 주소를 구한다(501). 매핑 블록에 대한 배타 모드의 잠금을 획득하고(502), 매핑 블록을 디스크로부터 읽어서 논리 주소에 해당되는 매핑 엔트리를 얻는다(503). 볼륨의 연산 모드를 검사한다(504). 즉, 현재의 I/O가 스냅샷 생성(SNAPSHOT_CREATE)이나 삭제(SNAPSHOT_DESTROY) 중에 발생한 것인지를 검사한다. 연산 모드가 정상 모드(NORMAL)이면 스냅샷이 존재하는지 검사한다(505). 스냅샷이 존재하지 않는 경우 일반 쓰기 연산처럼 데이터 블록을 디스크에 기록하고(516), 매핑 블록의 잠금을 해제하고 종료한다(517).
단계 505에서 스냅샷이 존재하는 경우에는 데이터 블록의 할당 여부를 검사한다(507). 데이터 블록이 할당되지 않은 경우에는 데이터 블록을 할당받고(520), 매핑 엔트리의 물리 블록 주소를 새로 할당된 데이터 블록으로 변경한다(521). 매핑 엔트리의 값이 변경되면 스냅샷 상태 테이블 엔트리의 DAB(304) 값을 "1"로 변경한다(522). 이어 매핑 블록을 디스크에 기록한다(523). 그리고 변경된 내용을 데이터 블록의 디스크에 기록하고(516), 매핑 블록에 대한 잠금을 해제하고(517) 종료한다.
단계 507에서 할당이 된 데이터 블록이면, 할당이 스냅샷 생성 이후에 되었는가를 검사한다(508). 스냅샷 생성 이후에 할당된 데이터 블럭에 대해서는 COW가 수행되지 않는다. 스냅샷 생성 이전에 할당된 경우에는, 스냅샷 상태 테이블 엔트리의 CDB(305) 값을 이용하여 COW가 수행되었는지 검사한다(509). 검사 결과 COW가 이미 수행된 경우에는 데이터 블록을 디스크에 기록하고(516), 매핑 블록에 대한 잠금을 해제하고 수행을 종료한다(517).
단계 509에서 COW가 아직 수행되지 않은 경우에는 COW를 수행해야 한다. 이를 위해 스냅샷 매핑 블록을 버퍼로 읽어서 스냅샷 매핑 엔트리를 얻고(510), 카피 온 라이트(COW)를 수행하기 위해 새로운 물리 데이터 블록을 할당받은(511) 다음, 데이터 블록의 내용을 새로 할당받은 데이터 블록에 복사하고 복사된 데이터 블록을 디스크에 기록한다(512).
이어 스냅샷 매핑 엔트리가 가리키는 물리 주소를 새로 할당받은 데이터 블록의 주소로 변경하고(513), COW가 수행되었음을 나타내는 스냅샷 상태 테이블 엔트리의 CDB(305)값을 "1"로 변경하고(514), 스냅샷 매핑 블럭을 디스크에 기록한다(515). 단계 510에서 단계 515까지의 COW 과정을 수행하면 데이터 블록의 내용을 디스크에 기록하고(516), 매핑 블록에 대한 잠금을 종료하고 수행을 종료한다(517).
단계 504에서 연산 모드가 정상(Nomal) 모드가 아니고 스냅샷 생성(SNAPSHOT_CREATE) 모드이면, 매핑 엔트리를 포함하는 매핑 데이터 블록에 대한 복사가 수행되었는지 검사한다(506). 복사가 완료된 경우에는 COW가 수행되었는지 판단하기 위해 스냅샷 상태 테이블의 CDB(305)값을 검사한다(509). CDB값이 '1'이면 이미 COW가 수행된 경우로 데이터 블록을 디스크에 기록하고(516), 매핑 블록에 대한 잠금을 해제하고(517) 수행을 종료한다. 스냅샷 상태 테이블의 CDB값이 '0'이면 COW 작업을 수행해야 한다. 따라서 단계 510에서 단계 515까지의 COW 작업을 수행하고, 데이터 블록을 디스크에 기록하고(516), 매핑 블록의 잠금을 해제하고(517) 수행을 종료한다. 만약, 단계 506에서 복사가 완료되지 않았다면 COW가 수행되어야 한다. 단계 510에서 단계 517까지의 작업을 수행하고 종료한다.
상기와 같은 본 발명의 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유 저장장치의 스냅샷 수행방법은 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 이러한 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함하는 것으로, 그 예로는, 롬(Read Only Memory), 램(Random Access Memory), CD(Compact Disk)-Rom, DVD(Digital Video Disk)-Rom, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 이러한 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
상술한 바와 같이, 본 발명에 따른 대용량 스냅샷 수행 방법은 대용량 공유 스토리지 환경에서 쓰기연산의 성능을 향상시켜 서비스와 비즈니스의 연속성이 요구되는 전자 상거래나 웹을 통한 실시간 주식 정보와 거래 서비스인 홈 트레이딩과 같은 엔터프라이즈 시스템에서 높은 데이터의 가용성과 신뢰성을 보장한다. 또한 본 발명은 쓰기 연산의 성능 저하가 발생하지 않으면서 온라인 백업을 지원할 수 있는 장점이 있다.
이상에서 설명한 것은 본 발명에 따른 대용량 공유 저장장치를 위한 효율적인 스냅샷 수행방법을 설명한 하나의 실시 예에 불과한 것으로써, 본 발명은 상기한 실시 예에 한정되지 않고, 이하의 특허 청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 사상이 미친다고 할 것이다.
도 1은 일반적인 스냅샷 기법의 카피 온 라이트(Copy-on-Write: COW) 과정을 도시한 도면.
도 2는 본 발명이 적용되는 스토리지를 공유하는 멀티 호스트 시스템의 구성 환경을 도시한 도면.
도 3은 본 발명에 따른 스냅샷 상태 테이블 및 엔트리의 구조를 도시한 도면.
도 4a,4b는 본 발명의 일 실시예에 따른 스냅샷 삭제 방법의 동작 흐름도.
도 5a,5b는 본 발명의 일 실시예에 따른 쓰기 연산의 동작 흐름도.
<도면의 주요부분에 대한 부호의 설명>
200: 스토리지 에리어 네트워크 환경 202: 네트워크 저장장치
201: 스위치 203: 호스트
204: LAN 110: 원본 파일시스템
120: 스냅샷 영역 301: 스냅샷 상태 테이블
302: 스냅샷 상태 테이블 엔트리 303: 논리주소
304: 데이터블록 할당 비트(DAB) 305: COW 데이터블록 비트(CDB)

Claims (10)

  1. 다수의 호스트들이 대용량의 네트워크 저장장치를 공유하도록 된 스토리지 에리어 네트워크(SAN) 기반의 시스템에서의 스냅샷 수행방법에 있어서,
    스냅샷 상태 테이블을 메모리에 생성/유지하고, 스냅샷 생성 후 카피-온-라이트(COW)가 발생하면, 동일 디스크 상에서 데이터 블록을 할당하는 것을 특징으로 하는 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유 저장장치의 스냅샷 수행방법.
  2. 제 1항에 있어서, 상기 스냅샷 상태 테이블은,
    스냅샷 생성 시 메모리에 생성하여 유지하고, 스냅샷 삭제 시 다른 스냅샷이 없으면 삭제하는 것을 특징으로 하는 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유 저장장치의 스냅샷 수행방법.
  3. 제 2항에 있어서, 상기 스냅샷 상태 테이블은,
    COW 데이터블록 비트(CDB)와, 스냅샷 생성 이후 처음 할당, 사용되는 데이터 블록을 나타내는 데이터블록 할당 비트(DAB)로 엔트리를 구성하는 것을 특징으로 하는 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유 저장장치의 스냅샷 수행방법.
  4. 제 3항에 있어서, 상기 COW 데이터블록 비트(CDB)는,
    스냅샷 마다 1비트씩 할당되어 최대 스냅샷 개수 만큼의 비트가 할당되고, '1'이면 스냅샷 생성 후 COW가 수행되었다는 의미이고, '0'이면 초기값이나 아직 COW가 수행되지 않은 상태를 표시하는 것을 특징으로 하는 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유 저장장치의 스냅샷 수행방법.
  5. 제 3항에 있어서, 상기 데이터블록 할당 비트(DAB)는
    모든 스냅샷 상태 테이블 엔트리의 제일 첫 번째 비트를 할당하여 사용하고,스냅샷 생성 이후 데이터 블록이 할당되고 처음 사용될 때 DAB 값을 '1'로 변경하는 것을 특징으로 하는 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유 저장장치의 스냅샷 수행방법.
  6. 다수의 호스트들이 대용량의 네트워크 저장장치를 공유하도록 된 스토리지 에리어 네트워크(SAN) 기반의 시스템에서 스냅샷을 삭제하는 방법에 있어서,
    매핑 서버가 존재하는 모든 노드의 연산 모드를 스냅샷 삭제(SNAPSHOT_DESTROY) 모드로 변경하는 제 1단계;
    매핑 블록에 대한 잠금을 획득하는 제 2단계;
    매핑 엔트리가 가리키는 데이터 블록의 카피-온-라이트(COW) 수행 여부의 판단을 스냅샷 상태 테이블 엔트리의 데이터블록 할당 비트(DAB)와 COW 데이터블록 비트(CDB)를 사용하여 처리하는 제 3단계;
    카피-온-라이트(COW)가 수행된 경우, 처음 할당비트(DAB)나 COW 데이터블록 비트(CDB)를 초기화하고, 상기 매핑 블록의 잠금을 해제하는 제 4단계; 및
    모든 데이터 블록에 대한 초기화가 완료되면, 스냅샷을 삭제하는 제 5단계를 포함하는 것을 특징으로 하는 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유 저장장치의 스냅샷 삭제 수행방법.
  7. 제 6항에 있어서, 상기 제 3단계는,
    데이터블록 할당 비트(DAB)가 '1'이고 첫 번째 스냅샷인 경우, 해당 데이터 블록은 스냅샷이 생성된 후 처음으로 할당된 블록이므로 할당을 해제하지 않는 것을 특징으로 하는 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유 저장장치의 스냅샷 삭제 수행방법.
  8. 제 6항에 있어서, 상기 제 4단계는
    현재의 스냅샷에 대해 COW가 수행된 경우, 다음 스냅샷이 없거나 다음 스냅샷에 대해 카피-온-라이트(COW)가 수행된 경우에 할당된 데이터 블록을 반환하고 처음 할당비트(DAB)나 COW 데이터블록 비트(CDB)를 초기화한 후 상기 매핑 블록의 잠금을 해제하는 것을 특징으로 하는 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유 저장장치의 스냅샷 삭제 수행방법.
  9. 다수의 호스트들이 대용량의 네트워크 저장장치를 공유하도록 된 스토리지 에리어 네트워크(SAN) 기반의 시스템에서 쓰기 연산을 수행하는 방법에 있어서,
    스냅샷이 존재하는지 아닌지를 판단하여 매핑을 수행하는 제 1단계;
    상기 매핑 블록을 디스크로부터 읽어서 원하는 매핑 엔트리의 값을 구하는 제 2단계;
    스냅샷 상태 테이블 엔트리의 데이터블록 할당 비트(DAB) 값을 확인하여 데이터 블록이 스냅샷 생성 이후 처음 할당, 사용되었는지 판단하는 제 3단계;
    데이터블록 할당 비트(DAB) 값이 0이고 매핑 엔트리 값이 초기값인 경우, 새로운 블록을 할당하고 데이터 내용을 복사 디스크에 기록하고, 데이터블록 할당 비트(DAB) 값을 1로 변경하는 제 4단계;
    데이터 블록이 스냅샷 이전에 할당된 경우, COW 데이터블록 비트(CDB) 값을 통하여 카피 온 라이트(COW)가 수행되었는지를 판단하는 제 5단계; 및
    COW 데이터블록 비트(CDB)값이 0으로서 COW가 수행되지 않은 경우, 카피 온 라이트(COW)를 수행하고, COW 데이터블록 비트(CDB) 값을 1로 변경하는 제 6단계를 포함하는 것을 특징으로 하는 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유 저장장치의 스냅샷 쓰기 수행방법.
  10. 제 9항에 있어서, 상기 제 6단계는,
    스냅샷 매핑 블록을 버퍼로 읽어서 스냅샷 매핑 엔트리를 얻고, 카피 온 라이트(COW)를 수행하기 위해 새로운 물리 데이터 블록을 할당받는 단계;
    데이터 블록의 내용을 새로 할당받은 데이터 블록에 복사하고 복사된 데이터 블록을 디스크에 기록하는 단계; 및
    스냅샷 매핑 엔트리가 가리키는 물리 주소를 새로 할당받은 데이터 블록의 주소로 변경하고, 스냅샷 상태 테이블 엔트리의 CDB값을 "1"로 변경하고, 스냅샷 매핑 블럭을 디스크에 기록하는 단계를 포함하는 것을 특징으로 하는 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유 저장장치의 스냅샷 쓰기 수행방법.
KR1020030088732A 2003-12-08 2003-12-08 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유저장장치의 스냅샷 수행방법 KR100541530B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030088732A KR100541530B1 (ko) 2003-12-08 2003-12-08 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유저장장치의 스냅샷 수행방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030088732A KR100541530B1 (ko) 2003-12-08 2003-12-08 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유저장장치의 스냅샷 수행방법

Publications (2)

Publication Number Publication Date
KR20050055510A true KR20050055510A (ko) 2005-06-13
KR100541530B1 KR100541530B1 (ko) 2006-01-12

Family

ID=37250478

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030088732A KR100541530B1 (ko) 2003-12-08 2003-12-08 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유저장장치의 스냅샷 수행방법

Country Status (1)

Country Link
KR (1) KR100541530B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110222013A (zh) * 2019-06-11 2019-09-10 深信服科技股份有限公司 一种集群存储容量确定的方法、系统、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102169867B1 (ko) * 2014-01-22 2020-10-26 한국전자통신연구원 파일 수준의 스냅샷을 제공하는 분산 파일 시스템 및 그 동작 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110222013A (zh) * 2019-06-11 2019-09-10 深信服科技股份有限公司 一种集群存储容量确定的方法、系统、设备及存储介质

Also Published As

Publication number Publication date
KR100541530B1 (ko) 2006-01-12

Similar Documents

Publication Publication Date Title
KR100439675B1 (ko) 대용량 공유 저장장치를 위한 효율적인 스냅샷 수행방법
US6421767B1 (en) Method and apparatus for managing a storage system using snapshot copy operations with snap groups
US8595461B2 (en) Management of recycling bin for thinly-provisioned logical volumes
US7076622B2 (en) System and method for detecting and sharing common blocks in an object storage system
US8510508B2 (en) Storage subsystem and storage system architecture performing storage virtualization and method thereof
US7441096B2 (en) Hierarchical storage management system
US8510526B2 (en) Storage apparatus and snapshot control method of the same
US8769225B2 (en) Optimization of data migration between storage mediums
US7873600B2 (en) Storage control device to backup data stored in virtual volume
US8204858B2 (en) Snapshot reset method and apparatus
US8046534B2 (en) Managing snapshots in storage systems
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
US7584229B2 (en) Method and system for priority-based allocation in a storage pool
US20170177224A1 (en) Dynamic storage transitions employing tiered range volumes
US20060206677A1 (en) System and method of an efficient snapshot for shared large storage
US20070239803A1 (en) Remote mirroring method between tiered storage systems
US7899989B2 (en) Method and system for using a block allocation policy
US7325078B2 (en) Secure data scrubbing
US20070106868A1 (en) Method and system for latency-directed block allocation
US8732422B2 (en) Storage apparatus and its control method
KR100541530B1 (ko) 메모리 기반의 스냅샷 상태 테이블을 이용한 대용량 공유저장장치의 스냅샷 수행방법
US11880584B2 (en) Reverse range lookup on a unified logical map data structure of snapshots
JP2005215940A (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
US11947799B1 (en) Systems and methods for using the TRIM command with solid state devices
US11237738B2 (en) Managing operation of a data storage system with reservation of metadata space

Legal Events

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

Payment date: 20091113

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee