Windows Volume Shadow Copy Service

Microsoft added VSS to Windows XP and Windows 2003. From the perspective of a backup-solution for Windows, this is an extremely important step. VSS allows Bacula to backup open files and even to interact with applications like RDBMS to produce consistent file copies. VSS aware applications are called VSS Writers, they register with the OS so that when Bacula wants to do a Snapshot, the OS will notify the register Writer programs, which may then create a consistent state in their application, which will be backed up. Examples for these writers are “MSDE” (MSDE), “Event Log Writer”, “Registry Writer” plus 3rd party-writers. If you have a non-vss aware application (e.g. SQL Anywhere), a shadow copy is still generated and the open files can be backed up, but there is no guarantee files are consistent.

Bacula produces a message from each of the registered writer programs when it is doing a VSS backup so you know which ones are correctly backed up.

Technically Bacula creates a shadow copy as soon as the backup process starts. It does then backup all files from the shadow copy and destroys the shadow copy after the backup process. Please have in mind, that VSS creates a snapshot and thus backs up the system at the state it had when starting the backup. It will disregard file changes which occur during the backup process.

VSS can be turned on by placing an

Enable VSS = yes

in your Fileset resource.

The VSS aware File daemon has the letters VSS on the signon line that it produces when contacted by the console. For example:

windows-fd Version: 16.0.6 (06 June 2023)  VSS Linux Cross-compile Win64

the VSS is shown in the line above. This only means that the File daemon is capable of doing VSS not that VSS is turned on for a particular backup. To confirm VSS is actually turned on during a backup please check the joblog, it will show something as below:

2023-10-02 14:33:38 sldc1 JobId 21314: Generate VSS snapshots. Driver="Win64 VSS"
2023-10-02 14:33:38 sldc1 JobId 21314:     Snapshot mount point: C:\
2023-10-02 14:34:11 sldc1 JobId 21314: VSS Writer (BackupComplete): "Task Scheduler Writer", State: 0x1 (VSS_WS_STABLE)
2023-10-02 14:34:11 sldc1 JobId 21314: VSS Writer (BackupComplete): "VSS Metadata Store Writer", State: 0x1 (VSS_WS_STABLE)
2023-10-02 14:34:11 sldc1 JobId 21314: VSS Writer (BackupComplete): "Performance Counters Writer", State: 0x1 (VSS_WS_STABLE)
2023-10-02 14:34:11 sldc1 JobId 21314: VSS Writer (BackupComplete): "System Writer", State: 0x1 (VSS_WS_STABLE)
2023-10-02 14:34:11 sldc1 JobId 21314: VSS Writer (BackupComplete): "ASR Writer", State: 0x1 (VSS_WS_STABLE)
2023-10-02 14:34:11 sldc1 JobId 21314: VSS Writer (BackupComplete): "Shadow Copy Optimization Writer", State: 0x1 (VSS_WS_STABLE)
2023-10-02 14:34:11 sldc1 JobId 21314: VSS Writer (BackupComplete): "Certificate Authority", State: 0x1 (VSS_WS_STABLE)
2023-10-02 14:34:11 sldc1 JobId 21314: VSS Writer (BackupComplete): "Registry Writer", State: 0x1 (VSS_WS_STABLE)
2023-10-02 14:34:11 sldc1 JobId 21314: VSS Writer (BackupComplete): "WMI Writer", State: 0x1 (VSS_WS_STABLE)
2023-10-02 14:34:11 sldc1 JobId 21314: VSS Writer (BackupComplete): "Dhcp Jet Writer", State: 0x1 (VSS_WS_STABLE)
2023-10-02 14:34:11 sldc1 JobId 21314: VSS Writer (BackupComplete): "COM+ REGDB Writer", State: 0x1 (VSS_WS_STABLE)
2023-10-02 14:34:11 sldc1 JobId 21314: VSS Writer (BackupComplete): "NTDS", State: 0x1 (VSS_WS_STABLE)

In the above joblog, you see that the VSS snapshot was generated for drive C (if other drives are backed up, they will be listed as well. You also see the reports from each of the writer program. Here they all report VSS_WS_STABLE, which means that you will get a consistent snapshot of the data handled by that writer.

Go back to: NAS and HPC.