VSS (Volume Shadow-Copy Service) is a Microsoft Windows service that allows backup and snapshot applications to “quiesce” applications –, i.e., put them on a consistent on-disk state before taking a backup. Application-consistent snapshots are used to ensure on-disk consistency for applications, and they can also help reduce recovery time for database applications.
In addition to the service itself, there are three essential types of components all residing within the Windows guest VM: Writer, Requester, and Provider.
The application, for example, SQL Server, provides a VSS Writer with a quiesce API that is invoked at backup time. VSS Requesters (aka agents) initiate the quiesce call. VSS Providers (aka “hardware providers”) provides the ability to perform the shadow copy (snapshot) operation.
Datrium has created its own VSS Requester and VSS Provider to perform native instant app-consistent snapshots for Microsoft workloads.
With this first release of Datrium VSS Provider, we support Windows Server 2008 R2 and above, and Microsoft SQL 2005 onwards. Microsoft Exchange and Active Directory Controllers will be allowed in the future.
Due to the native integration with the Datrium platform, where both the VM metadata and the data lives, Datrium eliminates VM stun times and drastically reduce the application performance dip. As a result, admins can take VM-level pause-less snapshots of applications with high change rates and at greater frequencies for more granular recovery points; up to 1.2 Million snapshots are supported.
To enable VSS, you need to install Datrium’s Requester and Provider within the Windows guest VM. The installer can be downloaded from the DVX UI, and it will verify that VMware Tools is installed in the VM.
The second step involves creating a Protection Group (PG) for which application-consistent snapshots are enabled. If for any reason the Windows guest does not quiesce the application using VSS, then a crash-consistent snap of the VM is automatically taken, and the system marks the PG Snap and the VM Snap (so that they are visible to the admin as not application-consistent).
Microsoft describes the entire Shadow Copy Creation Process here.
What makes Datrium DVX VSS special and better?
DVX maintains two distinct “namespaces.” The “datastore” contains the current, live version of all VMs and files. This is what the hypervisor sees. The contents of these files always contain the most recently written data.
The “snapstore” on the other hand contains previous point-in-time snapshots of the live datastore as it existed earlier. Every time a protection group causes a snapshot to be taken, entries are made in the snapstore with the contents of files/VMs that are subscribed by the protection group, at that instant in time.
DVX uses a “redirect on write” (ROW) technique to store incoming data. New data is always written to new locations (vs. copy-onwrite techniques that can introduce delays as changes are copied). Because only changes are stored in a snapshot, and because DVX only stores compressed and deduplicated data, snapshots consume relatively little capacity.
As I mentioned Datrium created its own VSS provider instead of leveraging the VMware vSphere VSS, and due to this native integration with the ”datastore” and the “snapstore,” the solutions eliminate VM “stuns” and application performance slumps. A “stun” operation means that the execution of the VM is paused at an instruction boundary and allow in-flight disk I/Os to complete. Most HCI/SDS vendors use VMware VSS.
Both ”datastore” and the “snapstore,” live on the Data Node cluster. Data Nodes are dense cost-optimized fully-redundant x86 based storage appliances for data persistence, and data is always erasure-coded, compressed, and globally deduplicated (using host CPU resources). Furthermore, each snapshot is a logical and self-sufficient copy of a set of VMs (and other artifacts) and serves as a full backup, in some cases eliminating the need for 3rd party backup tools; especially if snapshots are being replicated to a different Datrium cluster.
The built-in data protection also eliminates CPU and RAM tax imposed by 3rd party B/R software that competes with executing VMs for resources – as well as their separate training, maintenance and license fees.
Below is an example of Datrium VSS provider quiescing a Microsoft SQL Server and snapshotting the VM.
- 16 core, 64GB, 10 virtual disks (2x500GB, 8x 40GB)
Number of VM stuns:
- VMWare VSS – 3 VM stuns
- Datrium VSS – No VM stun
Duration of Application Performance Dip:
- VMWare VSS – 8-10 minutes
- Datrium VSS – up to 10 seconds.
Now, watch this 1” minute demo of Datrium VSS.
This article was first published by Andre Leibovici (@andreleibovici) at myvirtualcloud.net