what-is-snapshot

클라우드 스냅샷이란?

기업의 소중한 데이터를 보호하기 위해 IT 관리자는 장애 발생 시의 재해 복구 및 백업 시나리오를 염두에 두어야 합니다. 그렇지 않으면 예기치 않은 데이터 사고 발생 시 빠르게 데이터를 원상복구하는 등 적절하게 대응할 수 없습니다.

아래에서는 클라우드 인프라 이용 시 데이터 보호에 있어 가장 많이 거론되는 클라우드 스냅샷의 정의와 방식에 대해 알아보도록 하겠습니다.

스냅샷(Snapshot)이란?

스냅샷은 마치 사진 찍듯이 특정 시점에 스토리지의 파일 시스템을 포착해 보관하는 기술을 의미합니다. Windows OS의 복원 지점과 같이 장애나 데이터 손상 시 스냅샷을 생성한 시점으로 데이터를 복구할 수 있습니다.

스냅샷은 원본 데이터를 그대로 복사해 다른 곳에 저장하는 백업과 달리 초기 생성 시 혹은 데이터의 변경이 있기 전까지는 스토리지의 공간을 차지하지 않습니다. 또 메타데이터(데이터에 대한 부가적인 정보)의 복사본에 해당하기 때문에 생성하는 데 오랜 시간이 걸리지 않고, 장애 상황이 발생해도 빠르게 데이터를 복원할 수 있습니다.

스냅샷 방식은 크게 Cow(Copy on Write)와 RoW(Redirect on Write)로 나뉩니다.

Cow 방식의 경우 원본 데이터에 대한 메타데이터만 활용해 스냅샷을 생성하고, 추후 원본 데이터에 수정이 필요할 때 해당 데이터를 스냅샷이 저장된 스토리지 공간으로 복사합니다. 이후 데이터를 수정하기 때문에 스냅샷 데이터가 일관성을 유지할 수 있고, 변경된 데이터만을 저장해 스토리지 공간을 효율적으로 사용할 수 있습니다.

RoW 방식은 CoW 방식에서의 I/O 과정에서 발생하는 오버헤드를 줄여줍니다. RoW 방식의 경우 스냅샷을 위한 별도의 스토리지 공간을 확보할 필요가 없으며, 데이터 변경이 필요한 경우 기존 데이터와 스냅샷 리스트를 고정(Freeze)한 채 새로운 공간에 수정된 데이터를 작성해 관리합니다.

이러한 RoW 방식은 두 번의 쓰기 작업이 필요한 CoW 방식(스냅샷 공간에 원본 데이터를 한 차례 삽입(Write)하고 뒤이어 수정 사항을 입력(Write))과 달리 새로운 공간에 단 한 차례만 수정 데이터를 입력(Write)하면 되기 때문에 보다 나은 성능을 보여줍니다.

[백업 시리즈 보기]
클라우드 백업이란?
[클라우드 이해] 스냅샷과 백업의 차이점