VSS Backups with Integra
Microsoft's Volume Shadow Copy Service (VSS) is pretty powerful, no other way to put it. There is plenty to know about VSS, and you can learn it no better than from Microsoft itself. In this blog we will describe briefly what VSS is all about, but more importantly show you how to leverage Integra to take a VSS snapshot of SQL Server.
A VSS Primer
Exclusive to Microsoft Windows, the basic premise of VSS is that it allows you to take a hot backup of an application--i.e., without taking the application offline. VSS snapshots are guaranteed to be application consistent by the Writer component (see below), no matter how many volumes the application's data is spread across! How cool is that? There are four basic components in VSS:
- VSS Service - provides all the coordination between the different players
- VSS Provider - alas, the terminology here overlaps with Integra's Provider definition, but this is the component that performs the actual backup of the data. There are three types of VSS providers: system, software and hardware. The hardware provider is the one to note, as the snapshot operation is performed at the storage layer. Hardware snapshots are extremely fast, which is why you want to make sure your storage vendor has support for VSS.
- VSS Writer - the portion of the application that is responsible for getting the data ready to be backed up.
- VSS Requester - as the name suggests, this is the component that initiates the request for a VSS snapshot to be taken.
The image below shows the interaction between all the components mentioned above.
Integra's VSS Requester
The component that Integra brings to the table is a VSS Requester. As you saw above, the requester is the component that triggers a snapshot of your VSS-capable application. In this post we are going to use SQL Server to demonstrate how to make use of Integra's VSS component. In typical Integra fashion, we need to add a provider, configure actions, and optionally create a workflow and a schedule to perform the backups in a reoccurring fashion or to execute the workflow from Integra's mobile portal.
The only provider that we need is the provider that encapsulates the VSS requester, which in this example is running in a Windows Server 2012 R2 alongside SQL Server Express 2014. If you would like to try this example yourself, please contact us and request the Microsoft providers bundle as they are not part of the core download package.
The only action you truly need in order to kick off a SQL Server backup is the 'Create VSS Component Snapshot'. In the screenshot below, however, you will see 2 other actions: one that lists the Writer component (namely, our SQL Server database instance) and another that shows all the snapshots for the given component. These actions are there just to show you the type of information returned by Integra's VSS requester.
For example, if we were to execute the List DBs action, you will notice that the IntegraDb database used in this example does indeed have a SqlServerWriter. This means our database is ready to go for a VSS snapshot.
Executing the Snapshot DB action does what you expect: it freezes our database, a snapshot is taken, and then thaws the database--all courtesy of VSS. If your database sits on a storage vendor that has a VSS hardware provider, the snapshot would take place at the storage layer. In this example, however, we are just leveraging the software provider from the OS and getting a shadow copy of the volume where IntegraDb resides (drive F: maps to an Azure volume).
Last but not least, we can get a listing of all snapshots taken, where we can see the one we just took of the IntegraDb database.
Workflow & Schedule
Once you are satisfied with all of the actions working properly, you can create a workflow and schedule it till your heart is content. In this example we are going to leave that as an exercise to the reader, as the workflow would be rather simple with a single action (Snapshot DB).
Protecting Microsoft applications such as SQL Server, Exchange and SharePoint with Integra is as simple as you saw in this blog post. And, if your storage vendor has a VSS hardware provider, the snapshot will be offloaded to the storage layer. The beauty of it all? Nothing changes from an Integra perspective: you craft your action just as we did here, and then VSS is responsible for offloading the snapshot request to the storage layer.