An Efficient Snapshot Technique for Shared Storage Systems supporting Large Capacity

대용량 공유 스토리지 시스템을 위한 효율적인 스냅샷 기법

  • 김영호 (한국전자통신연구원 디지털홈연구단) ;
  • 강동재 (한국전자통신연구원 디지털홈연구) ;
  • 박유현 (한국전자통신연구원 디지털홈연구) ;
  • 김창수 (한국전자통신연구원 디지털홈연구) ;
  • 김명준 (한국전자통신연구원 디지털홈연구단)
  • Published : 2004.04.01

Abstract

In this paper, we propose an enhanced snapshot technique that solves performance degradation when snapshot is initiated for the storage cluster system. However, traditional snapshot technique has some limits adapted to large amount storage shared by multi-hosts in the following aspects. As volume size grows, (1) it deteriorates crucially the performance of write operations due to additional disk access to verify COW is performed. (2) Also it increases excessively the blocking time of write operation performed during the snapshot creation time. (3)Finally, it deteriorates the performance of write operations due to additional disk I/O for mapping block caused by the verification of COW. In this paper, we propose an efficient snapshot technique for large amount storage shared by multi-hosts in SAN Environments. We eliminate the blocking time of write operation caused by freezing while a snapshot creation is performing. Also to improve the performance of write operation when snapshot is taken, we introduce First Allocation Bit(FAB) and Snapshot Status Bit(SSB). It improves performance of write operation by reducing an additional disk access to volume disk for getting snapshot mapping block. We design and implement an efficient snapshot technique, while the snapshot deletion time, improve performance by deallocation of COW data block using SSB of original mapping entry without snapshot mapping entry obtained mapping block read from the shared disk.

본 논문에서는 대용량 스토리지를 공유하는 스토리지 클러스터 시스템에서 스냅샷 생성 이후 발생하는 쓰기 연산의 성능 저하를 해결하는 매핑 테이블 기반의 스냅샷 기법을 제안한다. 대용량 공유 스토리지 클러스터 시스템의 스냅샷 기법은 몇 가지 심각한 성능상의 문제점을 갖는다. 첫째 스냅샷 생성 시 스냅샷 매핑 테이블을 복사하는 기간동안 대상 저장 장치에 대해 모든 호스트의 접근 및 서비스가 중지된다. 둘째 스냅샷 시점의 데이타의 유지를 위해 수행되는 Copy-on-Write(COW) 이후에 발생하는 데이타 블록의 변경은 COW의 수행 여부의 판단을 위해 스냅샷 매핑 블록에 대한 추가적인 디스크 I/O의 요구로 쓰기 연산의 성능이 저하된다. 셋째 스냅샷 삭제 수행 시에도 COW가 수행되었는지 판단하기 위한 매핑 블럭에 대한 추가적인 디스크 I/O가 요구되어 동시 수행되는 I/O 연산의 성능 저하를 가져온다. 제안한 스냅샷 기법에서는 최초 할당 비트(FAB: First Allocation Bit)와 스냅샷 상태 비트(SSB: Snapshot Stautus Bit)를 매핑 엔트리에 도입하여 기존 스냅샷 기법이 갖는 문제점들을 해결하였다. 스냅 샷 생성시 대상 저장 장치에 대한 I/O의 중단 없이 데이타의 일관성을 보장한다. 또한 쓰기 연산 수행 시 COW의 수행 여부 판단을 원본 매핑 엔트리의 FAB와 SSB를 이용하여 스냅샷 매핑 블록에 대한 추가적인 I/O를 없앤다. 동일한 방법으로 삭제 시의 COW 수행 여부 판단을 처리하여 성능을 향상시킨다. 원본 매핑 엔트리의 SSB를 통해 할당을 해제하는 방식으로 성능을 향상시키는 스냅샷 수행 기법에 대해 설계하고 구현한다.

Keywords

References

  1. C. Jurgens, 'Fibre Channel: A Connection to the Future,' IEEE Computer, pp. 82-90, August 1995 https://doi.org/10.1109/2.402088
  2. A. F. Benner, 'Fibre Channel: Gigabit Communications and I/O for Computer Network,' McGrow-Hill, 1996
  3. R. H. Katz, 'High-Performance Network and Channel Based Storage,' Proceedings of IEEE, Vol.80, No.8, pp. 1238-1261, 1992 https://doi.org/10.1109/5.158597
  4. Heinz Maulschagen, 'Logical Volume Manager for Linux,' http://linux.msede.com/lvm/
  5. David C. Teigland, Heinz Mauelshagen, 'Volume Managers in Linux,' http://www.sistina.com
  6. David Teigland. [Slides] 'The Pool Driver: A Volume Driver for SANs,' http://www.sistina.com
  7. David Teigland, Ken Preslan, Matthew O'Keefe, 'An Overview of The Glolbal File System,' http://www.sistina.com
  8. Paul Massiglia, 'Block-Level Incremental Backup,' a storage management solution, Veritas Software Corporation, February, 2000
  9. 신범주, 김경배, 김창수, 김명준, '네트워크 저장 장치를 위한 클러스터 파일 시스템 개발,' 정보처리학회지, 8권, 4호, 2001
  10. C. S. Kim, G. B. Kim and B. J. Shin, 'Volume Management in SAN Environment,' IEEE ICPADS2001, June 2001 https://doi.org/10.1109/ICPADS.2001.934859
  11. M. T. OKeefe, 'A Persistent Snapshot Device Driver for Linux,' 5th Annual Linux Showcase and Conference on in cooperation with USENIX Association, pp.1-16, Oakland, California, November, 2001
  12. Snapshots in VxFS, http://www.veritas.com