FlashArray//C - A Fast, Dense, and Secure Veeam Ready Repository
Updated: Dec 14, 2020
It's no secret that I'm a huge fan of using FlashArray//C as my Veeam Repository. //C has the perfect combination of Flash Speed (for Fast Recovery), QLC Density (for Cost Optimization), and SafeMode Immutability (for Threat Mitigation). It's also been tested and qualified as a Veeam Ready Repository for added confidence.
I have another post where I write in detail about why FlashArray//C makes such a great Veeam Repo, but in this post I'll walk through some setup steps and optimizations. As you'll see... it's so simple "It Just Works."
If you're following along, I'm working with Purity//FA 6.0.3 and Veeam Backup and Replication (VBR) v10a. I'm also using VMs with in-guest iSCSI since this is a lab (shhh, don't tell Cody), but for production please consider a physical repo server with either FC or iSCSI.
Windows or Linux?
We're going to configure a Direct Attached Storage repo type for our FlashArray. You can use either Windows or Linux, the choice is completely up to you. Just make sure you follow Veeam's guidelines for sizing. I'll walk through both.
[A Note on NAS Repos] With Purity//FA 6.0 Pure introduced support for File Services (SMB and NFS) on FlashArray. I'm excited to explore this new capability as another Veeam repo option, but for now block remains the tested and supported way to create your repo on FlashArray.
Windows Backup Repository
NTFS or ReFS?
Typically Veeam Windows Repositories can benefit from the block clone feature of ReFS to increase efficiency for synthetic full backups, however ReFS doesn't currently support SCSI unmap for SAN volumes. Furthermore, the native data reduction capabilities of FlashArray are going to offer far superior data efficiency anyway, regardless of file system. For those reasons, I'm going to recommend we stick with NTFS.
Linux Backup Repository
This time we'll start with a fully patched Ubuntu Server 20.04.1 LTS VM and then provision a Purity volume. You'll find the official Pure guide for iSCSI with Linux here, but I've actually written a post with more specific guidance for Ubuntu iSCSI setup for FlashArray.
ext4 or XFS?
Similar to ReFS on Windows, Veeam Linux Repositories can benefit from the data block sharing (reflink) feature of XFS to increase efficiency for synthetic full backups. But just as before, the native data reduction capabilities of FlashArray are going to offer far superior data efficiency anyway, regardless of file system. For that reason, I'm going to recommend we stick with ext4.
Creating Repository (Windows & Linux)
Proceed with the Veeam Add Repository wizard as usual. When you get to the Repository settings, be sure to select the path to the formatted FlashArray volume. Also, consider the setting for limiting the number of concurrent tasks. This setting will largely depend on the number of CPU cores your repo server has (typically 1 task per core). If you have the compute resources to justify increasing this value you will certainly want to do it so that you're taking the best advantage of FlashArray's performance. The process is very similar for both Windows and Linux.
I also like to select Advanced and then enable the two following settings, however these are completely optional:
Decompress backup data blocks before storing
Use per-VM backup files
FlashArray has a very sophisticated compression algorithm so I prefer to let it handle all data efficiency. I also prefer per-VM backup files for simplicity sake. This does limit Veeam's ability to dedup data across multiple VMs, but again FlashArray is going to handle this for us anyway.
Windows and Linux
[Windows Only] You'll get a notice about not using ReFS. Disregard and click yes.
Take the default setting for everything else and now we have our repo.
Scale-Out Backup Repository
We could stop right here. Our new repository is ready to go just as it is. However, I like to configure a Scale-Out Backup Repository (SOBR), even if it only contains a single extent. Doing so gives me a lot more flexibility in the future. I can easily add or remove storage without having to modify my jobs.
This process is incredibly simple, and identical for both Windows and Linux. Simply start the Add Scale-Out Repository wizard and take all the defaults.
Add your new repository as an extent in the Performance Tier settings for the SOBR.
Keep the default Data locality placement policy. You may be wooed by the fact that the other option is named Performance, but don't be. The Performance policy will try to achieve some additional performance by splitting full and incremental backup files onto different extents. Truthfully, with a single extent as we have now, both settings have the exact same effect; but even if that changes in the future I still prefer to keep backup chains together on the same storage. With per-VM backup files we'll get distribution across multiple extents anyway.
We can use Capacity Tier to extend our backups onto Pure Storage FlashBlade via S3, but that'll have to wait until a future post. Today we're focused on FlashArray//C and with up to 7.3PB of effective capacity in the //C60-1877 I think we'll be good for a while. :)
The final configuration is to make sure we've enabled SafeMode on our FlashArray and established regular snapshots of our Veeam repo volume.
What is SafeMode?
SafeMode is a FlashArray feature that may be enabled to further reduce the chance of unintentional data loss. SafeMode changes the administration of FlashArray in three important ways.
1. SafeMode snapshots can't be eradicated (deleted), modified, or encrypted.
2. SafeMode snapshot cadence and eradication scheduling are customizable.
3. SafeMode may only be configured or modified by Pure Technical Support working with an authorized designee from your organization.
Configure a FlashArray Protection Group for Veeam Repo
First let's create a schedule to automatically create snapshots of our Veeam repository. We do this by creating a Protection Group (PGroup).
Give our PGroup a name.
Add our Veeam repo volume as a member of the PGroup.
Notice the volume is now listed as a member. Next we'll need to create a Snapshot Schedule.
At this point, think carefully about how much protection you will need. Once you enable SafeMode, you can increase the PGroup retention on your own, but won't be able to decrease the schedule without Pure support. I'm going to save 1 snapshot a day and keep the last 14 days worth.
This is not something I can walk you through here, so reach out to your Pure Storage account team to get the the process started.
That's it. We've now created a Veeam repo that's fast, secure, and has the capacity and data efficiency we need to do it in an economical way. Furthermore, it's built on the same simple to use FlashArray platform we already know and trust. Go create some new backup jobs and sleep better tonight.