In this blog post, we finalize the process of utilizing PureStorage Array snapshots for Veeam Backup jobs. If you haven’t already, check out my previous post: How to P1 and P2.
Proper Planning Prevents Poor Performance!
Please note, while this seems simple, a lot of pre-reqs must be successfully completed in order to utilize this great feature. This is not as simple as checking a box and clicking next (it is if you do the pre-reqs correctly). There are several things you must consider, so as always, consult with the Veeam Documentation and create a scope/plan of action before proceeding. This includes ensuring your ports are configured correctly/allow access (443), ensuring you have the correct version of Veeam/Plugins installed, ensuring you have a stable and up-to-date version of Purity installed. Additionally, you want to have a physical proxy setup and Zoned to the array. You want to ensure you understand the process completely before starting off with this adventure, since you are manipulating and making changes with production storage, you can never be too careful!
Series of Events:
Now that we have all of the requirements out of the way, let’s discuss the process of what occurs during the backup process. The below is a quick description, in my own words, of what occurs during a Veeam backup (utilizing PureStorage Array Snapshots).
- Veeam backup job starts, sends request to vCenter to take a VMWare snapshot of the particular VM. This is known as a helper snapshot, and it needed in order to assist Veeam with information on that particular VM. CBT info, etc, is recorded in order to determine what’s changed, etc. It is also necessary in order to get the data of the VM in a state in which is consistent for backup.
- vCenter confirms snapshot was taken, then instructs Veeam it was successful. Next, Veeam sends a request to it’s physical proxy that it needs to perform a storage snapshot. Since Veeam has insight into the VM’s location (thanks to the Pure Plugin for Veeam) on the PureStorage array, it knows to tell PureStorage which LUN to snapshot (in order to grab the particular VM being backed up).**NOTE** If you have multiple VMs across many LUNs, then each LUN will have a snapshot. Each Snapshot will be very small in size since PureStorage only needs the metadata to reference the production LUN (example: 1TB LUN will show the snapshot as 1TB”. Pure is very efficient with it’s metadata and deduplication, so you shouldn’t see a big increase in utilization of space. However, the snapshot will grow some depending on what’s occurring with the production LUN. One should be aware of this if you are running low on space, since multiple snapshots can quickly eat through space. Ensure you spread your jobs out evenly as to not take too many snapshots at once. Finally, this space will be returned once the snapshot is removed.
- Veeam’s physical Proxy, since it has direct access to the storage array, informs Pure via the PureStorage Array Plugin to snapshot LUNx.
- LUNx’s storage snapshot completes successfully, Veeam reconfigures and attaches this storage array snapshot to the physical proxy.
- Veeam confirms Storage Snapshot was taken successfully, informs vCenter we can get rid of the VMware (VMDK) snapshot. vCenter removes snapshot.
- Veeam begins to backup the VM or VMs within said LUNx. Once backup completes successfully, the storage snapshot is removed.
Configuring Veeam Backups to use Pure Storage Snapshots:
Once all of the pre-reqs have been completed, you can enable backups from storage snapshots by editing the backup job you wish to enable this feature on. Right click the job, select edit, then select advanced.
By default, this is enabled, so you may not have to perform this action. However, if it isn’t select, select “Enable backup from storage snapshots” you see “Limit processed VM count per storage snapshot to”. This allows you to limit the number of VMs processed per LUN snapshot. This is important to consider for your particular environment. Once configured, select “OK”.
Next, select your physical backup proxy. You want to ensure it is the only proxy selected for this specified job.
Testing the Backup Plugin:
Once completed, you are ready to kick off you job and test. During the beginning of the backup, the backup will proceed as usual. This is the “Perform VMDK Helper Snapshot” phase. Once completed the snapshot is removed.
Next, the storage snapshot taken, and information is gathered. The backup proxy then “retrieves the information for backup from the storage snapshot”.
The backup now begins. Once completed the storage snapshot will remove.
This concludes this series on how to setup backups with Veeam to use PureStorage array snapshots. The benefit is that you don’t have nearly as much I/O stun as compared to VMware snapshots, and the main benefit is that the VMware snapshot removes so quickly that long snapshot removal times are a thing of the past! Not to mention you will have much greater performance when backing up I/O intense workloads.
This took some time to test and implement, it can seem like a tall order at first, but just continue forward, don’t give up. Work through the errors and failures, the end result is worth it!