Quick post. I updated my PowerShell GUI tool I maintain for VMware and FlashArray management and added some new features. This time mainly around protection group management. Download it from my GitHub page here:
https://github.com/codyhosterman/powercli/blob/master/PureStorageVMwareStorageTool.ps1
In version 2.5, the tool had features like:
- VMFS management (create, snapshot, delete, etc)
- VM management (recover from snapshot, restore)
- RDM management (recover from snapshot, restore)
- Host setup (configure iSCSI, multipathing, host group creation)
I have added support for protection group management in the 2.7.0 release.
A protection group on the FlashArray is a consistency group with a local snapshot policy and/or a replication policy applied. When a pgroup snapshot is created (either manually or via the policy) all of the volumes in the group are snapshotted in a write-consistent fashion (and replicated to one or more FlashArrays if configured). This snapshot group can be recovered from, or cloned from or whatever. My tool now support automating this recovery.
The PowerShell “recover” process is the following:
- Choose a FlashArray
- Choose a protection group
- Choose a snapshot group (AKA point-in-time)
- Then choose, one, some of all of the volumes in the pgroup
- Choose a VMware cluster to recover to
- Choose for it to find all of the VMs on the recovered datastores and register them and also optionally power them on
The process will take the selected volume snapshots in the group point-in-time and copy them to new volumes, and then connect it to the host group for the respective VMware cluster.
Then, it will rescan the cluster (I put some parallelism into the script so it will rescan all hosts at once, instead of one at a time). It will then look for the unresolved VMFS volumes (info on what that means can be found here).
If it cannot find all of the ones you specified the process will fail and the copied volumes will be cleaned up. So, basically they need to all be VMFS volumes.
The volumes will then be resignatured and made available to end-users.
If you have chosen to register the VMs, it will search all recovered datastores and register the VMs to random hosts in the cluster (this is also parallelized). If the VM comes up with a MAC conflict, it will be unregistered and registered back to clean up the alarm and reset the MAC.
If the VMs are registered where the original VMs are, it will rename them slightly according to VMware’s standards (adding a (1) etc.).
If you chose to have it power them on it will power them all on too. This works on local snapshots or replicated snapshots.
See a demo here:
Other PowerShell features in 2.7.0
I also added the ability to delete and create new pgroup snapshot Point-In-Times.
Also to add datastores to pgroups:
When you choose a pgroup, in the right box a checkbox list of datastores in that vCenter (that are on the same array as the pgroup) will appear. You can then check the ones you want and click add. That will add the volumes hosting the VMFS datastores to that pgroup.
Beyond that, just some bug fixes here and there. Our official vSphere Web Client Plugin for the FlashArray has most of these features (and a few extras). But this does sometimes serve as a preview to new plugin features for us to trial. Though do stay tuned, a new plugin with some cool features will be coming out soon!