mingming

VSS 실습하기 - Volume Shadow Copy 본문

Windows

VSS 실습하기 - Volume Shadow Copy

mingming_96 2025. 4. 26. 21:01

VSS 실습하기 - Volume Shadow Copy 직접 해보기

VSS (Volume Shadow Copy Service)는 이론만 이해해서는 부족합니다.
직접 실습해보면 시스템이 어떻게 스냅샷을 생성하고, 어떤 흐름으로 백업을 가능하게 하는지 체감할 수 있습니다.

이번 글에서는 Windows에서 기본 제공하는 명령어 도구를 이용해 VSS를 실습해보겠습니다.


🔍 실습 환경

  • OS: Windows Server 2019
  • 권한: 관리자 권한 필수

1. Writer 상태 확인

가장 먼저 VSS Writer들이 정상적으로 준비되어 있는지 확인합니다.

vssadmin list writers

정상적인 경우 다음과 같은 출력이 나옵니다:

작성자 이름: 'System Writer'
   작성자 Id: {e8132975-6f93-4464-a53e-1050253ae220}
   작성자 인스턴스 Id: {c106c609-48f4-4821-a2c7-592f2dba960c}
   상태: [1] 안정적
   마지막 오류: 오류 없음

👉 State가 "안정적" 이고 마지막 오류가 "오류 없음"이면 정상입니다.


2. Shadow Copy Provider 확인

vssadmin list providers

기본적으로 아래와 같은 Microsoft Software Shadow Copy provider가 존재합니다:

공급자 이름: 'Microsoft File Share Shadow Copy provider'
   공급자 유형: 파일 공유
   공급자 Id: {89300202-3cec-4981-9171-19f59559e0f2}
   버전: 1.0.0.1

공급자 이름: 'Microsoft Software Shadow Copy provider 1.0'
   공급자 유형: 시스템
   공급자 Id: {b5946137-7b9f-4925-af80-51abd60b20d5}
   버전: 1.0.0.7

3. Shadow Copy 수동 생성

명령어로 수동 스냅샷을 만들어 봅니다.

wmic shadowcopy call create Volume=C:\

성공 시 다음과 같은 메시지가 출력됩니다:

Executing (Win32_ShadowCopy)->Create()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
{
    ReturnValue = 0;
    ShadowID = "{GUID}";
};

👉 ShadowID가 나오면 성공입니다.


4. 생성된 Shadow Copy 목록 확인

vssadmin list shadows

이전에 만든 스냅샷 정보가 출력됩니다.

섀도 복사본 세트 ID의 콘텐츠: {f51476dd-0a45-48a1-ad7f-c6120cdec029}
   다음 작성 시간에 1 섀도 복사본 포함: 2025-04-26 오후 6:17:45
      섀도 복사본 ID: {6ff3259f-72a7-45d9-a062-05be8b29bc59}
         원본 볼륨: (C:)\\?\Volume{a77a487f-0000-0000-0000-602200000000}\
         섀도 복사본 볼륨: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
         원본 컴퓨터: WIN-J2IBS83E48R
         서비스 컴퓨터: WIN-J2IBS83E48R
         공급자: 'Microsoft Software Shadow Copy provider 1.0'
         형식: ClientAccessible
         특성: Persistent, Client-accessible, No auto release, No writers, Differential

 

vssadmin list shadowstorage

Shadow Copy가 생성되면서 Sahdow Storage가 같이 생성됩니다.

 

섀도 복사본 저장소 연결
   볼륨: (C:)\\?\Volume{a77a487f-0000-0000-0000-602200000000}\
   섀도 복사본 저장소 볼륨: (C:)\\?\Volume{a77a487f-0000-0000-0000-602200000000}\
   사용된 섀도 복사본 저장소 공간: 97.9MB(0%)
   할당된 섀도 복사본 저장소 공간: 414MB(0%)
   최대 섀도 복사본 저장소 공간: 4.95GB(10%)

5. Shadow Copy를 통한 복구 테스트

생성된 Sahdow Copy를 복구하는 방법에는 Windows 탐색기를 사용하는 방법과 Command Line을 이용하는 방법이 있습니다.

  1. Windows 탐색기 이용
    • Shadow Copy가 생성된 디스크 속성 → 섀도 복사본 탭 → 특정 시점 선택 후 되돌리기
    • 스냅샷을 수행한 디스크의 속성에서 Shadow 목록을 확인할 수 있으며, 해당 버전으로 되돌릴 수 있습니다.
    • 디스크 속성의 이전 버전 탭에서 특정 시점의 파일 경로를 열어 확인할 수 있습니다.
    • 디스크 단위로 복구도 가능하지만, 폴더 단위로도 특정 시점으로 되돌릴 수 있습니다.
  2. vssadmin 명령어 이용
    • vssadmin revert shadows /Shadow={{shadowID}
    • vssadmin revert 명령어 사용시 제약사항
      지원 볼륨 일반 데이터 볼륨(D:, E:) 등만 가능
      불가 볼륨 C: (운영체제 볼륨) 절대 불가
      클러스터 디스크 불가 (CSV, 공유 디스크 등)
      조건 해당 Shadow Copy가 ClientAccessible 타입이어야 하고, 디스크 상태가 깨끗해야 함
      실패 케이스 "운영체제 파일이 포함되어 있어서 복원할 수 없습니다." 에러 발생

 

💡 팁: net use 명령어를 통해 특정 시점의 shadow를 마운트해 사용할 수 있습니다.

net use Z: \\localhost\C$  ## C드라이브 숨긴 공유 폴더
Z:
cd Z:\@GMT-날짜시간

6. 생성된 스냅샷 삭제

테스트 후 불필요한 스냅샷은 삭제해주는 것이 좋습니다.

vssadmin delete shadows /for=C: /oldest

👉 가장 오래된 스냅샷을 삭제합니다.
반복 실행하면 모든 스냅샷을 정리할 수 있습니다.

vssadmin delete shadows /Shadow={shadowID}

👉  특정 Shadows 스냅샷 삭제


✅ 마무리

  • VSS는 Writer / Provider / Requestor 간의 협력으로 동작
  • 명령어를 통해 Writer 상태 점검 → 스냅샷 생성 → 복구 확인 → 삭제까지 실습 가능

👉  다음 글에서는 DiskSahdow 명령어를 통한 shadow 관리 및 백업 및 복구에 대해 다뤄보겠습니다.