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(스냅샷)를 생성하는 실무자들
- 세 가지 유형이 있음:
- System Provider
- 기본적으로 Windows OS가 제공
- 소프트웨어 기반의 shadow copy 생성
- Hardware Provider
- SAN이나 고급 스토리지 장비에서 제공
- 하드웨어 레벨에서 snapshot 제공 (고속 처리 가능)
- Software Provider
- 써드파티 소프트웨어가 제공하는 provider (예: 백업 툴 )
- System Provider
- 각 Provider는 연결된 Volume(디스크)에 대한 스냅샷을 생성함
VSS 아키텍처 구조
VSS 동작 흐름
- 백업 요청 시작 → Requestor가 VSS 백업 요청
- Writer 준비 요청 → VSS는 모든 Writer에게 알림 → 애플리케이션은 데이터를 디스크에 기록하고 정리
- 스냅샷 생성 지시 → Writer 준비 완료 후, Provider에게 스냅샷 생성 요청
- Shadow Copy 생성 → 실제 시점 복사본 생성
- 백업 수행 → 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가 중요한지, 그리고 어떤 방식으로 작동하는지 조금 더 명확하게 이해하는 데 도움이 되었길 바랍니다.