Use Pure Storage® FlashArray™ Snapshots with Veeam® for Faster Backups and Improved RPOs
If you're using Pure Storage FlashArray to host VMFS datastores for your VMware environment, I hope you're also taking advantage of the Pure Storage plug-in for Veeam. If not, I have a short video on how to get started. One thing I didn't cover in the video however, is how to leverage the Veeam backup from storage snapshots feature with FlashArray. In Veeam's own words:
Backup from Storage Snapshots lets you speed up backup and replication for VMware vSphere VMs whose disks are hosted on storage systems. When you perform Backup from Storage Snapshots, Veeam Backup & Replication leverages storage snapshots for VM data processing. Backup from Storage Snapshots lets you reduce impact of backup and replication activities on the production environment and improve RPOs.
In this post, I'm going to walk you through setting up this feature with FlashArray.
In order to implement backup from storage snapshots, your Veeam proxy servers will need to be able to "see" your VMFS datastores.
1. Decide which proxies will be used to process backups from Pure snapshots. In a production environment these should be physical Windows proxy servers with access to your FlashArray via FC or iSCSI. (For this demo I'll be using virtual proxies with in-guest iSCSI. I would not recommend this for production.)
2. Important! You want to be sure that Windows won't try to initialize your datastore volumes. Veeam protects against this by setting the Windows SANPolicy on any server that has been configured as a Veeam proxy to "OfflineShared". In other words, if you're setting up a new proxy server, configure it as such in Veeam before granting volume access in Pure.
To be safe, it's a good idea to double check the SANPolicy on your proxy servers:
You should see "Offline Shared". If you don't... do not proceed.
3. In Purity UI, create hosts for your proxy servers as you would for any other server you were planning to present Pure volumes to. I'm assuming you are already comfortable with properly configuring hosts in Purity, but if you need a refresher you can check here for FC and here for iSCSI.
4. In order to simplify the process of providing access to my VMFS datastore volumes, I create a host group for all of the Veeam proxies that will be used for a given set of datastores. If you have different proxies for different ESXi clusters for example, you can adjust this step to suit your needs.
5. Add your Veeam proxy hosts and all of your VMFS datastores to the new host group.
Configuring Veeam Proxy Servers
The default settings for your Veeam VMware proxy servers should be sufficient, but I'll highlight the options. Both of these settings are configured directly on the VMware proxy.
1. Transport Mode: Automatic selection (recommended) or Direct storage access must be selected.
2. Connected Datastores: Automatic detection (recommended) or manually select the datastores you want to use.
Configuring Veeam Backup Job
Now that we have the infrastructure configured, let's make sure our backup job is set to take advantage of backup from storage snapshots.
1. In the Storage section of the Backup Job wizard, make sure your Backup proxy selection is either set to Automatic selection, or if manually selecting, that you have included the proxy servers with access to the FlashArray.
2. Open Advanced Job Settings.
In the Integration section ensure that Enable backup from storage snapshots is enabled.
Testing it out
That's it! Now your environment should be configured to leverage backup from storage snapshots. Let's kick off our job and see what happens.
In this screenshot you can see that Veeam did create a VMware snapshot, but then almost immediately removed it. This demonstrates the benefit of using backup from storage snapshots. The VMware snapshot only exists for a very brief amount of time, just long enough to create a FlashArray snapshot.
Further down we see confirmation that the backup proxy was retrieving the VM data from a storage snapshot.
Now let's have a look at the FlashArray.
We can see that Veeam starts by making a copy of the FlashArray volume representing our VMFS datastore. Now you might be thinking... "Isn't this is supposed to be Veeam backup from storage snapshots, not volume copies?" Well nice catch! FlashArray snapshots and volume copies are both just really efficient metadata operations. They don't actually need to copy any of the data in a volume. For our purpose here it just makes more sense to create a copy directly from the original volume instead of first creating a snapshot. Pretty awesome right?
Ok, now that we have that cleared up. The next couple of entries connect the volume copy to the proxy servers, the Veeam backup job completes (not seen in this log), and then the copies are disconnected. We no longer need them so then they are destroyed. Destroyed volumes would typically be held for 24 hours before being permanently deleted in a process called eradication. Since this was just used for our backup job, the process goes ahead and immediately eradicates the volumes. (This behavior is actually a bit different if we have SafeMode enabled on the FlashArray, but I'll have to save that for a future post.)
Let's run the job again with snapshot integration disabled and compare.
Notice this time that the VMware snapshot was not removed until after the backup had completed. Now, in my demo environment there were no changes to be backed up so the backup completed quickly regardless, but imaging if I had an extremely large VM or a VM with a tremendous amount of changes between backups. The VMware snapshot would have been open that entire time.
One additional thing to point out. Notice that even though snapshot integration was disabled, the proxy server still leveraged its connection to the FlashArray to process the job in direct san mode. This is indicated by "[san]" in the job log. This means that just like when backing up from FlashArray snapshots, the proxy server was reading the VM data directly from the FlashArray, reducing the impact to the VMware infrastructure. Pretty cool huh!
Pure Storage FlashArray snapshots are a powerful tool to be used as part of your data protection strategy. When integrated with Veeam Backup & Replication, you can extend much of that value into your regular backup workflow as well and reduce backup impact to your VMware infrastructure.