Web Server

백업과 스냅샷의 개념 및 차이점

gamjadori 2024. 8. 16. 11:57
728x90

<백업 Backup>

  • 스토리지에 저장된 데이터의 사본을 만들어 다른 곳에 위치시키는 것
  • 데이터를 복제하는 동안 데이터가 수정/변경될 수 있어 데이터 연속성을 유지하는 데 주의

<백업 종류>

  • 전체 백업: 데이터 변경 유무랑 상관없이 전체 데이터의 복사본을 만드는 백업 방식
  • 차등 백업: 전체 백업 이후에 변경/추가된 데이터를 모두 포함하여 백업
  • 증분 백업: 마지막 백업 (어떤 백업이든 상관없이) 이후에 변경/추가된 데이터만 백업하는 방식

>> 차등 백업과 증분 백업의 차이: 차등 백업은 전체 백업 기준이고, 증분 백업은 맨 처음에는 전체 백업하고, 그 뒤로 차등이든 증분이든 백업 진행된 마지막 백업을 기준으로 하여 수정된 데이터 백업 진행

 

<스냅샷 Snapshot>

  • 특정 시점에 스토리지의 파일 시스템을 포착해 보관하는 기술로, 장애나 데이터 손상 시 스냅샷을 생성한 시점으로 데이터 복구 (게임 체크 포인트랑 비슷한 개념)
  • 원본 데이터를 그대로 복사해 다른 곳에 저장하는 백업과 달리 초기 생성 시 혹은 데이터의 변경이 있기 전까지는 스토리지의 공간을 차지하지 않음
  • 메타데이터(데이터에 대한 부가적인 정보)의 복사본에 해당하기 때문에 생성하는 데 오랜 시간이 걸리지 않고, 장애 상황이 발생해도 빠르게 데이터 복원 가능

<스냅샷 방식>

1. CoW(Copy on Write)

  • 쓰기 작업(Write)이 있을 때 미리 확보해 놓은 스냅샷 할당 공간에 데이터를 복제(copy)

>> 실질적인 데이터 처리는 데이터가 변경되는 시점에서 이루어짐.

  • 스냅샷 생성 시 데이터를 바로 복제하지 않고 스냅샷에 대한 메타데이터만 만들어 놓기 때문에 생성 시점에서 부하는 거의 발생하지 않음

2. RoW(Redirect on Write)

  • 쓰기 요청(write) 발생 시 변경된 데이터 블록을 새로운 공간으로 쓰기 위치를 재지정(redirect) 하는 방식
  • 별도의 스냅샷 할당 공간을 가지는 CoW 스냅샷과는 다르게 변경되는 데이터를 여분의 공간에 직접 쓰기를 진행해 '복사-붙여넣기' 과정 하나를 생략할 수 있어 스토리지와 CPU의 오버헤드를 줄임

 

<스냅샷과 백업의 차이점>

  1. 원본 데이터 종속성: 스냅샷은 원본의 완벽한 복사본이 아니기 때문에 원본 데이터가 저장된 공간에 오류가 발생할 경우 복구 불가능(스냅샷의 단점)하지만, 반면 백업의 경우 데이터 전체를 완전한 형태의 사본으로 복제해 저장하기 때문에 원본 데이터가 사라져도 백업된 시점의 데이터 복구 가능
  2. 작업에 따른 부하 및 소요 시간: 스냅샷은 전체 데이터를 복제하지 않기 때문에 스냅샷 생성 및 데이터 복원에 소요되는 시간 단축 가능 및 수정이 필요한 부분의 원본 데이터만을 입력해두기 때문에 전체를 복제하는 백업보다 오버헤드를 줄일 수 있음

>> 빈번한 업데이트를 진행하거나 데이터 수정이 잦은 경우에 스냅샷 활용