The Volume Shadow Copy Service (VSS) was originally added to Windows Server 2003. The first version of Exchange Server to support VSS was Exchange Server 2003. The primary reason for the existence of VSS is to improve the performance of backup operations. VSS is only available for NTFS volumes.
VSS has three main components:
- the requester - the backup application (Backup Exec)
- the provider - an operating system component that sits "on top of" the file system and mediates access to a VSS copy, while that VSS copy is active
- the writer - an application component that has registered with the provider to enable support for an application that needs extra processing prior to a VSS backup (typically to flush buffers to disk)
A VSS Backup Overview
A VSS backup consists of five separate phases. Errors can occur and cause a backup to fail in any phase. The phase names are:
Backup Exec Exchange Agent backup using VSS
Below is an example of backing up an Exchange server with the Backup Exec Exchange Agent and only the Exchange portion of the server. The process will go like this:
1. Backup Exec calls VSS and says that it wants to back up Exchange and only Exchange
2. VSS calls the Exchange Writer with PrepareBackup.
3. Asynchronously, Exchange initiates a transaction log switch and pauses the Lazy Writer process (which is responsible for flushing updates from the memory cache to the Exchange database) and the Log Writer process (which writes updates to a log file).
4. VSS calls the Exchange Writer with Freeze
5. Exchange waits for the transaction log switch to be complete and for the Lazy Writer and Log Writer processes to be paused
6. VSS creates the snapshot
7. VSS calls the Exchange Writer with Thaw
8. Exchange un-pauses the Lazy Writer and the Log Writer processes
9. Backup Exec will back up all system files (Exx.CHK for each storage group), all log files (Exx*.log for each storage group), and all database files (*.EDB for each database) and return success or failure back to VSS
10. VSS calls the Exchange Writer with PostBackup with the status of the backup
11. If the backup was successful, transaction log files will be flushed
12. Backup Exec disconnects from VSS and the backup is complete