Configure a Site Recovery Manager Environment for vVol-based Storage Discovery
Prior to using SRM to protect virtual machines with vVol based replication, the underlying vVol storage environment must be configured.
Ensure pre-requisites are followed here: FlashArray vVols Array Based Replication and SRM - Requirements and Limitations
Once the pre-requisites are complete, verify the configuration of both vCenters. Each vCenter should have two VASA providers configured from each local FlashArray and a respective vVol datastore for that FlashArray mounted and online. The vVol datastore should be mounted to any cluster that is intended for vVol-based VM placement.
The VASA providers can be registered and the vVol datastore can be mounted in a variety of ways, but the most common options are:
- The FlashArray Plugin for the vSphere Client
- Native vSphere Client workflows
- FlashArray Plugin for vRealize Orchestrator
For details on all of these methods, refer to the the vVol user guide.
For the purposes of this article, the FlashArray Plugin for the vSphere Client will be used.
In this environment, there are two vCenters, vCenter-01 and vCenter-02. A FlashArray called flasharray-m50-1 is local to vCenter-01 and a FlashArray called flasharray-m50-2 is local to vCenter-02.
Register VASA Providers
The VASA providers for flasharray-m50-1 need to be registered for vCenter-01, and the two VASA providers for flasharray-m50-2 should be registered with vCenter-02.
To check that they are registered, login to the vSphere Client, and click on the vCenter and then the Configure tab. Choose Storage Providers.
Check the list of providers to see if both VASA providers are there.
If they are not (they are not in the image above), click on the top menu and choose Pure Storage.
Identify the FlashArrays you would like to register, in this case flasharray-m50-1 and flasharray-m50-2:
If they are not there, click Add and authenticate them. If they are select one and click Register Storage Providers.
Enter in administrative credentials to the FlashArray (the recommendation is to create a specific VASA service account) and choose the vCenter you would like to register this FlashArray with. You may register it with multiple in this list, but it is recommended to only register it with vCenters that need vVol storage from that array.
In this case, flasharray-m50-1 will be registered with vCenter-01:
Before registering the FlashArray VASA providers with one or more vCenters, ensure that it is not in use with a separate vCenter already, or verify that a CA-signed certificate has been created and loaded first which allows multiple non-linked vCenter access.
Once complete, verify that both VASA providers are registered and marked Online.
Repeat for the paired FlashArray, in this case flasharray-m50-2 with vCenter-02:
Verify it is online:
Mount vVol Datastore
The next step is to mount the vVol datastore. This includes two steps:
- Connecting the FlashArray protocol endpoint (called pure-protocol-endpoint) to the ESXi hosts via FC or iSCSI
- Mounting the vVol datastore on the ESXi hosts
The FlashArray Plugin for the vSphere Client combines these operations into one easy operation.
Right-click on the cluster you would want to mount the vVol datastore on. Note that you can only mount the vVol datastore to hosts that are in the vCenter with the respective VASA providers registered. Choose Pure Storage, then Create Datastore.
Choose vVol and click Next:
Enter in a vVol datastore name and click Next:
Confirm the cluster to mount the datastore:
Then choose your FlashArray, in this case flasharray-m50-1:
Confirm the settings and click FINISH.
This process will present the protocol endpoint to each host in the cluster and then mount the vVol datastore on them:
Now repeat this process for the opposing vCenter (in this case vCenter-02) and its respective FlashArrays (in this case flasharray-m50-2):
This will then mount the vVol datastore on the second vCenter:
Configuring vVol-based Storage Policies
Once the VASA providers are registered and the vVol datastores are mounted, the next step is to create one or more replication-based storage policies.
In order for VMware to recognize that a virtual machine is replicated, it must be assigned to a storage policy that indicates replication is enabled. When a replication-based storage policy is assigned to that VM, a replication group can be chosen to ensure proper consistency protection on the target FlashArrays.
To create a policy, click on the top menu and choose Policies and Profiles.
Choose VM Storage Policies and then Create VM Storage Policy:
Select one of the two vCenters and enter a name that expresses the policy contents in a meaningful way. It is useful to remember that a storage policy does not have a 1:1 mapping to replication groups: any replication group that matches the policy is valid to be used for a VM with that policy. The more specific you make the policy, the less replication groups will be matched. VMware refers to matching replication groups as compliant.
Click Next. Now choose the option "Enable rules for "com.purestorage.storage.policy" storage":
Under placement, choose at least one rule.
If the goal is to make this policy valid for any FlashArray, choose Pure Storage FlashArray and set it to true.
If the goal is to make this policy specific to one or more FlashArrays, choose FlashArray Group and enter in each FlashArray it should be valid for. In this case it will only be valid for the FlashArray local to vCenter-01, flasharray-m50-1.
Click on the Replication tab and choose Custom. Then click on Add Rule.
Here is where there is a lot of flexibility. At a minimum, one rule must be chosen.
Be as specific as needed-just remember that the target FlashArray must have a protection group that exactly matches the features chosen. For this example, Replication Capable was chosen and a target site of flasharray-m50-2 was selected.
This policy will then ensure that:
- The VM is on the FlashArray flasharray-m50-1.
- The VM is being replicated.
- The VM is being replicated to flasharray-m50-2.
Click Next. The next page will show if any FlashArrays can currently support assigning that policy.
If no vVol datastores show up as compatible, that means no vVol datastores are mounted and/or no vVol datastores are mounted from FlashArrays that can replicate to the specified target.
It is important to remember that replication groups on the FlashArray are called protection groups. If a protection group is not pre-created on a FlashArray, the FlashArray will not show support for replication in compatibility check.
As you can see, the vVol datastore from flasharray-m50-1 is compatible, and this can be proven out by looking at the array. The array has a protection group that replicates to flasharray-m50-2. Since the array has at least one matching protection group, the vVol datastore is considered compatible with that policy.
Click Finish to create the policy.
Now repeat the process on the opposing vCenter. In this case the vCenter called vCenter-02 with the FlashArray called flasharray-m50-2.
This policy will be very similar except that is will expect any VM assigned to it to be on the FlashArray flasharray-m50-2 and replicate to flasharray-m50-1.
Note that you do not need to have a protection group created on the target FlashArray. The SRM reprotect process will create one for you automatically. Therefore if no vVol datastores show up as compatible you should not be concerned.
Assigning vVol-based Storage Policies to Virtual Machines
For a VM to be protected by FlashArray periodic replication, it must first be assigned to a replication based policy such as ones created and described in the previous sections in this article.
For this example, the policy called SRM-Replication-vVol-VC1 will be the used:
- Any VM assigned to it will be on the FlashArray named flasharray-m50-1.
- The VM assigned to it will being replicated.
- The VM assigned to it will be replicated to the FlashArray named flasharray-m50-2.
To assign this policy, right-click on a virtual machine then choose VM Policies > Edit VM Storage Policy.
Choose the VM storage policy drop-down and choose your policy:
Do not choose the Configure Per Disk option. While per-disk policy configuration is supported generically by Pure Storage vVols and vVol replication, SRM requires that the entire VM be assigned the same policy and replication group.
Once you choose the policy, the vSphere Client will display a new option in the upper-right hand corner of the policy window asking for a replication group. Click on Configure.
Under the Replication group drop-down, choose your replication group. These will map to FlashArray protection groups--the name will have a prefix of the array name followed by a colon, then the name of the FlashArray protection group. Choose a matching protection group or the Automatic option.
If you choose the Automatic option, the FlashArray will create a new protection group with the specified capabilities in the storage policy. If a protection group setting is not listed in the policy, it will leave missing settings at FlashArray protection group defaults.
In this case, the protection group srmvVolPG will be chosen.
Click OK again. This will configure all of the volumes belonging to that VM with the designated protection.
Verify the configuration on the FlashArray by looking at the protection group:
Also note if the VM is configured to place swap on vVols, the swap volume will not be placed in the protection group as there is no reason to protect it.
Creating vVol Storage Policy Mappings
Once storage policies are created on both vCenters, log into Site Recovery Manager and clock on Site Pair > Configure > Storage Policy Mappings then click New.
Select a policy on the first vCenter to map to a policy on the 2nd vCenter.
Then click Add Mappings to choose the pairing and click Next.
Select the pair again to create a reverse mapping on the second SRM server for that policy pair.
Click Next then Finish to commit the bi-directional pairing.