Pure Storage vSphere Web Client Plugin 2.0 Released

The vSphere Web Client Plugin for the Pure Storage FlashArray has been updated and released and it is the largest update to the plugin since, well, it was first released. A lot of feature enhancements–the majority focused on integrating local and remote replication management into the plugin. Our long term goal is to offer feature parity of FlashArray management with the plugin as compared to our own GUI. It is getting close. Let’s take a look at the new features.intro

To review, the previous plugin offered the following features:

  1. View underlying details and performance statistics of a datastore on a Pure volume
  2. Provision new datastores
  3. Resize a datastore
  4. Delete a datastore

At a high level the new features are:

  1. Re-written code for faster response and to fix bugs
  2. No longer uses proprietary calls to the array–it is now all REST API based
  3. Integrated, context-based array-based snapshot management for datastores, datastore clusters, hosts and host clusters
  4. Enhanced new volumes provisioning: configure them for remote replication upon creation
  5. Alter membership of a datastore, host or a host cluster in FlashRecover remote replication protection groups
  6. Improved/expanded name management of underlying volume names
  7. Automation of multipathing best practices for volumes
  8. Confirm storage “health” for a host

Improvement 1 & 2 are rather self-explanatory, so I’ll focus on 3-8.

Local Snapshot Management

A common operation in vSphere/FlashArray environments is the management and use of array-based local snapshots. Until now this was a process that required the external use of our GUI or CLI and then final management in vSphere to manipulate the recovered/backed up VMs. Or the use of scripting. Both of these process required some manual correlation of what volumes hosted what VMFS (and virtual machines), what snaps they had etc. Manual work.

With this update, local snapshot management has been completely integrated into the vSphere Web Client. Furthermore, it has been directly integrated into the proper context of the client–not just bolted on to some new tab or screen.

The first enhancement is to the right click menu of the datastore, datastore cluster, host and host cluster. A new menu item under the Pure Storage option has been added called “Create FlashArray Snapshot” (or “…Snapshots” as the case may be). When right-clicking on a datastore a prompt will appear confirming you want to take a snapshot and if you want to add a suffix to the snapshot name. When you click create it will be created on the array. For other objects, like datastore clusters, a host or a host group the screen will look a bit different. Since these objects will likely contain more than one FlashArray datastore the screen has a few more options. It will default to taking a snap of all included datastores but you can select and deselect the ones you want to actually take a snapshot of in case you don’t want them all.




Taking a snapshot is great, but the next step of course is to add additional management of those snapshots into the Web Client. When a datastore object is opened in the Web Client, there is a existing tab called “Related Objects” that VMware offers that lists things like hosted virtual machines, templates, hosts etc. We have extended this by adding a new related object called FlashArray Snapshots. This is where the FlashArray snapshots can be further managed (or additionally created).


Within this are five areas of importance:

First, all of the snapshots for that selected datastore will be listed. This includes manually created snapshots and ones that might have been automatically created by a FlashRecover protection group schedule.



Then there are four actions, which can either be executed by clicking one of the custom icons or in the “Actions” menu.




As indicated in the image above these options are:

  1. Copy to a new datastore. This takes the selected snapshot and copies it to a new volume that will be created and then will be mounted to the host/cluster of your choosing automatically. The new volume will be resignatured and mounted with the name you indicate in the wizard.copytonew
  2. Create New FlashArray Snapshot. This is the same process as described earlier–just creates a new snapshots.
  3. Restore to original datastore. This takes the snapshot and restores the datastore that it was created from to that point in time. This checks to make sure that the VMs running on that datastore are powered down first. Note if VMs were added or removed since the snapshot there might be some manual work involved to register or clean up VMs.restoresnap
  4. The last option is to destroy the selected snapshot. A window will appear to destroy the selected snapshot and allow you to optionally have it immediately eradicated from the array. By default, all volumes and snapshots that are deleted (destroyed) remain on the array for 24 hours to protect against accidental deletion. If you know you no longer want it you can completely purge it. Also, the snapshot can only be deleted if it is a standalone snapshot. If the snapshot was created by a protection policy it cannot be deleted here–this operation will be blocked.destroysnap

Enhanced New Datastore Wizard

One of the most common uses of the plugin was to provision new volumes, so an enhancement to this feature is the ability to have the wizard automatically add the newly provisioned volume to a protection group. Therefore (according to the replication schedule of the group, whether that be local or remote) the volume will immediately be protected. This will be especially useful for things like provisioning new volumes for use with VMware vCenter Site Recovery Manager.

The new datastore wizard can be launched from a variety of places (a host, a cluster, a datacenter or a datastore object). The addition to the original window is the optional Pure Storage Protection Group drop down. This will list the available protection groups on the selected array and the schedules they offer. Local snapshots, remote replication or both. Note that this will only list protection groups that are volume-based or empty. Host or host group-based protection groups will be filtered out.

newdatastoreThis requires of course that the protection groups be pre-created.

One thing you might run into is that the host or host group that the new volume will be connected to is already added to a protection group. This means that all volumes in that host or host group are immediately protected as soon as they are connected to the host or host group. In this case the volume is already protected as soon as it is provisioned and the “Select Protection Group” is grayed out with an “Already Protected” message. If you want to add it to another protection group, see the next section.

Also note that the creation of new datastores through the plugin will also ensure that they are set to the Path Selection Policy of Round Robin.

 Update Object Protection

The next new feature is the ability to update the array-based protection of volumes of a given object. This can be a datastore, a host or a cluster. By right-clicking on one of those objects the “Update <object type> Protection option will appear under Pure Storage in the menu.


When selected, a window will appear that will list the protection groups of types that are valid for that particular object. So if you click on a datastore all protection groups that include direct volumes will be listed. For a host, all protection groups that are populated with hosts will be listed and for clusters all protection groups that are populated with host groups will be listed. Empty protection groups will be valid for all objects.


For objects like a host or a cluster that can have storage that is on multiple arrays, the array selection drop down is available to choose which array’s volumes that are presented to that host you would like to manage. For a datastore, which can only be on one array, this option is grayed out. The valid protection groups for that array will be listed next to a check box. A check in the respective box means that the objects storage is already in that protection group. To add the storage to a protection group select it, to remove it deselect it. Click update protection to save the changes. The protection policy information is also listed, whether it be local snapshots or remote replication or both.

Improved Volume Name Management

When a volume is created using the Pure Storage Web Client Plugin, the underlying FlashArray volume is given the same name as the VMFS volume that it was created to host. Occasionally, a volume will be created outside of the plugin or someone changed the name of the VMFS inside VMware for one reason or another. Both situations can lead to a volume/VMFS name mismatch, which is perfectly fine to do, but makes management a bit more of a headache.

With this update, you can now right-click on a datastore and choose the “Rename Datastore” option.



If you want to rename a VMFS volume on a FlashArray, this is the method I would recommend, because it will rename both the VMFS and the underlying volume. If the VMFS was changed using the standard VMware rename function leaving the FlashArray volume named differently, this window also offers the option to just rename the FlashArray volume.


Multipathing Automation

As you may be aware, ESXi claims FlashArray volumes by the ALUA SATP, therefore making them inherit the Path Selection Policy of “Most Recently Used”. This is less than ideal–Round Robin is the recommended option for the PSP. The best way to manage this, and to future proof your environment is to create a SATP claim rule that makes the FlashArray volume be claimed by Round Robin for the remaining life of that host. Occasionally this step is forgotten and you then have to manually configure each volume so that it is using Round Robin. Depending on the number of volumes this can be laborious and error prone–leading to sub-par performance. Scripting is an option of course too.

In this plugin release, we added a function that will make this a bit easier. By right-clicking on a datastore, host, cluster or datacenter object in the vCenter inventory a “Configure Multipathing” option appears under the Pure Storage menu option.



A window will appear asking to confirm and then the plugin will iterate through all of the FlashArray volumes on that host and configure them to Round Robin.



Like mentioned earlier, (and as can be noted in the image above) creation of new datastores through the plugin (whether they be brand new or through copy snapshot to a new datastore) will be configured during creation to Round Robin.

ESXi Health Check

The last main new feature is a quick ESXi storage health check. This can only be accessed by right-clicking on an ESXi host in the vCenter inventory.



This will simply show that the standard ESXi storage limits (like number of logical paths and number of devices are within supported limits.


Phew that should about do it! The plugin is bundled with Purity so if you upgrade Purity to the proper version (version still TBD) you can upgrade your vCenters from the Pure GUI like always. If you do not want to upgrade Purity just yet but would like the plugin–you can get it from Pure Storage too and upgrade just the plugin. Remember that you will need a Purity version that supports our REST API (which should be at this point everyone).

Enjoy! Have feature requests, comments or questions? Let us (or me) know!

Below is a video demonstration of some of the above listed features. Not as much information as written above but if you want to see it and action and hear my annoying voice–check it out:

6 Replies to “Pure Storage vSphere Web Client Plugin 2.0 Released”

    1. Yes and no, the plugin just uses the FlashArray REST API and the vCenter SDK so it isn’t calling an underlying CLI you can use. That being said, VMware’s PowerCLI uses the same thing and our PowerShell SDK uses our REST. So you can do everything you need to do with those that the plugin can do and much, much, more.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.