• JD Wallace

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

We'll start with a fully patched Windows Server 2019 VM and then provision a Purity volume. If you need a refresher you'll find instructions here for FC and here for iSCSI.


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. :)

FlashArray SafeMode

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.

Enable SafeMode

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.

Final Thoughts

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.

I am an employee of Pure Storage.

My statements and opinions on this site are my own and do not necessarily represent those of Pure Storage.

©2020 jdwallace.com.