Tag Archives: Pure Storage

VVols Readiness Checker for Pure Storage FlashArray

The SE organization at Pure has been hard at work promoting VMware VVols as it enables customers to take the next step in their virtualization journey: mobility. In an earlier post on the Pure Storage blog, Ray Mar wrote about the simplest VVols implementation in the industry. Getting up and running with VVols is effortless but there’s always those pesky minimum requirements to know about before you can begin implementing VVols.

While reviewing the VVols Quick Start Guide, there were quite a few things to be mindful of:

  • Minimum vSphere version
  • Minimum Purity version
  • NTP servers configured on ESXi, vCenter, and FlashArray
  • FlashArray management ports accessible on port 8084
  • Host and host groups are present on the FlashArray
  • If replicating, make sure all of these requirements are met on the remote side too!

As the sharp system admin you are, you can probably take a quick glance at the requirements and know you’re good to go. But, it’s a great idea to double check a setting such as NTP that is usually “set it and forget it.” On a small cluster it’s easy enough to click around on a few hosts and vCenter and make sure it’s set and turned on but that’s no bueno on a much larger cluster. Sounds like a great task to be automated! With that in mind, I created the VVols Readiness Checker to quickly validate these prerequisites with PowerShell using PowerCLI and the Pure Storage SDK.

The script can be run on your local machine or server and will download PowerCLI and the Pure Storage SDK if it’s not present. After entering your vCenter, FlashArray, and associated credentials you’ll quickly get a summary of your environment’s readiness to implement VVols.

Sample ESXi host summary
Sample FlashArray summary

Once you’re finished addressing any warnings, proceed with the Quick Start Guide to update the vSphere Web Client plugin, register the VASA provider, and create the VVols Datastore!

I highly recommend importing the FlashArray protection groups as VM storage policies as this gives you fine grain control and validation via compliance checks that ensures the VMs are always protected as required by the business.

Example FlashArray Protection Groups as VM Storage Policies

Be sure to check out Cody Hosterman’s VVol’s landing page for even more VVols details!

Update: Veeam Support for Volume Snapshots of a FlashArray Protection Group

In a previous post, I wrote about taking FlashArray snapshots with Veeam using a PowerShell script. At the time, there was a limitation that prevented Veeam from seeing protection group snapshots. The Pure Storage Plugin for Veeam version 1.1.40, was released on August 24, 2018 and support for volume snapshots created as part of a Pure Storage Protection Group are now available. Check out the KB article to download the update. Installation is a simple wizard that takes a minute or so to install.

No settings need to be changed on FlashArray or Veeam to see Protection Group snapshots. When selecting a volume on FlashArray, you can see snapshots from a protection group (highlighted) and those taken separately by Veeam as part of another protection policy.

veeam-ps-pg-updated

With multiple options for snapshot policies, what’s my recommendation for a best practice? Continue to leverage the volume or protection group snapshot policies on FlashArray. Veeam has visibility into volumes on the FlashArray but can’t manage Protection Groups. Having the ability to group volumes on FlashArray to snapshot and replicate and maintain one retention schedule is easier to administer.

What I would like to see in the next iteration of the plugin is the ability for Veeam to truly integrate with protection groups (consistency groups on other arrays). It looks like Veeam’s Universal Storage API for Integrated Systems will need additional functionality though. The API’s documentation doesn’t describe that functionality.

Taking FlashArray Snapshots with Veeam

In April 2018, Veeam released the Universal Storage API which enabled storage vendors like Pure Storage to create integrations for Veeam with their storage system. At a high level, this functionality allows Veeam to leverage storage system snapshots when performing backups as well as take snapshots of volumes for instant restore of VMs or granular file restoration.

In the initial release of the Pure Storage FlashArray plugin, the ability for Veeam to see and utilize existing snapshots on the FlashArray is unavailable. Additionally, it’s not currently possible for Veeam to take snapshots of all the volumes associated with a Protection Group. Joint customers have expressed the desire for this functionality but development takes time.

In the mean time, I created a script that gives customers the ability for Veeam to create snapshots of all the volumes in a FlashArray Protection Group. This script is designed to be run automatically using Windows Task Scheduler; however, you can run it from a PowerShell command prompt for a quick, one time use.

The most significant use case I created this for was recovering file shares faster if it was encrypted by a malware attack. It’s totally possible to immediately remediate the most extreme case where the whole file share is encrypted by overwriting the volume from a storage snapshot but what if it’s just a user’s home directory or a small subset of the file share?

In the following example, I have snapshots on the FlashArray that were taken by Veeam:

veeam-snapshots-on-flasharray

From Veeam’s view:

veeam-snapshots-in-veeam

When selecting a snapshot, you can see each VM protected by that snapshot:
veeam-recovery-options

This integration is extremely powerful as it provides instant VM, guest file, and application item recovery from FlashArray snapshots instead of backup.

In a sample test, I recovered a single Windows Server 2016 VM in just over a minute:

vm-recovery

Veeam performs this operation similar to how it operates when restoring from a backup, with the exception that it creates a volume on the FlashArray from the snapshot,  presents it to the applicable host, rescans the hosts’s HBA, mounts the volume, and adds the VM to vCenter.

vm-recovered

Known Limitations

Currently the first version of this script only supports volume-based Protection Groups. If your Protection Group’s members are hosts or host groups, the script will not work. I anticipate fixing this in an upcoming release as well as adding the ability to specify a volume instead of a Protection Group. Additionally, this script doesn’t limit the number of snapshots taken so please monitor your usage. A future version will address this issue as well.

If you have questions about installing and configuring the Pure Storage FlashArray plugin for Veeam, check out Stephen Owens’ blog posts:

 

To download the script, head over to the script’s repository on my GitHub page.