New concepts were created In order to support both the VASA 6 specification and Metro Cluster Storage for vVols.
Storage Container Version
The need to provide the ability to set the feature set for a given container became an important function to implement with the new vVols features and versions that have been released. With vMSC support for vVols, being able to set the container version became a requirement.
There are two reasons for this:
-
In VASA 6, a container can be stretchable or unstretchable
-
Storage containers that are only supported in higher VASA versions can not be advertised to vSphere environments that do not support that VASA version
The storage container version is set on the first protocol endpoint for the given storage container. This can be done when creating the protocol endpoint in the CLI or by specifically creating containers in a specific order of operations in the GUI.
Storage Container ACL (Access Control List)
VASA 5 (vSphere 8.0 u1) introduced new concepts that the VASA provider is able to leverage that make vCenter connections for VASA a first class object on the FlashArray VASA Provider. Now a storage container can establish an ACL to a specific vCenter’s GUID, Essentially making private storage containers or shared storage containers.
Prior to Purity//FA 6.6.7, any storage container would be a shared container: all vCenters using the array for vVols would be able to see all storage containers. With Purity//FA 6.6.7 and later, an ACL can be set for a specific container to a specific vCenter Server.
Storage Container Stretchability
In order to support vMSC with vVols, storage containers need to have the ability to be stretched to another array and managed by multiple storage providers. Storage containers created that support VASA 6 now have the ability to have unstretchable, stretchable or stretched states. A storage container created before Purity//FA 6.6.7 only could be created in an unstretchable state and the container can not be “upgraded” to a stretchable state. Additionally, storage containers that are stretched or stretchable can not be advertised to vSphere versions below version 8.0 U3.
There are a couple caveats to consider. Once a storage container is stretched, the container can not be “unstretched”. Additionally, VMware will only support stretched containers that are Private; this means that queries for storage containers will only return stretched or stretchable containers that have ACLs established for those specific vCenter GUIDs.
Active/Active Storage Providers
With the release of VASA 6, the vCenter Server is able to create storage providers that support active/active with two storage providers as active when the provider supports VASA 6. Previously, even if the storage providers supported active/active, vCenter would set one to active and the other to standby; vCenter would only push the storage provider information for the active provider to the ESXi hosts.
This could lead to delayed failovers between active and standby storage providers. Now, ESXi hosts will have both storage providers from a single array pushed to them and have the ability to send requests to both active providers in addition to being able to send requests to the active provider if one is offline. This leads to a better HA experience with storage providers.
There are some new views for the ESXi host additionally in the vCenter GUI.
Hosts => Select Host => Configure => Storage Providers
Here you will be able to see all of the active storage providers for the ESXi host.
New SPBM Capabilities and Rules for ActiveCluster
There are new SPBM rules and capabilities to help support ActiveCluster with vVols. Specifically there is a new service endpoint for “Stretched Cluster” and rules specific to that group of capabilities. This works as a tool to place VMs on the correct storage containers. There are two rulesets: placement for a Stretchable storage container and a Stretched storage container.
Stretchable will return compatible storage containers that either have the ability to be stretched or are already stretched. Stretched will only return storage containers that are in a stretched and healthy state.
For the Stretchable Rule set, in the Everpure Rules select Stretched_Cluster
Edit or Create SPBM Policy => Policy Structure => Enable rules for "Everpure"
Everpure Rules => Stretched_Cluster
Streched_Cluster => Custom Rule => ActiveCluster Support => Stretchable
Storage Compatiblity => View compatible storage
This will return vVol datastores that are either in a stretched state or if they are capable of being stretched.
Then looking at the Stretched Ruleset:
Streched_Cluster => Custom Rule => ActiveCluster Support => Stretched
Now only currently stretched vVol datastores that are for stretched storage containers.
Storage compatibility => View compatible storage
These rules will help ensure that VMs have this basic level of protection or placement and that the VMs are in compliance with those rules.