A Volume Shadow Copy Service-based backup (VSS-based backup) is a Windows service that captures and creates snapshots called shadow copies. VSS, also known as Volume Snapshot Service, operates at the block level of the file system and enables virtual server backup in Microsoft environments.
In addition to the service itself, Windows VSS has three major components:
- VSS writer: Each VSS-aware application installs its own VSS writer to a computer during the initial installation. The VSS writer tells the backup tool how to back up the application and its data. VSS writers are commonly included within database-driven applications such as Active Directory or Exchange Server. Database servers such as Microsoft SQL Server also contain VSS writers.
- VSS requestor: The VSS requestor initiates the backup process. Any application that needs to quiesce data for capture can play the role of VSS requestor. In a majority of cases the backup application acts as the VSS requestor.
- VSS provider: VSS providers allow the VSS backup process to work with the system's hardware and operating system (OS). Providers are modular, and a single system often contains multiple providers. OS providers allow VSS to be operating system-aware. Similarly, hardware providers act as a proxy between the VSS service and hardware components such as storage arrays. For example, a storage-level hardware provider may create the snapshot used during the backup process.
How VSS-based backup works
A Volume Shadow Copy Service-based backup uses two different methods to create shadow copies:
- Clone. A clone is a full, synchronized copy of a volume's data. It can sometimes be referred to as a full copy or split mirror. The mirror can be used to create backups or used in development/test environments.
- Copy-on-write architecture. Copy-on-write creates differential data copies rather than full backup copies. Data is copied before it is overwritten to ensure the overwritten data can be restored if necessary.
How are shadow copies created?
The VSS requestor (usually a backup application) will announce its need to create a server snapshot and query the server to determine which VSS writers have been installed. The VSS requestor then instructs each VSS writer to perform a task to quiesce data. After each VSS writer has completed these pre-backup tasks, the VSS requestor instructs the VSS provider to create the snapshot. When the backup is done, the VSS requestor announces it has completed its activities. This announcement instructs each VSS writer to perform any needed post-backup tasks so the computer and its applications can return to regular operation.