Skip to main content
Pure Technical Services

vVols User Guide: Storage Policy Based Management

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

Storage Policy Based Management

A major benefit of the vVol architecture is granularity—its ability to configure each virtual volume as required and ensure that the configuration does not change.

Historically, configuring storage with VMware management tools has required GUI plugins. Every storage vendor’s tools were unique—there was no consistency across vendors. Plugins were integrated with the Web Client, but not with vCenter itself, so there was no integration with the SDK or PowerCLI. Moreover, ensuring on-going configuration compliance was not easy, especially in large environments. Assuring compliance with storage policies generally required 3rd party tools.

With vVol data granularity, an array administrator can configure each virtual disk or VM exactly as required. Moreover, with vVols, data granularity is integrated with vCenter in the form of custom storage policies that VMware administrators create and apply to both VMs and individual virtual disks.

Storage policies are VMware administrator-defined collections of storage capabilities. Storage capabilities are array-specific features that can be applied to volumes on the array. When a storage policy is applied, VMware filters out non-compliant storage so that only compliant targets are presented as options for configuring storage for a VM or vVol.

If an array administrator makes a VM or volume non-compliant with a VMware policy, for example by changing its configuration on the array, VMware marks the VM or VMDK non-compliant. A VMware administrator can remediate non-compliant configurations using only VMware management tools; no array access is required.


FlashArray Storage Capabilities

An array’s capabilities represent the features it offers. When any FlashArray’s VASA providers are registered with vCenter, the array informs vCenter that the array has the following capabilities:

  • Encryption of stored data (“data at rest”)
  • Deduplication
  • Compression
  • RAID protection
  • Flash storage

All FlashArrays offer these capabilities; they cannot be disabled. VMware administrators can configure the additional capabilities advertised by the VASA provider and listed in the following table.

Capability Name

Value (not case-sensitive)

Consistency Group Name

A FlashArray protection group name

FlashArray Group

Name of one or more FlashArrays

Local Snapshot Interval

A time interval in seconds, minutes, hours, days, week, months or years.

Local Snapshot Policy Capable

Yes or No

Local Snapshot Retention

A time interval in seconds, minutes, hours, days, week, months or years.

Minimum Replication Concurrency

Number of target FlashArrays to replicate to at once

Pure Storage FlashArray

Yes or No

QoS Support

Yes or No

Replication Capable

Yes or No

Replication Interval

A time interval in seconds, minutes, hours, days, week, months or years.

Replication Retention

A time interval in seconds, minutes, hours, days, week, months or years.

Target Sites

Names of specific FlashArrays desired as replication targets

Configurable Capabilities Advertised by FlashArray VASA Providers 1.0.0 and higher

There are some new capabilites that are now advertised with the release of Purity//FA 6.2.6 and the Pure VASA Provider 2.0.  These capabilities are all placement based rules and will only match a vVol datastore running on a FlashArray running Purity//FA 6.2.6 or higher.  Here are the capabilities that are available starting with Purity//FA 6.2.6 and VASA Provider 2.0.

QoS Placement Capability Name

Value (not case-sensitive)

Per Virtual Disk IOPS Limit

A value and the unit of measurement (hundreds, thousands or millions)

Per Virtual Disk Bandwith Limit

A value and the unit of measurement (KB/s, MB/s or GB/s)

Local Snapshot Protection Placement Capability Name

Value (not case-sensitive)

Snapshot Interval

A time interval in seconds, minutes, hours, days, week, months or years.

Retain all Snapshots for 

A time interval in seconds, minutes, hours, days, week, months or years.

Retain Additional Snapshots Number of snapshots to be retained for
Days to Retain Additional Snapshots Number of Days to retain the additional snapshots

Volume Tagging Placement Capability Name

Value (not case-sensitive)

Key

Name of the the volume key tag

Value Name of the volume value tag
Copyable Yes or No

Configurable Capabilities Advertised by FlashArray VASA Providers 2.0.0 and higher


Storage Capability Compliance

Administrators can specify values for some or all of these capabilities when creating storage policies. VMware performs two types of policy compliance checks:

  • If a vVol were to be created on the array, could it be configured with the feature?
  • Is a vVol in compliance with its policy? For example, a vVol with a policy of hourly snapshots must be (a) on FlashArray that hosts a protection group with hourly snapshots enabled and (b) a member of that protection group.

Only VMs and virtual disks configured with vVols can be compliant. VMFS-based VMs are never compliant, even if their volume is on a compliant FlashArray.

The following table lists the circumstances under which a policy offers each capability, and under which a vVol is in or out of compliance with it. 

Capability Name An array offers this capability when… A vVol is in compliance when… A vVol is out of compliance when…
Pure Storage FlashArray …it is a FlashArray (i.e. always). …it is on a FlashArray, if the capability is set to ‘Yes’.

…it is on a different array vendor/model and the capability is set to ‘Yes’.

…it is on a FlashArray and the capability is set to ‘No’.

FlashArray Group

…it is a FlashArray and its name is listed in this group.

…it is on a FlashArray with one of the configured names.

…it is not on a FlashArray with one of the configured names.

QoS Support

…it is a FlashArray and has QoS enabled.

…it is on a FlashArray with QoS enabled and the capability is set to ‘Yes’.

…it is on a FlashArray with QoS disabled and the capability is set to ‘No’.

…it is on a FlashArray with QoS disabled and the capability is set to ‘Yes’.

…it is on a FlashArray with QoS enabled and the capability is set to ‘No’.

Consistency Group Name

…it is a FlashArray and has a protection group with that name.

…it is in a protection group with that name.

…it is not in a protection group with that name.

Local Snapshot Policy Capable

…it is a FlashArray and has at least one protection group with an enabled snapshot schedule. 

…it is on a FlashArray with at least one protection group with an enabled snapshot schedule. 

…it is on a FlashArray that does not have at least one protection group or on a non-FlashArray.

Local Snapshot Interval

…it is a FlashArray and has at least one protection group with an enabled local snapshot policy of the specified interval.

…it is in a protection group with an enabled local snapshot policy of the specified interval.

…it is not in a protection group with an enabled local snapshot policy of the specified interval.

Local Snapshot Retention

…it is a FlashArray and has at least one protection group with an enabled local snapshot policy of the specified retention.

…it is in a protection group with an enabled local snapshot policy of the specified retention.

…it is not in a protection group with an enabled local snapshot policy of the specified retention.

Replication Capable

…it is a FlashArray and has at least one protection group with an enabled replication schedule.

…it is in a protection group with an enabled replication target.

…it is not in a protection group with an enabled replication target.

Replication Interval

…it is a FlashArray and has at least one protection group with an enabled replication policy of the specified interval.

…it is in a protection group with an enabled replication policy of the specified interval.

…it is not in a protection group with an enabled replication policy of the specified interval.

Replication Retention

…it is a FlashArray and has at least one protection group with an enabled replication policy of the specified retention.

…it is in a protection group with an enabled replication policy of the specified retention.

…it is not in a protection group with an enabled replication policy of the specified retention.

Minimum Replication Concurrency

…it is a FlashArray and has at least one protection group with the specified number or more of allowed replication targets.

…it is in a protection group that has the specified number of allowed replication targets.

…it is not in a protection group that has the specified number of allowed replication targets.

Target Sites

…it is a FlashArray and has at least one protection group with one or more of the specified allowed replication targets.

If “Minimum Replication Currency” is set, then it must match at least that configured value of FlashArrays.

…it is in a protection group with one or more of the specified allowed replication targets.

If “Minimum Replication Currency” is set, then it must be replicated to at least that configured value of the listed target FlashArrays.

…it is not in a protection group replicating to the minimum amount of correct target FlashArrays.

 

QoS Placement
Capability Name
An array offers this capability when… A vVol is in compliance when… A vVol is out of compliance when…
Per Virtual Disk IOPS Limit ...it is a FlashArray runing Purity//FA 6.2.6 or higher. ...the volume QoS IOPS Limit matches the value of the rule. ...the volume's QoS IOPS Limit is either unset or does not match the value in the rule.
Per Virtual Disk Bandwith Limit ...it is a FlashArray runing Purity//FA 6.2.6 or higher. ...the volume QoS Bandwidth Limit matches the value of the rule. ...the volume's QoS Bandwidth Limit is either unset or does not match the value in the rule.
Local Snapshot
Protection Placement
Capability Name
An array offers this capability when… A vVol is in compliance when… A vVol is out of compliance when…
Snapshot Interval ...it is a FlashArray runing Purity//FA 6.2.6 or higher. ...the protection group that VASA is using for the storage policy matches the ruleset, the vVol is a member of the protection group and the snapshot schedule is enabled. ...the vVol is not a member of the paired protection group, the interval does not match the policy rule or the snapshot schedule is disabled.
Retain all Snapshots for  ...it is a FlashArray runing Purity//FA 6.2.6 or higher. ...the protection group that VASA is using for the storage policy matches the ruleset, the vVol is a member of the protection group and the snapshot schedule is enabled. ...the vVol is not a member of the paired protection group, the retention interval does not match the policy rule or the snapshot schedule is disabled.
Retain Additional Snapshots ...it is a FlashArray runing Purity//FA 6.2.6 or higher. ...the protection group that VASA is using for the storage policy matches the ruleset, the vVol is a member of the protection group and the snapshot schedule is enabled. ...the vVol is not a member of the paired protection group, the value does not match the policy rule or the snapshot schedule is disabled.
Days to Retain Additional Snapshots ...it is a FlashArray runing Purity//FA 6.2.6 or higher. ...the protection group that VASA is using for the storage policy matches the ruleset, the vVol is a member of the protection group and the snapshot schedule is enabled. ...the vVol is not a member of the paired protection group, the value does not match the policy rule or the snapshot schedule is disabled.
Volume Tagging Placement
Capability Name
An array offers this capability when… A vVol is in compliance when… A vVol is out of compliance when…
Key ...it is a FlashArray runing Purity//FA 6.2.6 or higher. ...a tag exists on the volume that matches the key value pair dictated by the rule. ...a tag does not exist or does not match the key value pair dictated by the rule.
Value ...it is a FlashArray runing Purity//FA 6.2.6 or higher. ...a tag exists on the volume that matches the key value pair dictated by the rule. ...a tag does not exist or does not match the key value pair dictated by the rule.

 


Combining Capabilities and Storage Compliance

This section describes an example of combining capabilities into a policy. Storage policies are a powerful method of assuring specific configuration control, but they affect how vVol compliance is viewed. For an array or vVol to be compliant with a policy:

  1. The array or vVol must comply with all of the policy’s capabilities
  2. For snapshot and replication capabilities, the array must have at least one protection group that offers all of the policy’s capabilities. For example, if a policy requires hourly local snapshots and replication every 5 minutes, a protection group with a hourly snapshots and a different protection group with 5 minute replication do not make the array compliant. VMware requires that volumes be in a single group during policy configuration, so to be compliant for this example, an array would require at least one protection group with hourly snapshots and 5 minute replication.
  3. Some combinations of capabilities cannot be compliant. For example, setting an array’s Local Snapshot Policy Capable capability to No and specifying a policy that includes snapshots means that no storage compliant with the policy can be hosted on that array.

Creating a Storage Policy

vCenter makes the capabilities advertised by an array’s VASA Provider available to VMware administrators for assembling into storage policies. Administrators can create policies by using APIs, GUI, CLI, or other tools. This section describes two ways of creating policies for FlashArray-based vVols:

  1. Custom Policy Creation
    1. Using the Web Client to create custom policies using capabilities published by the FlashArray VASA provider
  2. Importing FlashArray Protection Groups
    1. Using the Plugin to create storage policies by importing a FlashArray protection group configuration

Creating Custom Storage Policies

Click the home icon at the top of the Web Client home screen, and select Policies and Profiles from the dropdown menu to display the VM Storage Policies pane.

vVols Implementation Guide - SPBM - 01.png
Policies and Profiles Command

Select the VM Storage Policies tab and click the Create VM Storage Policy button  to launch the Create New VM Storage Policy wizard.

vVols Implementation Guide - SPBM - 02.png
Create VM Storage Policy Button

Select a vCenter from the dropdown and enter a name and description for the policy.

vVols Implementation Guide - SPBM - 03.png
Create New VM Storage Policy Wizard

It is a best practice to use a naming convention that is operationally meaningful. For example the name above suggests that the policy will have local snapshot protection with a one hour interval and 15 minute replication.

Select com.purestorage.storage.policy in the <Select provider> dropdown to use the FlashArray VASA provider rules (com.purestorage.storage.policy) to create the storage policy.

vVols Implementation Guide - SPBM - 04.png
Before Purity 6.2.6 and VASA Provider 2.0.0 the FlashArray VASA Provider rulesets showed up as a string like this.  Moving forward the rules will have a friendlier name displaying as just "Pure Storage"

vVols Implementation Guide - SPBM - 04 - b.png
Rule-set Page of the Create New VM Storage Policy Wizard

A storage policy requires at least one rule. To locate all VMs and virtual disks to which this policy will be assigned on FlashArrays, click the <Add rule> dropdown and select the Pure Storage FlashArray capability.

vVols Implementation Guide - SPBM - 05.png
Adding a Storage Policy Rule

At least one Placement rule needs to be provided in order to create a storage policy with the Pure Storage rules.

vVols Implementation Guide - SPBM - 17.png
Error if no placement rule is provided

The selected rule name appears above the <Add rule> dropdown, and a dropdown list of valid values appears to the right of it. Select Yes and click Next to create the policy. As defined thus far, the policy requires that VMs and vVols to which it is assigned be located on FlashArrays, but they are not otherwise constrained. When a policy is created, the Plugin checks registered arrays for compliance and displays a list of vVol datastores on arrays that support it.

vVols Implementation Guide - SPBM - 09.png
List of Arrays Compatible with a New Storage Policy

The name assigned to the policy (FlashArray-1hrSnap15minReplication) suggests that it should specify hourly snapshots and 15-minute replications of any VMs and virtual volumes to which it is assigned. Click Back to edit the rule-set.

With the release of Purity 6.2.6 and VASA Provider 2.0.0 a placement rule was added for local snapshot protection.  Meaning that replication groups are no longer required to provide local snapshot protection to VMs.  If using a Purity//FA version lower that 6.2.6 then replication groups will still be needed for providing local snapshot protection.  In the example we provide in this KB we will show how to leverage Snapshot Placement ruleset in a policy.

FlashArray replication and snapshot (only required for Purity//FA versions below 6.2.6) capabilities require component rules. Click Custom and select Replication from the dropdown to display the Replication component rule pane.

vVols Implementation Guide - SPBM - 07.png
Selecting Replication Capabilities for the Policy

Click the Add Rule dropdown again, select Remote Replication Interval, enter 15 in the text box, select Minutes as the unit and click Next to display the list of registered arrays that are compatible with the augmented policy.

vVols Implementation Guide - SPBM - 08.png
Specifying Replication Interval Rule

In vSphere there is the ability to create pre-defined replication rule requirements.  These can be created in the Storage Policy Components tab under Policies and Profiles.

vVols Implementation Guide - SPBM - 11.png
Creating a new Storage Policy Component

After selecting the Pure Storage Replication Provider the same replication rules are available to be used.  Here we create a component ruleset that matches the custom one we provided in the storage policy above.

vVols Implementation Guide - SPBM - 12.png
Storage Policy Component with Replication rules

If we had wanted to use a replication component in the new storage policy we would have selected it from a drop down instead of choosing the custom option.

vVols Implementation Guide - SPBM - 13.png
Selecting a Storage Policy Component

With Purity//FA 6.2.6 and VASA Provider 2.0.0 local snapshot protection is provided through a placement capability.  To provide local snapshot protection the "Local Snapshot Protection" rule will need to be selected.  While the local snapshot rules can be added to a replication component, we recommend using local snapshot placement rules for this moving forward.  Here is what the local snapshot placement rules look like.

vVols Implementation Guide - SPBM - 06.png
Selecting Local Snapshot Placement Capability

With local snapshot placement VASA will be creating a new FlashArray protection group that will be mapped one to one with this storage policy.  As such all protection group settings will be required as part of enabling that capability ruleset.  Additionally help tooltips are provided for each rule.

vVols Implementation Guide - SPBM - 06 - b.png
Snapshot placement rule hints

In the example provided here we have a Storage Policy that has both local snapshot placement enabled along with replication rules.

vVols Implementation Guide - SPBM - 10.png
Storage Policy review and finish

Note:
A policy can be created even if no registered vVol datastores are compatible with it, but it cannot be assigned to any VMs or vVols. Storage can be adjusted to comply, for example, by creating a compliant protection group, or alternatively, the policy can be adjusted to be compatible with existing storage.

Auto-policy Creation with the Plugin

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.   This process is covered in the Demo Video here.  Click to expand the workflow below.

Importing FlashArray Protection Groups as SPBM Policies with the Pure Storage vSphere Plugin

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

vSphere Plugin 4.5.0 and Later

  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

 


Changing a Storage Policy

A VMware administrator can edit a storage policy that no longer fulfills the needs of the VMs assigned to make it fulfill current needs.

To change a policy’s parameters from the Policies and Profiles page in the Web Client, select VM Storage Policies, select the policy to be changed, and click the Edit button to display a list of the policy’s rules. Make the needed rule changes and click OK.

vVols Implementation Guide - SPBM - 14.png
Edit Settings Button
vVols Implementation Guide - SPBM - 15.png
Changing or adding a Policy Rule

Clicking OK launches the VM Storage Policy in Use wizard, offering two options for resolution:

Manually later 

Flags all VMs and virtual disks to which the changed policy is assigned as Out of Date.

Now

Assigns the changed policy to all VMs and virtual disks assigned to the original policy.

vVols Implementation Guide - SPBM - 16.png
VM Storage Policy in Use Wizard

Should Manually Later have been chosen the VM compliance can be checked by selecting the storage policy and then looking at the VM Compliance tab.

vVols Implementation Guide - SPBM - 18.png
Out of Date Storage Policies

If Manually later is selected, VMs and vVols show Out of Date compliance status. Update the policies for the affected VMs by clicking the Reapply from the VM Storage Policy header bar.

vVols Implementation Guide - SPBM - 19.png
Reapply Storage Policy Button
vVols Implementation Guide - SPBM - 20.png
Confirm the Reapply Action

Now that the Policy has been reapplied the VMs policy status will be in compliance.  


Checking VM Storage Policy Compliance

A vVol-based VM or virtual disk may become noncompliant with its vCenter storage policy when a storage policy is changed, when an array administrator reconfigures volumes, or when the state of an array changes.

For example, if an array administrator changes the replication interval for a protection group that corresponds to a vCenter storage policy, the VMs and virtual disks to which the policy is assigned are no longer compliant.

To determine whether a VM or virtual disk is compliant with its assigned policy, either select the policy and display the objects assigned to it , or validate VMs and virtual disks for compliance with a given policy.

From the Web Client home page, click the VM Storage Policies icon to view the vCenter’s list of storage policies. Select a policy, click the Monitor tab, and click the VMs and Virtual Disks button to display a list of the VMs and virtual disks to which the policy is assigned.

vVols Implementation Guide - SPBM - 22.png
VM Storage Policies Icon
vVols Implementation Guide - SPBM - 21.png
Selecting a Policy and showing the VM Compliance List

Each policy’s status is either:

Compliant

The VM or virtual disk is configured in compliance with the policy.

Noncompliant

The VM or virtual disk is not configured according to the policy.

Out-of-date

The policy has been changed but has not been re-applied. The VM or virtual disk may still be compliant, but the policy must be re-applied to determine that.


Assigning a Storage Policy to a VM or Virtual Disk

The Web Client can assign a storage policy to a new VM or virtual disk when it is created, deployed from a template, or cloned from another VM. A VMware administrator can change the policy assigned to a VM or virtual disk. Finally, a VM’s storage policy can be changed during Storage vMotion.

Assigning a Storage Policy to New VM

A VMware administrator can assign a storage policy to a new VM created using the Deploy from Template wizard. (The procedure is identical to policy assignment with the Create New Virtual Machine and Clone Virtual Machine wizards.)

Right-click the target template in the Web Client inventory pane’s VMs and Templates list, and select New VM from This Template.

vVols Implementation Guide - SPBM - 23.png
New VM from Template Command

From the Storage selection page there is a section for VM Storage policy that allows the selectin of any policies that have been created.  

vVols Implementation Guide - SPBM - 24.png
Select Storage Step of Template

Setting a Policy for an Entire VM

In the Select Storage pane, select Thin Provision from the Select virtual disk format dropdown (FlashArrays not running on Purity//FA 6.2.0 or later only support thin provisioned volumes; selecting other options causes VM creation to fail), and either select a datastore (VMFS, NFS or vVol) from the list or a policy from the VM storage policy dropdown.

Selecting a policy filters the list to include only compliant storage. For example, selecting the built-in vVol No Requirements Policy, would filter the list to show only vVol datastores.

Selecting the FlashArray-15MinReplication-Component policy filters out datastores on arrays that do not have protection groups with those properties.

vVols Implementation Guide - SPBM - 25.png
Selecting a Storage Policy

A storage policy that includes local snapshots or remote replication requires a replication group. An existing group can be assigned, or, if Automatic is selected, VMware directs the array to create a protection group with the specified capabilities.

Whichever option is chosen, the VM’s config vVol and all of its data vVols are assigned the same policy. (Swap vVols are never assigned a storage policy.) Click Finish to complete the wizard. The VM is created and its data and config vVols are placed in the assigned protection group.

vVols Implementation Guide - SPBM - 26.png
Assign an Existing Replication Group

BEST PRACTICES: Pure Storage recommends assigning local snapshot policies to all config vVols to simplify VM restoration.

All FlashArray volumes are thin provisioned, so the Thin Provision virtual disk format should always be selected. With FlashArray volumes, there is no performance impact for thin provisioning.

The screenshot below shows the FlashArray GUI view of a common storage policy for an entire vVol-based VM.

vVols Implementation Guide - SPBM - 27.png

FlashArray GUI View of a VM-wide Storage Policy

Assigning a Policy to Each of VM's Virtual Disks 

In most cases, VMware administrators put all of a VM’s volumes in the same protection group, thereby assigning the same storage policy to them.

Alternatively, there is the option to apply the storage policy at a per virtual disk basis.  Select configure Per Disk.

vVols Implementation Guide - SPBM - 28.png
Configure storage policy per Disk

In this view, a separate storage policy can be specified for for the VM’s config vVol as well as for each virtual disk (data vVol).

The Configuration File line refers to the VM’s config vVol. The remaining lines enumerate its data vVols (Hard Disk 1 in the example).

vVols Implementation Guide - SPBM - 29.png
Configure Per Disk - Configuring the Configuration File

The objects can be configured individual or by selecting multiple virtual disks or configuration file.

vVols Implementation Guide - SPBM - add 01.png
Configure Per Disk - Selecting one virtual disk
vVols Implementation Guide - SPBM - 30.png
Configure Per Disk - Selecting two virtual disks

Selecting a policy from the VM storage policy dropdown filters the list to include only compliant datastores. For example, selecting the vVol No Requirements Policy lists only vVol datastores. 

A storage policy that includes local snapshots or remote replication requires a replication group. An existing group can be assigned (for example, sn1-x70-c05-33:FlashArray-SPBM-15minReplication).

Alternatively, if Automatic is selected, the array creates a protection group with the capabilities specified by the policy. Whichever option is chosen, the policy is assigned to the vVol.

vVols Implementation Guide - SPBM - add 02.png
Select VM Storage Policy - Storage - Replication Group

For example, a VM’s config vVol might be assigned a FlashArray-1hrLocalSnap storage policy, which uses Local Snapshot Protection rules.  Whereas its the boot data vVol might be assigned the FlashArray-15minReplication policy, corresponding to the sn1-x70-c05-33:FlashArray-SPBM-15minReplication replication group.

vVols Implementation Guide - SPBM - 31.png
Separate Storage Policies for Config and Data vVols

Here are the screenshots from the Array that list the contents of the two protection groups that correspond to the policies chosen for the config and data.

vVols Implementation Guide - SPBM - add 03.png
Config vVol in the VASA managed protection group for the given Storage Policy
vVols Implementation Guide - SPBM - 32.png
Data vVol in the 15 Minute Replication Array Protection Group

VMware does not allow a single VM to have different Replication Groups for different virtual disks.  If a VM has objects in a replication group, then all objects that have a replication policy applied should use the same replication group.  

Changing a VM's Storage Policy

To change a VM’s storage policy, a VMware administrator assigns a new policy to it. VMware directs the array to reconfigure the affected vVols. If the change makes the VM or any of its virtual disks non-compliant, the VMware administrator must adjust their policies.

To change a VM’s storage policy, select the VMs and Templates view in the Web Client inventory pane, (1) right-click the target VM, (2) select VM Policies from the dropdown menu, and (3) select Edit VM Storage Policies from the secondary dropdown to launch the Edit VM Storage Policies wizard.

vVols Implementation Guide - SPBM - 33.png
Edit VM Storage Policies Command

The VM Storage Policies can be edied a per disk level or all at the same time.  Same with the replication group selection.

vVols Implementation Guide - SPBM - 34.png
Edit VM Storage Policies Wizard
vVols Implementation Guide - SPBM - 35.png
Edit VM Storage Policy Replication Group

To change the storage policy assigned to a VM’s config vVol or a single data vVol, select a policy from the dropdown in the VM Storage Policy column of its row in the table.

Selecting a policy that is not valid for the array that hosts a vVol displays a Datastore does not match current VM policy error message. To satisfy the selected policy, the VM would have to be moved to a different array (reconfiguration would not suffice).

A storage policy change may require that the replication groups for one or more vVols be changed.

vVols Implementation Guide - SPBM - 37.png

vVols Implementation Guide - SPBM - 38.png
One or More Replication Groups not Configured

This warning typically appears for one of two reasons:

  1. One or more vVols are in replication groups (FlashArray protection groups) do not comply with the new storage policy.
  2. The new storage policy requires that vVols be in a replication group, and one or more vVols are not.

Note: If no policy is shared by all of the VM’s vVols, the Replication group dropdown does not appear.

When the policy and replication groups (if required) are set then the Policy summary page will show the state and compliance for each object.

vVols Implementation Guide - SPBM - 37.png

vVols Implementation Guide - SPBM - 38.png
One or More Replication Groups not Configured

Assigning a Policy during Storage Migration

Compliance with an existing or newly assigned storage policy may require migrating a VM to a different array. For example, VM migration is required if:

  • A policy specifying a different array than the current VM or virtual disk location is assigned
  • A policy requiring QoS (or not) is assigned to a VM or virtual disk located on an array with the opposite QoS setting.
  • A policy specifying snapshot or replication parameters not available with any protection group on a VM or virtual disk’s current array is assigned.
  • Some of these situations can be avoided by array reconfiguration, for example by creating a new protection group or inverting the array’s QoS setting. Others, such as a specific array requirement, cannot. If an array cannot be made to meet a policy requirement, the VMware administrator must use Storage vMotion to move the VM or virtual disk to one that can satisfy the requirement. The administrator can select a new storage policy during Storage vMotion.

Here is what the process would look like when migrating a VM from VMFS to vVols.  During the storage selection process you would be able to choose the storage policy and what compatible storage is available.  After choosing to migrate the VM, select to change storage only.  

Screen Shot 2022-04-21 at 5.10.33 PM.png
Migrate VM - Storage Only

From the select storage page in the wizard the option to select storage policy is there.  When selecting a storage policy the compatible storage will be shown at the top of the storage list.  If choosing a policy that requires a replciation group there is a replication group selection box at the bottom.

Screen Shot 2022-04-21 at 5.11.47 PM.png
Screen Shot 2022-04-21 at 5.12.34 PM.png
Migrate VM - Storage and Policy Selection

Once the desired policy and replication group (if needed) is selected the migration wizard can be completed.  

BEST PRACTICE: Pure Storage recommends reselecting the same storage policy rather the Keep existing storage policy option in order to provide Storage vMotion with the information it needs to complete a migration.