Configure storage policy
VMware vSAN storage policies define storage requirements for your virtual machines (VMs). These policies guarantee the required level of service for your VMs because they determine how storage is allocated to the VM. Each VM deployed to a vSAN datastore is assigned at least one VM storage policy.
You can assign a VM storage policy in an initial deployment of a VM or when you do other VM operations, such as cloning or migrating. Post-deployment cloudadmin users or equivalent roles can't change the default storage policy for a VM. However, VM storage policy per disk changes is permitted.
The Run command lets authorized users change the default or existing VM storage policy to an available policy for a VM post-deployment. There are no changes made on the disk-level VM storage policy. You can always change the disk level VM storage policy as per your requirements.
Note
Run commands are executed one at a time in the order submitted.
In this article learn how to:
- List all storage policies
- Set the storage policy for a VM
- Specify default storage policy for a cluster
- Create storage policy
- Remove storage policy
Prerequisites
Make sure that the minimum level of hosts are met.
RAID configuration | Failures to tolerate (FTT) | Minimum hosts required |
---|---|---|
RAID-1 (Mirroring) Default setting. |
1 | 3 |
RAID-5 (Erasure Coding) | 1 | 4 |
RAID-1 (Mirroring) | 2 | 5 |
RAID-6 (Erasure Coding) | 2 | 6 |
RAID-1 (Mirroring) | 3 | 7 |
List storage policies
Run the Get-StoragePolicy
cmdlet to list the vSAN based storage policies available to set on a VM.
Sign in to the Azure portal.
Note
If you need access to the Azure US Gov portal, go to https://portal.azure.us/
Select Run command > Packages > Get-StoragePolicies.
Provide the required values or change the default values, and then select Run.
Field Value Retain up to Retention period of the cmdlet output. The default value is 60. Specify name for execution Alphanumeric name, for example, Get-StoragePolicies-Exec1. Timeout The period after which a cmdlet exits if taking too long to finish. Check Notifications to see the progress.
Set storage policy on VM
Run the Set-VMStoragePolicy
cmdlet to modify vSAN-based storage policies on a default cluster, individual VM, or group of VMs sharing a similar VM name. For example, if you have three VMs named "MyVM1", "MyVM2", and "MyVM3", supplying "MyVM*" to the VMName parameter would change the StoragePolicy on all three VMs.
Note
You cannot use the vSphere Client to change the default storage policy or any existing storage policies for a VM.
Select Run command > Packages > Set-VMStoragePolicy.
Provide the required values or change the default values, and then select Run.
Field Value VMName Name of the target VM. StoragePolicyName Name of the storage policy to set. For example, RAID-FTT-1. Retain up to Retention period of the cmdlet output. The default value is 60. Specify name for execution Alphanumeric name, for example, changeVMStoragePolicy. Timeout The period after which a cmdlet exits if taking too long to finish. Check Notifications to see the progress.
Set storage policy on all VMs in a location
Run the Set-LocationStoragePolicy
cmdlet to Modify vSAN based storage policies on all VMs in a location where a location is the name of a cluster, resource pool, or folder. For example, if you have 3 VMs in Cluster-3, supplying "Cluster-3" would change the storage policy on all three VMs.
Note
You cannot use the vSphere Client to change the default storage policy or any existing storage policies for a VM.
Select Run command > Packages > Set-LocationStoragePolicy.
Provide the required values or change the default values, and then select Run.
Field Value Location Name of the target VM. StoragePolicyName Name of the storage policy to set. For example, RAID-FTT-1. Retain up to Retention period of the cmdlet output. The default value is 60. Specify name for execution Alphanumeric name, for example, changeVMStoragePolicy. Timeout The period after which a cmdlet exits if taking too long to finish. Check Notifications to see the progress.
Specify storage policy for a cluster
Run the Set-ClusterDefaultStoragePolicy
cmdlet to specify default storage policy for a cluster,
Select Run command > Packages > Set-ClusterDefaultStoragePolicy.
Provide the required values or change the default values, and then select Run.
Field Value ClusterName Name of the cluster. StoragePolicyName Name of the storage policy to set. For example, RAID-FTT-1. Retain up to Retention period of the cmdlet output. The default value is 60. Specify name for execution Alphanumeric name, for example, Set-ClusterDefaultStoragePolicy-Exec1. Timeout The period after which a cmdlet exits if taking too long to finish. Check Notifications to see the progress.
Create custom AVS storage policy
Run the New-AVSStoragePolicy
cmdlet to create or overwrite an existing policy.
This function creates a new or overwrites an existing vSphere Storage Policy. Non vSAN-Based, vSAN Only, VMEncryption Only, Tag Only based and/or any combination of these policy types are supported.
Note
You cannot modify existing AVS default storage policies. Certain options enabled in storage policies will produce warnings to associated risks.
Select Run command > Packages > New-AVSStoragePolicy.
Provide the required values or change the default values, and then select Run.
Field Value Overwrite Overwrite existing Storage Policy.
- Default is $false.
- Passing overwrite true provided overwrites an existing policy exactly as defined.
- Those values not passed are removed or set to default values.NotTags Match to datastores that do NOT have these tags.
- Tags are case sensitive.
- Comma separate multiple tags.
- Example: Tag1,Tag 2,Tag_3Tags Match to datastores that do have these tags.
- Tags are case sensitive.
- Comma separate multiple tags.
- Example: Tag1,Tag 2,Tag_3vSANForceProvisioning Force provisioning for the policy.
- Default is $false.
- Valid values are $true or $false
- WARNING - vSAN Force Provisioned Objects aren't covered under Microsoft SLA. Data LOSS and vSAN instability can occur.
- Recommended value is $false.vSANChecksumDisabled Enable or disable checksum for the policy.
- Default is $false.
- Valid values are $true or $false.
- WARNING - Disabling checksum can lead to data LOSS and/or corruption.
- Recommended value is $false.vSANCacheReservation Percentage of cache reservation for the policy.
- Default is 0.
- Valid values are 0..100.vSANIOLimit Sets limit on allowed IO.
- Default is unset.
- Valid values are 0..2147483647.
- IOPS limit for the policy.vSANDiskStripesPerObject The number of HDDs across which each replica of a storage object is striped.
- Default is 1. Valid values are 1..12.
- A value higher than 1 may result in better performance (for example, when flash read cache misses need to get serviced from HDD), but also results in higher use of system resources.vSANObjectSpaceReservation Object Reservation.
- Default is 0.
- Valid values are 0..100.
- 0=Thin Provision
- 100=Thick ProvisionVMEncryption Sets VM Encryption.
- Default is None.
- Valid values are None, Pre-IO, Post-IO.
- Pre-IO allows VAIO filtering solutions to capture data prior to VM encryption.
- Post-IO allows VAIO filtering solutions to capture data after VM encryption.vSANFailuresToTolerate Number of vSAN Hosts failures to Tolerate.
- Default is "R1FTT1".
- Valid values are "None", "R1FTT1", "R1FTT2", "R1FTT3", "R5FTT1", "R6FTT2", "R1FTT3"
- None = No Data Redundancy
- R1FTT1 = 1 failure - RAID-1 (Mirroring)
- R1FTT2 = 2 failures - RAID-1 (Mirroring)
- R1FTT3 = 3 failures - RAID-1 (Mirroring)
- R5FTT1 = 1 failure - RAID-5 (Erasure Coding),
- R6FTT2 = 2 failures - RAID-6 (Erasure Coding)
- No Data Redundancy options aren't covered under Microsoft SLA.vSANSiteDisasterTolerance Only valid for stretch clusters.
- Default is "None".
- Valid Values are "None", "Dual", "Preferred", "Secondary", "NoneStretch"
- None = No Site Redundancy (Recommended Option for Non-Stretch Clusters, NOT recommended for Stretch Clusters)
- Dual = Dual Site Redundancy (Recommended Option for Stretch Clusters)
- Preferred = No site redundancy - keep data on Preferred (stretched cluster)
- Secondary = No site redundancy - Keep data on Secondary Site (stretched cluster)
- NoneStretch = No site redundancy - Not Recommended (https://kb.vmware.com/s/article/88358)Description Description of Storage Policy you're creating, free form text. Name Name of the storage policy to set. For example, RAID-FTT-1. Retain up to Retention period of the cmdlet output. The default value is 60. Specify name for execution Alphanumeric name, for example, New-AVSStoragePolicy-Exec1. Timeout The period after which a cmdlet exits if taking too long to finish. Check Notifications to see the progress.
Remove AVS Storage Policy
Run the Remove-AVSStoragePolicy
cmdlet to specify default storage policy for a cluster,
Select Run command > Packages > Remove-AVSStoragePolicy.
Provide the required values or change the default values, and then select Run.
Field Value Name Name of Storage Policy. Wildcards aren't supported and will be stripped. Retain up to Retention period of the cmdlet output. The default value is 60. Specify name for execution Alphanumeric name, for example, Remove-AVSStoragePolicy-Exec1. Timeout The period after which a cmdlet exits if taking too long to finish. Check Notifications to see the progress.
Next steps
Now that you learned how to configure VMware vSAN storage policies, learn more about:
How to attach disk pools to Azure VMware Solution hosts (Preview) - You can use disks as the persistent storage for Azure VMware Solution for optimal cost and performance.
How to configure external identity for vCenter Server - vCenter Server has a built-in local user called cloudadmin and assigned to the CloudAdmin role. The local cloudadmin user is used to set up users in Active Directory (AD). With the Run command feature, you can configure Active Directory over LDAP or LDAPS for vCenter as an external identity source.