Have you heard of VSS (Volume Shadow Copy Service), a Windows-native technology for making application snapshots? Is this feature good enough to back up your virtualized server? Let’s find out.
First of all, let’s dig a bit into VSS. The general idea behind this service is that it coordinates the quiescence (quieting down) of applications so that a consistent backup can be created. It lets the application know that it’s being backed up, and, once finished, it tells the server and the application to complete post-backup cleanup activities.
But why is it important, and what would happen if the backup was taken without quiescence? Once the backup job begins, the backup solution starts transferring the files (let’s say a database) to the storage. If at this moment a user makes a new entry into the application, the database changes and now the files on the server and the files in a backup are slightly different. We just got inconsistency that will eventually result in a corrupted database upon restore! To avoid this, transactional-based applications like Microsoft Exchange, Active Directory, SQL Server, Oracle and others utilize VSS for proper backing up.
It’s a necessary technology, which was designed for file-level backup. But what if you need an image-level backup of a VM? Well, you can still leverage the VSS technology for application-aware image processing. It’s a fully automated, multi-step process:
The application that is installed onto a server also installs its own VSS writer. A VSS requestor (backup solution, for example) asks a server for a list of installed VSS writers and instructs them to quiescence their applications. When all of the applications quiet down, the VSS provider creates a point in time. Once it is done, the provider tells the writers about the current status of the operation and instructs them to perform post-backup tasks. After that, the applications continue running in regular mode.
What’s good about application-aware image processing is that you can do it without deploying any persistent agents. A small coordination runtime is injected into each VM once the backup starts and is automatically removed right after it’s complete. You don’t need to manually deploy, configure, update and monitor agents on each VM.
So, if you want to leverage application-level quiescence for backup snapshots, make sure you enable application-aware image processing for each VM.
To learn more you can also check out The VSS role in vSphere, Hyper-V and agent-assisted backups.
Dmitry Kniazev is a technical product marketing coordinator for Veeam and is based in Saint Petersburg, Russia. Dmitry specializes in virtualization, Linux and data Availability. Follow Dmitry on Twitter @VMDmitry.