Shadow Copy (also known as Volume Snapshot Service, Volume Shadow Copy Service or VSS) is a technology included in Microsoft Windows that can create backup copies or snapshots of computer files or volumes, even when they are in use. It is implemented as a Windows service called the Volume Shadow Copy service. A software VSS provider service is also included as part of Windows to be used by Windows applications. Shadow Copy technology requires either the Windows NTFS or ReFS filesystems in order to create and store shadow copies. Shadow Copies can be created on local and external (removable or network) volumes by any Windows component that uses this technology, such as when creating a scheduled Windows Backup or automatic System Restore point.

Overview
VSS operates at the block level of volumes.

A snapshot is a read-only point-in-time copy of the volume. Snapshots allow the creation of consistent backups of a volume, ensuring that the contents do not change and are not locked while the backup is being made.

The core component of shadow copy is the Volume Shadow Copy service, which initiates and oversees the snapshot creation process. The components that perform all the necessary data transfer are called providers. While Windows comes with a default System Provider, software and hardware vendors can create their own software or hardware providers and register them with Volume Shadow Copy service. Each provider has a maximum of 10 seconds' time to complete the snapshot generation.

Other components that are involved in the snapshot creation process are writers. The aim of Shadow Copy is to create consistent reliable snapshots. But sometimes, this cannot simply be achieved by completing all pending file change operations. Sometimes, it is necessary to complete a series of inter-related changes to several related files. For example, when a database application transfers a piece of data from one file to another, it needs to delete it from the source file and create it in the destination file. Hence, a snapshot must not be between the first deletion and the subsequent creation, or else it is worthless; it must either be before the deletion or after the creation. Enforcing this semantic consistency is the duty of writers. Each writer is application-specific and has 60 seconds to establish a backup-safe state before providers start snapshot creation. If the Volume Shadow Copy service does not receive acknowledgement of success from the corresponding writers within this time-frame, it fails the operation.

By default, snapshots are temporary; they do not survive a reboot. The ability to create persistent snapshots was added in Windows Server 2003 onward. However, Windows 8 removed the GUI portion necessary to browse them. ()

Windows software and services that support VSS include Windows Failover Cluster, Windows Server Backup, Hyper-V, Virtual Server, Active Directory, SQL Server, Exchange Server and SharePoint.

The end result is similar to a versioning file system, allowing any file to be retrieved as it existed at the time any of the snapshots was made. Unlike a true versioning file system, however, users cannot trigger the creation of new versions of an individual file, only the entire volume. As a side-effect, whereas the owner of a file can create new versions in a versioning file system, only a system administrator or a backup operator can create new snapshots (or control when new snapshots are taken), because this requires control of the entire volume rather than an individual file. Also, many versioning file systems (such as the one in VMS) implicitly save a version of files each time they are changed; systems using a snapshotting approach like Windows only capture the state periodically.

History

Windows XP and Server 2003
Volume Snapshot Service was first added to Microsoft Windows in Windows XP. It can only create temporary snapshots, used for accessing stable on-disk version of files that are opened for editing (and therefore locked). This version of VSS is used by NTBackup.

The creation of persistent snapshots (which remain available across reboots until specifically deleted) has been added in Windows Server 2003, allowing up to 512 snapshots to exist simultaneously for the same volume. In Windows Server 2003, VSS is used to create incremental periodic snapshots of data of changed files over time. A maximum of 64 snapshots are stored on the server and are accessible to clients over the network. This feature is known as Shadow Copies for Shared Folders and is designed for a client–server model. Its client component is included with Windows XP SP2 or later, and is available for installation on Windows 2000 SP3 or later, as well as Windows XP RTM or SP1.

Windows XP and later include a command line utility called vssadmin that can list, create or delete volume shadow copies and list installed shadow copy writers and providers.

Windows Vista, 7 and Server 2008 
Microsoft updated a number of Windows components to make use of Shadow Copy. Backup and Restore in Windows Vista, Windows Server 2008, Windows 7 and Windows Server 2008 R2 use shadow copies of files in both file-based and sector-by-sector backup. The System Protection component uses VSS when creating and maintaining periodic copies of system and user data on the same local volume (similar to the Shadow Copies for Shared Folders feature in Windows Server); VSS allows such data to be locally accessed by System Restore.

System Restore allows reverting to an entire previous set of shadow copies called a restore point.
Prior to Windows Vista, System Restore depended on a file-based filter that watched changes for a certain set of file extensions, and then copied files before they were overwritten. In addition, a part of Windows Explorer called Previous Versions allows restoring individual files or folders locally from restore points as they existed at the time of the snapshot, thus retrieving an earlier version of a file or recovering a file deleted by mistake.

Finally, Windows Server 2008 introduces the diskshadow utility which exposes VSS functionality through 20 different commands.

The system creates shadow copies automatically once per day, or when triggered by the backup utility or installer applications which create a restore point. The "Previous Versions" feature is available in the Business, Enterprise, and Ultimate  editions of Windows Vista and in all Windows 7 editions. The Home Editions of Vista lack the "Previous Versions" feature, even though the Volume Snapshot Service is included and running. Using third-party tools it is still possible to restore previous versions of files on the local volume.
Some of these tools also allow users to schedule snapshots at user-defined intervals, configure the storage used by volume-shadow copies and compare files or directories from different points-in-time using snapshots.
Windows 7 also adds native support through a GUI to configure the storage used by volume-shadow copies.

Windows 8 and Server 2012
While supporting persistent shadow copies, Windows 8 lacks the GUI portion necessary to browse them; therefore the ability to browse, search or recover older versions of files via the Previous Versions tab of the Properties dialog of files was removed for local volumes. However, using third party tools (such as ShadowExplorer) it is possible to recover that functionality.  The feature is fully available in Windows Server 2012.

Windows 10
Windows 10 restored the Previous Versions tab that was removed in Windows 8; however, in earlier builds it depended upon the File History feature instead of Volume Shadow copy.  Current builds now allow restoration from both File History and System Protection (System Restore) points, which use Volume Shadow Copy.

Windows 11 
Windows 11 continues to have a similar system as windows 10. The File History and Volume Shadow copy. It is disabled by default but can be turned on with options in settings and control panel.

Samba Server
Samba on Linux is capable of providing Shadow Copy Service on an LVM-backed storage or with an underlying ZFS or btrfs.

Compatibility
While the different NTFS versions have a certain degree of both forward and backward compatibility, there are certain issues when mounting newer NTFS volumes containing persistent shadow copies in older versions of Windows. This affects dual-booting, and external portable hard drives. Specifically, the persistent shadow copies created by Windows Vista on an NTFS volume are deleted when Windows XP or Windows Server 2003 mount that NTFS volume. This happens because the older operating system does not understand the newer format of persistent shadow copies. Likewise, System Restore snapshots created by Windows 8 are deleted if they are exposed to a previous version of Windows.

See also

 List of Microsoft Windows components
 Snapshot (computer storage)
 Copy-on-write

References

Further reading

 
 
 
 
 

Windows services
Windows administration
섀도 복사본(shadow copy), 볼륨 스냅샷 서비스(Volume Snapshot Service)는 윈도우 XP 서비스팩 1, 윈도우 서버 2003, 윈도우 비스타, 윈도우 서버 2008, 윈도우 7에 내장된 기능으로, 특정한 시각의 파일, 폴더 또는 특정한 볼륨의 수동 또는 자동 복사본이나 스냅샷을 저장해둔 것을 말한다. 윈도우 2000 제품군의 서비스팩 3 이상은 클라이언트 기능만 지원되고, 윈도우 XP 서비스팩 1과 윈도우 XP 서비스팩 2는 비활성화되어 있다. 윈도우 2000과 윈도우 XP는 파일을 백업하기 위해 NT백업과 "볼륨 섀도 복사본" 서비스에 쓰인다. 윈도우 비스타에서는 마이크로소프트 윈도우의 백업 유틸리티인 시스템 복원과 이전 버전의 기능에 쓰인다.

개요 
스냅샷에서는 두 가지 주된 목적이 있다.
 첫째로는 일정한 볼륨 백업본을 만들어서 백업을 하는 동안 내용이 바뀌지 않도록 보증하는 것이다.
 나머지 하나는 파일 잠금의 문제를 피하는 것이다.
읽기 전용인 볼륨 복사본을 만들면서, 백업 프로그램은 다른 프로그램이 같은 파일에 쓰기를 하는 간섭 과정 없이 모든 파일에 접근할 수 있다.
윈도우 XP 프로페셔널, MCE, 윈도우 서버 2003 이후의 운영 체제에 포함된 마이크로소프트의 NT백업 유틸리티는 이러한 메커니즘을 이용한다. 또한 사용자는 스냅샷에 존재했던 파일에 접근할 수 있으므로 이전 버전의 파일을 탐색하거나 실수로 지워진 파일을 복구할 수 있다.

최종 결과는 저장된 스냅샷의 어떠한 파일이든 검색할 수 있다는 면에서 버전 파일 시스템과 비슷하다. 그러나 진정한 버전 파일 시스템과는 달리 사용자는 개개의 파일의 새로운 복사본을 만들 수는 없다. (완전한 볼륨만 만들 수 있다) 파일 소유자가 버전 파일 시스템의 새로운 버전을 만들 수 있을 경우, 오직 시스템 관리자나 백업 운영자만이 새로운 스냅샷을 만들 수 있다는 부작용이 있다. (개개의 파일이 아닌 완전한 볼륨의 제어를 요구하기 때문이다.) 또, VMS와 같은 수많은 버전 파일 시스템은 변경할 때마다 파일 버전을 저장하는 반면, 윈도우 비스타와 같은 스냅샷 접근을 사용하는 시스템은 주기적으로 상태를 저장한다.

역사 
스냅샷 기능은 윈도우 XP에 처음 추가되었다. 이 버전은 영속적이지 않은 스냅샷만 만들어 낼 수 있다. (일시적인 스냅샷으로, 보통은 백업본이나 더 일반적으로 접근하는 '응용 프로그램이 편집을 위해 잠가 둔' 파일의 복사본을 만드는 데 쓰인다) 영속적인 스냅샷을 만드는 것은 윈도우 서버 2003에 추가되었으며 최대 512 개의 스냅샷이 같은 볼륨에 동시에 존재하며 여기서 최대 64 개의 스냅샷이 공유 폴더 기능의 섀도 복사본에 쓰일 수 있다. 공유 폴더 기능의 섀도 복사본은 시간이 지남에 따라 변경되는 차이점이나 파일을 자동으로 만들어 낸다. 그러나 이 기능은 서버의 스냅샷이 네트워크를 통해 원격으로 접근할 수 있는 클라이언트 서버 모델을 위해 고안되었다. 32비트 윈도우 플랫폼을 위한 이 소프트웨어의 복사본은 서버에서 사용할 수 있다. 이 클라이언트 소프트웨어는 윈도우 XP 서비스팩 2에서 기본으로 포함되어 있다.

윈도우 비스타의 섀도 복사본 
윈도우 비스타에서 재기록 백업 유틸리티는 또한 섀도 복사본을 사용하여 수동으로 파일을 백업한다. 또한, 공유 폴더 기능의 섀도 복사본이 "이전 버전"으로 불리며, 독립 컴퓨터 위의 파일에 사용된다. 증식 스냅샷을 사용하여 로컬 볼륨에 있는 파일의 백업 복사본을 저장하며 나중에 복원할 수도 있다. 백업 복사본은 시간이 지남에 따라 자동으로 만들어지며 백업 유틸리티를 사용할 때 수동으로 직접 만들 수도 있다. "이전 버전" 기능은 비즈니스, 엔터프라이즈, 얼티밋 에디션에서 이용할 수 있다. 홈 에디션의 경우 볼륨 스냅샷 서비스가 포함되어 실행 중이더라도 "이전 버전"의 기능을 지원하지 않는다. 그러나 서드 파티 도구를 사용하면 손상되거나 변경된 파일을 복원할 수 있다.

윈도우 비스타의 시스템 복원은 이제 섀도 복사본을 기반으로 하고 있다. 윈도우 비스타 이전 버전의 경우, 시스템 복원은 특정한 파일 확장자의 모임의 변경 사항을 감시하던 파일 기반의 필터에 기반을 두고 있었다.

NTFS 상위 호환 
다른 버전의 NTFS들이 상위 호환성과 하위 호환성을 어느 정도 가지고 있지만, 새로운 NTFS 볼륨을 오래된 버전의 윈도우에서 마운트하려면 기술적인으로 고려해야 할 사항이 있다. 듀얼 부팅과 외장형 휴대용 하드 드라이브에 영향을 미치기 때문이다.

이를테면, 옛 운영 체제가 새로운 기능의 데이터를 지속적으로 업데이트하는 방법을 알지 못할 경우 "이전 버전"(섀도 복사본)은 손상된다.

명령 줄 인터페이스 
윈도우는 현재이 볼륨 섀도 복사본 백업과 설치된 모든 섀도 복사본 기록자, 공급자들을 처리할 수 있는 명령어인 vssadmin를 포함하고 있다.

예 
다음의 명령어는 설치된 모든 볼륨 섀도 복사본 제공자를 보여 준다.:

 vssadmin list providers

다음의 명령어는 볼륨 C:에 해당하는 새로운 볼륨 섀도 복사본을 만들어 낸다.:

 vssadmin create shadow /for=c:

같이 보기 
 파일 잠금
 타임 머신 (소프트웨어)

각주

외부 링크 
 볼륨 섀도 복사본 서비스 동작 원리

윈도우 구성 요소