Skip to main content
Pure Technical Services

vSphere Plugin User Guide: Virtual Volumes (vVols) Management

Currently viewing public documentation. Please login to access the full scope of documentation.

KP_Ext_Announcement.png
This KB covers how to use the Pure Storage vSphere Plugin to manage the Virtual Volumes (vVols) Environment from the vCenter UI.

 


Registering VASA Providers

The vSphere Plugin allows users with Permissions to register Storage Providers the ability to register a FlashArray's VASA Providers that has been Added to the FlashArray list.  The workflow to register the Storage Providers for vCenters in non-linked or linked mode is outlined blow and also in the Demo Video.  Click to expand the workflow. 

Registering the VASA Providers with the Pure Storage vSphere Plugin
  1. A FlashArray will need to be added/registered in the Plugin to register the Storage Provider for the a given FlashArray.  Once the FlashArray is registered, Navigate to the main Plugin Page, select the FlashArray and then click on "Register Storage Provider".
    vvols-plugin-kb-01-registering-sp-1.png
  2. The recommended practice is to have a local FlashArray Array Admin user to register the storage providers with.  In the example below (and in the demo video), there is a local array admin named "vvols-admin" that the Storage Providers will be registered with.  In the event that the vCenter is in Enhanced Linked Mode, the option to choose which vCenter to register the storage providers with will be given.
    Registering the Storage Provider with a Single vCenter
    vvols-plugin-kb-01-registering-sp-2.png
    Registering the Storage Provider with a vCenter in Linked Mode
    vvols-plugin-kb-01-registering-sp-4.png
  3. Once the Storage Provider is successfully registered, navigate to the vCenter Server page, then Config and the Storage Providers tab.  Confirm that the storage providers are online and healthy.
    vvols-plugin-kb-01-registering-sp-3.png

Mounting a vVol Datastore

Once the Storage Providers are registered the vVol Datastore can be created and mounted using the vSphere Plugin.  Click blow to expand the workflow for creating the vVol Datastore and mounting it to an ESXi Cluster.  The workflow can also be found in the demo video at this point.

Mounting the vVol Datastore with the Pure Storage vSphere Plugin

The ESXi hosts will need to have been added to the FlashArray and best practice is to correlate the ESXi cluster to a FlashArray Host Group. Then each ESXi host that is in that Cluster should be added to the FlashArray Host Group.

  1. Right Click on the ESXi Cluster that you want to create and mount the vVol Datastore.  Go to the Pure Storage option and then click on Create Datastore.
    MountvVolDatastore1.png
  2. Choose to create a vVol FlashArray Storage Container (vVol Datastore).
    MountvVolDatastore2.png
  3. Select the ESXi Cluster that will be the compute resource to mount the vVol Datastore to.  Best Practice for vVols is to mount the vVol Datastore to the host group and not individual ESX hosts.  Why is this important?  During this step, the Plugin will check to see that the Host Group on the FlashArray is connected to a Protocol Endpoint.  In the event that there is no connection, the Plugin will automatically connect the Protocol Endpoint on that FA to the Host Group.  Best practice is to connect PEs to Host Groups and not to individual ESXi Hosts.
    MountvVolDatastore3.png
  4. Select a FlashArray to back the vVol datastore.
    MountvVolDatastore4.png
  5. Select an existing container or optionally, create a new container. If using the existing container, select the container to use. Please note- for the purposes of FlashArrays that are versions of Purity 6.4.2 or higher, multiple storage containers are managed through the pod object on FlashArray.

    MountvVolDatastore5.png
  6. Populate the datastore name to be created. The container name is not editable because an existing container was selected, so the name selected from the previous window is pre-populated.
    MountvVolDatastore6-existing.png
  7. Optional. If new container was selected, populate the datastore name. If the datastore name should match the container name, check the Same as datastore name checkbox. Optionally, uncheck the checkbox and populate the container name field. Finally, populate the container quota value with the size of the datastore you'd like to reflect in vSphere. This will set a capacity quota on the pod on the FlashArray. 
    MountvVolDatastore7-new.png
  8. Review the information and finish the workflow.
    MountvVolDatastore8.png
  9. From the Datastore Page, click on the newly created vVol Datastore and then check the Connectivity with the Hosts in the ESXi Cluster to ensure that they are connected and healthy.
    MountvVolDatastore9.png

Edit a vVol Datastore

The vSphere Plugin allows users that have permissions to edit vVol datastores. Click to expand the workflow below.

Edit a vVol Datastore

Left-click the (1) datastore view in vSphere, right-click the (2) vVol datastore you want to edit, hover over (3) Pure Storage and finally left-click (4) Edit Datastore to open the edit datastore workflow.

EditvVolDatastore1.png

Populate (1) Datastore Name, (2) Container Name and (3) Container Size then left-click (4) Submit. Datastore name will always be customizable as long as permissions in vCenter are correct, but if the FlashArray is on a Purity version less than 6.4.4, Container Name and Container Size will not be customizable because this is when multiple storage containers for vVols on a single FlashArray was introduced as well as pod quotas.

EditvVolDatastore2.png

 


Destroy a vVol Datastore

The vSphere Plugin allows users that have permissions to destroy vVol datastores. Click to expand the workflow below.

Destroy a vVol Datastore

Left-click the (1) datastore view in vSphere, right-click the (2) vVol datastore to be to destroyed, hover over (3) Pure Storage and finally left-click (4) Destory Datastore to open the edit datastore workflow.

DeletevVolDatastore1.png

Left-click (1) UNMOUNT.
DeletevVolDatastore2.png

 

SPBM Storage Policy Wizard

The vSphere Plugin allows users that have Permissions to create vCenter Storage Policies the ability to import a FlashArray Protection Groups Schedule as Policy Rules.  Click to expand the workflow below.

Storage Policy Wizard (5.2.0 and higher)

vSphere Remote Plugin 5.2.0 and higher

With 5.2.0 and higher the workflow is now the storage policy wizard.  This is largely do to the fact that the workflow is no longer just importing a protection groups schedule as policy capabilities and rules are more granular than they have been before.  Here is the new workflow:

  1. From the main plugin page select the create storage policies to open up the wizard workflow.  New policies can be created for one or more vCenter servers that are in linked mode.
    Storage-Policy-Wizard-01.png
    Plugin Home Page - Create Storage Policies
    Storage-Policy-Wizard-02.png
    Select vCenter Server(s) to create the policy for
  2. There are several features that can be selected to create the policy with.  Some features have specific Purity versions that are required in order to use them.  Please make note of those versions.  Once the features are selected a list of compatible arrays will be returned that can support these features.
    Storage-Policy-Wizard-03.png
    Select Features
    Storage-Policy-Wizard-04.png
    Array Compatibility List
  3. There is an option to specify which array(s) the policy can be restricted to.  Here one array is selected and this will restrict the policy to using datastores from only this array.
    Storage-Policy-Wizard-05.png
    Array selection - optional ruleset
  4. With QoS support the per disk bandwidth and IOPs limits can be set.  Remember that these are enforced at an individual virtual disk level, not a vm level.
    Storage-Policy-Wizard-06.png
    QoS Feature Support
  5. The volume tagging feature allows policies to have a key value pair that is tagged on the volumes with the policy applied to them.  
    Storage-Policy-Wizard-07.png
    Volume Tagging Feature
  6. The local snapshot protection feature uses the capabilities and rulesets for the policy to automatically create and manage a protection group on the array based off these capabilities.  Long term retention can also be configured for this feature.
    Storage-Policy-Wizard-08.png
    Snapshot Protection Feature
  7. With the replication feature there are two options.  One is to use a pre-existing protection group on a given array as the base/template for the replication schedule used in the policy.  The next is to manually configure/specify the replication rules that are used.
    Storage-Policy-Wizard-09.png
    Replication Policy Feature - Using an existing protection group as a template
    Storage-Policy-Wizard-10.png
    Replication Policy Feature - manually configuring the protection settings
  8. When manually setting the replication protection, all the same rules/capabilities that are normally available are now organized in a clearer method.  In the example only the replication interval and retention is configured.
    Storage-Policy-Wizard-11.png
    Replication Feature - Customized Protection
  9. Once all the featues are selected and configured it's time to name the storage policy.
    Storage-Policy-Wizard-12.png
    Naming the new Storage Policy
  10. At the end of the wizard a query is issued to see if any datastores match the rules outlined for each of the features.  Once completed a new storage policy is created with the rules specified in the wizard.
    Storage-Policy-Wizard-13.png
    Storage Policy Wizard - Ready to Complete Summary View

Here is a video demo and walkthrough of the new storage policy wizard:


 

Importing FlashArray Protection Groups as SPBM Policies with the Pure Storage vSphere Plugin (5.1.1 and lower workflow)

vSphere Plugin 4.5.0 through 5.1.1

  1. From the main plugin page, select the FlashArray to import the protection group settings and click on Import Protection Groups
vvols-plugin-kb-03-importing-pgroup-1.png
  1. Select the vCenters in which you would like the polic(ies) to be created.
clipboard_eb8c25714b3a33f3dea91600e6da8a04d.png
  1. Choose one or more protection groups. The selected protection groups will be used as "templates" to create vVol storage policies.
clipboard_e1092e0cea44013635c6ea584ca4ac232.png
  1. In the next screen, you can enter in a name for the policies. It will default to the protection group name, but you can change it as needed here.

clipboard_e26cf46c671e1b318af6e5256fec63e03.png

Note that it will prevent you from using a name that is in-use in one or more of the vCenters: clipboard_e7b3e0d6d45cefa92304ca6feb672d761.png

 

  1. The last screen offers two optional settings.
    1. Require array match: This will add the selected FlashArray into the policy and doing so will make sure that only storage from that specific FlashArray comply with the policy. This option maps to the FlashArray Group capability.
    2. Require protection group match: This will add the selected protection group name into the policy and doing so will make sure that only arrays with the specific protection group configuration AND name will comply with the policy. This option maps to the Consistency Group Name capability.

These settings will be configured uniformly for each selected protection group in the wizard, so if you want to configure the resultant policies differently, run through the wizard more than once, selecting the specific protection groups each time. Note a given protection group can be imported more than once as the source protection groups are used a templates for policies, but there is no strict one-to-one mapping.

clipboard_e2bd1052e79d397ecbdc2ed1544d4348d.png
Complete the process after confirming the selections on the final screen.
clipboard_e00812127a5985eaa5608d7fb2e3d0e5f.png
Note that policies do not span vCenters, so the policy will be created once per selected vCenter in the wizard.
clipboard_e1a36b6839fedf6035de4a593ac02027f.png
 
If you selected the Require array match option in the wizard you will see the array name populated in the policy: clipboard_e5b61a4cedb8a99edbe34a625418104a5.png
If you selected the Require protection group match option in the wizard you will see the protection group name populated in the policy: clipboard_e53beae478d7779890f8bc13b86915f2f.png

vSphere Plugin 4.4.0 and Earlier

  1. From the main plugin page, select the FlashArray to import the protection group settings and click on "Import Protection Groups"
    vvols-plugin-kb-03-importing-pgroup-1.png
  2. The screen that shows up next will list the FlashArray protection groups.  In the parentheses the schedule and capabilities of the protection group will be listed.  In the event that a Storage Policy in vCenter already matches the FlashArray pgroup schedule the option to select that pgroup will be grayed out. Select the policy or policies and click Import.
    vvols-plugin-kb-03-importing-pgroup-2.png
  3. Navigate to "Policies and Profiles" and click on the VM Storage Policies tab.  From here you will see that the Storage Policies have been created.  The naming schema for these policies will be [FlashArray] [either Snapshot or Replication] [Schedule Interval].  Below there is a Replication and Snapshot policy shown.
    vvols-plugin-kb-03-importing-pgroup-3.png

 

Viewing VM vVol details

When a FlashArray is registered with the vSphere Plugin there will be details reported in vCenter for vVols based Virtual Machines that are stored on that FlashArray.  

Viewing the Virtual Machine vVol Details with the Pure Storage vSphere Plugin (versions 5.2.0 or higher)
  1. On the VM main page view there is the undelete protection box that also has links to the capacity, performance and virtual volumes management page.
    VM-Insights-01.png
    VM View - Pure Storage Undelete Protection Status and Quick Links
  2. From the VM view, navigate to the monitor and then Pure Storage view.  Here performance and capacity can be monitored at a volume or volume group level.
    VM-Insights-02.png
    VM View - Monitor - Pure Storage - Capacity - Volume View
    VM-Insights-03.png
    VM View - Monitor - Pure Storage - Capacity - Volume Group View
    VM-Insights-04.png
    VM View - Monitor - Pure Storage - Performance - Volume View
    VM-Insights-05.png
    VM View - Monitor - Pure Storage - Performance - Volume Group View
  3. From the VM view, navigate to the configure and then Pure Storage view.  From this page there are various workflows available as well as Guest Insights that are displayed for a supported guest OS and VMware tools version.
    VM-Insights-06.png
    VM View - Configure - Pure Storage - Virtual Volumes - VM Home Select - Rename Volume
    (Volume Group Rename is only available when renaming the VM Home)
    VM-Insights-07.png
    VM View - Configure - Pure Storage - Virtual Volumes - Hard Disk Select - Guest Insights

Here is a Demo on the new VM Insights from the 5.2.0 Plugin.


 

Viewing the Virtual Machine vVol Details with the Pure Storage vSphere Plugin (versions 5.1.0 or lower)
  1. From the Virtual Machine view and Summary Tab, there is a FlashArray widget box.  This will show whether or not the VM has Undelete Protection.  Undelete Protection means that there is currently a FlashArray Snapshot of this VMs Config vVol.
    vvols-plugin-kb-04-VM-Details-1.png
  2. On the Virtual Machine's Configure Page, there is a Pure Storage Virtual Volumes tab.  
    vvols-plugin-kb-04-VM-Details-2.png

    The page will allow end users to run the workflows to Import a virtual disk (vVol), restore a destroyed vVol or to Overwrite an existing vVol.
    Additionally the page contains important information about the VMs Data vVols.  Some of the important information here would be the Virtual Device (SCSI controller connection), the vVol Datastore that the vVol is on, which Array the vVol is on and the FlashArray Volume Group Name and Volume name.

Viewing vVol Datastore Details

When a FlashArray is registered with the vSphere Plugin there will be details reported in vCenter on the respective vVol datastore objects with some useful pieces of information concerning that datastore. Note that this feature is only available in plugin version 4.5.0 and later.

Viewing the vVol Datastore Details with the Pure Storage vSphere Plugin
  1. Click on a vVol datastore and view the summary tab. There you will see a new panel titled FlashArray that shows details of the underlying environment for that datastore.
clipboard_e71bfe339c856f75154a74582dd7f109a.png

Currently, there are five properties:

  1. Array: This is the FlashArray hosting that datastore.
  2. Active Storage Provider: This is the VASA provider that is currently in-use for that vVol datastore by the selected vCenter. While either VASA provider on the array can be used at any given time, vCenter will only use one at a time.
  3. Protocol Endpoint: This shows that protocol endpoints that are available on that FlashArray for that vVol datastore. This shows their name and the device serial number.
  4. Volume Groups in Use: Generally, a given VM (and its volumes) on a vVol datastore will be managed on the FlashArray via a volume group. This table shows the number of volume groups currently configured with vVol-type volumes (volumes with vVol tags). If you have more volume groups than number of registered VMs, it is likely that there are some unregistered VMs on the array or that vVol datastore is in use by another vCenter which is running those additional VMs.
  5. Volumes in Use. This shows how many volumes on the underlying FlashArray are in use a vVols with that particular vVol datastore. This will show the volumes with vVols tags indicating that particular vVol datastore owns it.

Creating a FlashArray Snapshot of a vVol Disk

The Pure Storage Plugin version 4.4.0 and later for the vSphere Client has the ability to create a new snapshot of only a vVol virtual disk.

Create a Snapshot of a vVol Disk
  1. From the Virtual Machine Configure tab, navigate to the Pure Storage - Virtual Volumes pane, select the disk you would like to snapshot and click Create Snapshot.

     

     

    clipboard_ee1b1a9dde32840f3374ab7d72fcfc010.png

  2. After clicking the Create Snapshot button, a dialog appears. You can optionally enter a snapshot name, otherwise it will assign the next available numerical name for the snapshot. Click Create.

     

    clipboard_ead9911a2a356f2ae181f303ec96b1e4f.png

  3. After the workflow is complete, you can verify the snapshot by either clicking the Import Disk or the Overwrite Disk button and finding the correct disk and expanding its snapshots.

    clipboard_ee7ee1501092792ea27f6dda452961b65.png

 

Restoring a vVol from a FlashArray Snapshot

The Pure Storage vSphere plugin has the ability to recover a destroyed vVol within 24 hours of when the vVol was destroyed.  There is also an integration to overwrite an existing vVol with a previous FlashArray snapshot of the vVol.  These workflows are covered in the Demo Video here.  Click to expand the workflows below.

Restoring a Destroyed vVol with the Pure Storage vSphere Plugin
  1. From the Virtual Machines Configure page, navigate to the Pure Storage - Virtual Volumes tab, select Restore Deleted Disk.

    When deleting a Data vVol, the FlashArray will destroy the volume and the volume will be in a Pending Eradication state for 24 hours.

    In this workflow example, the VM 405-Win-VM-2 has had the virtual disk "Hard disk 2" deleted from disk.  
    vvols-plugin-kb-05-Restoring-vvol-1.png
  2. After selecting the Restory Deleted Disk option, any Data vVols that have been destroyed and are pending eradication will be displayed.  Select the Data vVol that should be restored and click Restore to complete the workflow.
    vvols-plugin-kb-05-Restoring-vvol-2.png
  3. After the workflow is complete, the recovered vVol will be displayed in the Pure Storage Virtual Volumes tab.
    vvols-plugin-kb-05-Restoring-vvol-3.png
Rolling Back a vVol with the Pure Storage vSphere Plugin
  1. From the Virtual Machines Configure page, navigate to the Pure Storage - Virtual Volumes tab, select Overwrite Disk.
    vvols-plugin-kb-05-Restoring-vvol-4.png
  2. From this page, select the vVol based VM and the Data vVol from that VM that you want to use to overwrite the Data vVol with.  While this can be a different vVol VM or the same vVol VM that you want to import the data vVol to, the example show will be to roll back this Data vVol to a previous snapshot.  Here Hard Disk 2 is selected and when expanded all Snapshots for that vVol are shown.  In this case, the one selected in a Snapshot from the FlashArray pgroup "vSphere-Plugin-pgroup-2" and the Snapshot Name of "Safe-Snapshot".
    vvols-plugin-kb-05-Restoring-vvol-5.png
    In the Volume Information for the selected snapshot, we can see when the snapshot was created and the information for this vVol that will be used to Overwrite the Existing Data vVol.
    Click on Overwrite to complete the workflow. 

Creating a vVol Copy

With the Pure Storage vSphere plugin there is the ability to import a vVol from the same vVol VM or from another vVol VM.  The source can be either a FlashArray Snapshot or a Managed Snapshot.  The workflows for importing the same vVol from either a FA Snapshot or a Managed Snapshot is walked through below as well as in the Demo Video here.

Creating the Copy from a FlashArray Snapshot with the Pure Storage vSphere Plugin
  1. From the Virtual Machines Configure page, navigate to the Pure Storage - Virtual Volumes tab, select Import Disk.
    vvols-plugin-kb-06-vvol-copy-1.png
  2. From this page, select the vVol based VM and the Data vVol from that VM that you want to recover.  This can be a different vVol VM or the same vVol VM that you want to import the data vVol to.  In this example the Hard Disk 2 is selected and when expanded all Snapshots for that vVol are shown.  In this case, the one selected in a Snapshot from the FlashArray pgroup "vSphere-Plugin-pgroup-2" and the Snapshot Name of "53".
    vvols-plugin-kb-06-vvol-copy-2.png
    In the Volume Information for the selected snapshot, we can see when the snapshot was created and the information for this vVol that will be imported.
    Click on Import to complete the workflow. 
Creating the Copy from a vSphere Managed Snapshot with the Pure Storage vSphere Plugin
  1. From the Virtual Machines Configure page, navigate to the Pure Storage - Virtual Volumes tab, select Import Disk.
    vvols-plugin-kb-06-vvol-copy-1.png
  2. Instead of using a FlashArray pgroup snapshot to import the vVol, this time a Managed Snapshot will be selected.  Notice the difference in the naming for the selected vVol.  There is no pgroup or snapshot name associated with it.  Just the volume group and data vvol name, followed by a "-snap" indicating that this is a managed snapshot for this vVol.  
    vvols-plugin-kb-06-vvol-copy-3.png
    The same type of information is provided in the Volume Information for Managed Snapshot or FlashArray Snapshots.
    To complete the import workflow, click on Import.
     
  3. Once the Import Workflows have completed, the new Data vVols will show up on the Virtual Volumes page.
    vvols-plugin-kb-06-vvol-copy-4.png

Recovering a vVols based Virtual Machine - VM Undelete and VM Revert
-- Purity//FA 6.2.6 or Higher --

With the release of Purity//FA 6.2.6 and Pure Storage vSphere Remote Plugin 5.1.0, two new features of VM Undelete were released:  the ability to revert a VM to a specific Point in Time (PiT) array based snapshot and being able to Undelete a vVols based VM that has been eradicated on the array to a specific PiT array snapshot.  The standard VM Undelete is still present.

Before getting into the workflows specifically let's cover what is required in order to be able to execute the PiT Revert and PiT Undelete workflows.

  • In order to be able to execute VM Undelete within the eradication timer (default 24 hours), at minimum an array snapshot of the VM's config vVol is required.  
  • In order to be able to execute PiT VM Undelete of a vVols based VM that has been eradicated, a FA protection group snapshot of all the VMs Data vVols, managed snapshots and Config vVols are required.
  • In order to be able to execute a PiT VM Revert of a vVols based VM, a FA protection group snapshot of all vVol disks of the currently configured VM are required.
    • The volume snapshot objects should be associated with an FA protection group directly and not through a host object or host group attached to the protection group.
      •  If the ability to consistently back up the environment with snapshots is the goal, when the VM is powered off while a snapshot is being taken of the host or host group object, but then gets powered on after the snapshot interval, the protection required might not be present because that VM would not have had a snapshot taken of it. This applies if the VM is in-flight during the snapshot operation as well.
      • The vVol VM can shift hosts with DRS enabled in vCenter or can be manually migrated to other hosts; this changes where the volumes are mapped from a FlashArray host object perspective.
      • The host will disconnect from some of the vVol volumes when the VM is powered off and while the VM is powered on, the swap volume would be backed up which is unnecessary.
      • The vVols service on the FlashArray, VASA, won't have insight into why those volumes are part of the protection group. Depending on the SPBM policy or replication group applied to the VM, there might be misleading compliance results on the VM in vCenter.

With that covered, Pure Storage does recommend leveraging SPBM and local snapshot protection placement rules for vVols based VMs.  Please see the implementation guide for SPBM for more information on local snapshot protection placement in particular.

Using a storage policy to enable VM Undelete Protection and the policy's configuration
vSphere Plugin - vVols Management KB - VM Undelete - 01.png
When a vVols based VM does not have a snapshot of the Config vVol, the VM will report that it does not have Undelete Protection
vSphere Plugin - vVols Management KB - VM Undelete - 02.png
For these workflows, a Storage Policy is created that has Local Snapshot Protection placement rule sets and the FlashArray Group specified
vSphere Plugin - vVols Management KB - VM Undelete - 03.png
The VM that showed that Undelete Protection was not current had the vVol No Requirements Policy applied to it
vSphere Plugin - vVols Management KB - VM Undelete - 04.png
The VM storage policy is changed to the one previously covered and applied to the whole VM
vSphere Plugin - vVols Management KB - VM Undelete - 01 - additional.png
Once the protection group snapshot schedule triggers, we now see that the VM has Undelete Protection
vSphere Plugin - vVols Management KB - VM Undelete - 07.png
Looking at the VM Compliance for the Policy we see the 4 VMs that have it applied and that they are all in a Compliant state

Now that the way the VMs are protected on the array is covered here are the specific workflows with these examples.

VM Undelete

In this example, the VMs have been powered off and Deleted from disk. Two of the VMs have additionally been eradicated from the array.

Recovering a Deleted vVol VM pending eradication with the Pure Storage vSphere Plugin - VM Undelete
  1. VM Undelete is a workflow available to the vVols Datastore.  Navigate to the vVols Datastore - Right click on the vVol Datastore - click on Pure Storage - Select Undelete Virtual Machine
    vSphere Plugin - vVols Management KB - VM Undelete - 13.png
  2. Take note of the Sources column as this will denote the available protection group snapshots on the array that can be used to recover the VM.  The exception is VMs that have been deleted from disk in vCenter but the array volumes have not yet been eradicated.  The sources will always show as 1 for them
    vSphere Plugin - vVols Management KB - VM Undelete - 14.png
    1. Checking from the array GUI, we can see that the 01 and 05 VMs have not been eradicated and are in a pending eradication state
      vSphere Plugin - vVols Management KB - VM Undelete - 15.png
  3. The VM c08-17-vvol-vm-01 is selected to be undeleted and the next page shows the point in times to chose from.  As this VM is in a pending eradication state, only one PiT source is shown but has the "destroyed volumes" notation.  Meaning that the VM's objects on the array have been destroyed but not eradicated yet
    vSphere Plugin - vVols Management KB - VM Undelete - 16.png
  4. A compute resource is selected next
    vSphere Plugin - vVols Management KB - VM Undelete - 17.png
  5. Review the details and then click Finish to recover the VM that has been deleted in vSphere but volumes on the array have not been eradicated
    vSphere Plugin - vVols Management KB - VM Undelete - 18.png
  6. Once the VM has been recovered, review that everything looks correct and the VM can be powered on and verified
  7. One thing to keep in mind is that storage policies are not applied or reviewed when registering an VM in vSphere
    vSphere Plugin - vVols Management KB - VM Undelete - 20.png
    As such, please apply the appropriate storage policy for the VM to ensure that the VM is still protected
    vSphere Plugin - vVols Management KB - VM Undelete - 26.png

Point in Time VM Undelete

In this example, the VMs have been powered off and Deleted from Disk. Two of the VMs have additionally been eradicated from the array. The workflow shown below is selecting a specific array protection group snapshot to recover (Undelete) the eradicated VMs from.

Recovering a Deleted vVol VM that has been eradicated with the Pure Storage vSphere Plugin - PiT VM Undelete
  1. Similar to the standard VM Undelete process, but instead of choosing a VM that is pending eradication on the array, select a VM that has been eradicated.  In the example the VM c08-17-vvol-vm-02 is selected
    vSphere Plugin - vVols Management KB - VM Undelete - 19.png
  2. Now the sources will show each array protection group snapshot that includes all vVols for that VM
    vSphere Plugin - vVols Management KB - VM Undelete - 21.png
  3. After a source is selected click next, then select the compute desired and click next
    vSphere Plugin - vVols Management KB - VM Undelete - 22.png
  4. Review the details and then click Finish
    vSphere Plugin - vVols Management KB - VM Undelete - 23.png
  5. After the VM is recovered, confirm that the VM looks healthy and then the VM can be powered on and verified
  6. As with the standard Undelete process, the policy association is lost in vSphere when the VM is deleted.  Ensure that the storage policy is reapplied to the VM to ensure that protection is still applied.

Point in Time VM Revert

In this example one powered of VM is reverted (rolled back) to a specific array protection group snapshot.

Reverting a vVol VM with the Pure Storage vSphere Plugin - PiT VM Revert
  1. Ensure that the VM is powered off.  The VM PiT Revert can only be executed against a VM that is powered off

  2. Right Click on the Powered Off VM - Navigate to the Pure Storage option - Select Revert to Snapshot

    vSphere Plugin - vVols Management KB - VM Undelete - 08.png
  3. The list of array protection group snapshots will be listed out as the sources to revert to
    vSphere Plugin - vVols Management KB - VM Undelete - 09.png
    1. The sources are determined by the array snapshots that contain all of the objects for the current configuration of the VM
      vSphere Plugin - vVols Management KB - VM Undelete - 10.png
      On the array we see that there are three protection group snapshots and those line up for the 3 options to revert the VM to
  4. Click Next after selecting the PiT to revert to and then Finish

    vSphere Plugin - vVols Management KB - VM Undelete - 11.png
  5. Now the VM has been rolled back to that specific PiT, power on the VM and confirm that it is in the desired state
    vSphere Plugin - vVols Management KB - VM Undelete - 12.png
    The audit log will show the specific workflow that was executed to revert the VM as well

Recovering a vVols based Virtual Machine - VM Undelete
-- Purity//FA 6.1 and Lower --

The Pure Storage vSphere Plugin has a workflow that can recover a vVol based VM that has a FlashArray snapshot of the VMs config vVol.  The section in the Demo Video that covers this workflow can be found here.  This Undelete workflow is specific to arrays running Purity//FA 6.1 and lower.  See the previous section if Purity//FA 6.2.6 or higher is running.

Recovering a Deleted vVol VM with the Pure Storage vSphere Plugin
  1. From the Virtual Machine view, there is a FlashArray box.  This will explain whether or not the VM has Undelete Protection.  Undelete Protection means that there is currently a FlashArray Snapshot of this VMs Config vVol.  This is required for the Undelete workflow because of the following reasons:
    1. When a vVol VM is deleted, VMware will first delete the information of the Data vVols inventory from the config.
    2. After that is complete, VMware issues a volume unbind and destroy the Config vVol.  This means that by the time the FlashArray has destroyed the Config vVol, the inventory mapping and Data vVol information has been deleted.  
    3. In order to recover a VM that has been deleted, the Config vVol has to be overwritten with the snapshot of that Config vVol
  2. From the Virtual Machine view, we can see that the last snapshot of the Config vVol on the FlashArray is at 3:17 PM on July 21st.  Which means, that if there have been any edits to the VM such as CPU, Memory, new vVols, etc, it will not be recovered.  The state of the VM at the Undelete Protection timestamp will be what is recovered.
    vvols-plugin-kb-04-VM-Details-1.png
  3. This VM has been powered off and is now going to be deleted.
    vvols-plugin-kb-07-vm-undelete-1.png
  4. From the Datastore tab, select the vVol Datastore.  Right Click on the vVol Datastore, go to the Pure Storage option, and select "Undelete Virtual Machine"
    vvols-plugin-kb-07-vm-undelete-2.png
  5. The first page "Virtual Machine" will let you select which destroyed VM you want to recover.  The caveat is that by default, a volume on the FlashArray that is destroyed has 24 hours until it is eradicated.  This page will notify how much Time Remaining the VM has to be recovered.
    vvols-plugin-kb-07-vm-undelete-3.png
  6. The next page, "Compute Resource", select the ESXi host that will recover the VM.
    vvols-plugin-kb-07-vm-undelete-4.png
  7. Review the details and then select Finish.
    vvols-plugin-kb-07-vm-undelete-5.png
  8. Power on the VM and check that everything is powering on and is healthy.
    vvols-plugin-kb-07-vm-undelete-6.png

Video Demo 

Here is a Video Demo that walks through each of these steps covered in the KB - With the undelete workflows this example is of Purity//FA 6.1 and lower.  This does not show the workflows in Purity//FA 6.2 and higher.