mingming

VSS - Volume Shadow Copy Service 개념과 아키텍처 본문

Windows

VSS - Volume Shadow Copy Service 개념과 아키텍처

mingming_96 2025. 4. 25. 23:16

VSS - Volume Shadow Copy Service

윈도우에서 시스템 백업을 안정적으로 수행하려면, 단순히 파일을 복사하는 것만으로는 부족합니다.
운영체제가 동작 중일 때도 파일이 계속 변경되기 때문에, 정확하고 일관된 백업을 위해선 특별한 기술이 필요하죠.

그 해답이 바로 VSS(Volume Shadow Copy Service)입니다.


VSS란?

VSS는 Microsoft Windows에서 제공하는 백업 기술로, 시스템이 작동 중인 상태에서도 파일이나 볼륨의 '시점 복사본(Snapshot)'을 생성해 백업할 수 있도록 도와주는 서비스입니다.

파일이 사용 중이더라도, 해당 시점의 '정합성 있는' 복사본을 만들어 백업을 가능하게 해주는 기술입니다.

왜 필요한가요?

운영체제가 동작 중일 때, 일부 파일은 잠겨 있거나 계속해서 변경됩니다.
이런 상황에서도 데이터의 무결성과 정합성을 보장하면서 백업하려면, 다음과 같은 기능이 필요합니다.

  • 파일이 열려 있어도 백업 가능
  • 동작 중인 데이터베이스 백업 가능
  • 시스템 복원 지점 생성

어디에 사용되나요?

사용 사례 설명
Windows 백업 시스템 기본 백업 도구에서 VSS를 통해 스냅샷 생성
외부 백업 솔루션 Veeam, Acronis 등에서도 VSS를 활용
시스템 복원 Windows 복원 지점 생성 시 사용
파일 히스토리 이전 버전 복구 기능에 사용됨

 


VSS의 기본 구성 요소

구성 요소 설명 예시
Requestor 백업을 요청하는 소프트웨어 Windows Backup, Veeam
Writer 애플리케이션 상태 정리를 담당 SQL Server Writer, System Writer
Provider 실제 Shadow Copy 생성 담당 Microsoft Software Provider, SAN Provider

 

1. Writers

  • 정의: 애플리케이션이나 서비스가 데이터 일관성을 보장하기 위해 등록한 구성요소.
  • 예시: SQL Server, System Writer, IIS Writer 등
  • 역할: 백업 요청이 들어오면 애플리케이션의 데이터를 안정된 상태로 준비시켜줌 (예: 트랜잭션 일시 중단 등)

 

2. Volume Shadow Copy Service (VSS)

  • 이 구조의 중앙 컨트롤러.
  • 모든 구성요소(Requestor, Writer, Provider) 간의 조율 역할을 담당.
  • 복사 시점, 데이터 일관성 확보, 요청 흐름 관리 등 모든 것을 총괄함.

3. Requestor

  • 백업 프로그램 또는 사용자의 요청 주체.
  • 예: Windows Backup, Veeam, Acronis, 혹은 사용자의 vssadmin, wbadmin 명령
  • 역할: "이제 백업할 거니까 스냅샷 만들어줘!"라고 요청하는 주체

4. Providers

  • 실제로 Shadow Copy(스냅샷)를 생성하는 실무자
  • 세 가지 유형이 있음:
    1. System Provider
      • 기본적으로 Windows OS가 제공
      • 소프트웨어 기반의 shadow copy 생성
    2. Hardware Provider
      • SAN이나 고급 스토리지 장비에서 제공
      • 하드웨어 레벨에서 snapshot 제공 (고속 처리 가능)
    3. Software Provider
      • 써드파티 소프트웨어가 제공하는 provider (예: 백업 툴 )
  • 각 Provider는 연결된 Volume(디스크)에 대한 스냅샷을 생성함

VSS 아키텍처 구조

Volume Shadow Copy Service Diagram


VSS 동작 흐름

  1. 백업 요청 시작 → Requestor가 VSS 백업 요청
  2. Writer 준비 요청 → VSS는 모든 Writer에게 알림 → 애플리케이션은 데이터를 디스크에 기록하고 정리
  3. 스냅샷 생성 지시 → Writer 준비 완료 후, Provider에게 스냅샷 생성 요청
  4. Shadow Copy 생성 → 실제 시점 복사본 생성
  5. 백업 수행 → Requestor는 Shadow Copy를 통해 파일 백업

 

실무에서 유용한 VSS 명령어 모음

1. 기본 정보 조회

  • vssadmin list writers
    → Writer 상태 확인 (Writer 오류 진단에 유용)
  • vssadmin list providers
    → 설치된 Provider 목록 확인 (Microsoft 기본 or 서드파티)
  • vssadmin list shadows
    → 현재 생성된 Shadow Copy 목록 확인
  • vssadmin list volumes
    → VSS가 동작 가능한 볼륨 목록 확인
  • vssadmin list shadowstorage
    → 각 드라이브별 Shadow Copy 저장소 설정 확인

2. 스냅샷 정리 및 삭제

  • vssadmin delete shadows /for=C:
    → C 드라이브의 모든 스냅샷 삭제
  • vssadmin delete shadows /oldest /for=D:
    → D 드라이브에서 가장 오래된 스냅샷 하나만 삭제

3. Shadow Copy 저장소 설정

  • vssadmin resize shadowstorage /for=C: /on=C: /maxsize=10GB
    → C 드라이브의 VSS 저장소 최대 용량을 10GB로 제한
  • vssadmin delete shadowstorage /for=D: /on=D:
    → D 드라이브의 저장소 설정 초기화 (주의: 설정 삭제됨)

4. 고급 제어: DISKSHADOW (VSS 스크립트 도구)

diskshadow
> list writers                      # Writer 상세 목록 확인
> begin backup                     # 백업 세션 시작
> add volume C: alias SystemVol    # 백업 대상 볼륨 지정
> create                           # Shadow Copy 생성
> end backup                       # 백업 세션 종료

참고 팁

  • Writer 오류 발생 시: vssadmin list writers로 확인 후 해당 서비스 재시작
  • 서비스 재시작: net stop vss && net start vss
  • 로그 확인: "이벤트 뷰어 → 응용 프로그램 로그 → 소스: VSS" 에서 에러 원인 추적

 

이렇게 해서 VSS의 개념부터 아키텍처, 실무 활용까지 한눈에 정리해봤습니다.
윈도우 환경에서 안정적인 백업을 위해 왜 VSS가 중요한지, 그리고 어떤 방식으로 작동하는지 조금 더 명확하게 이해하는 데 도움이 되었길 바랍니다.