When you use vSAN, Horizon defines virtual machine storage requirements, such as capacity, performance, and availability, in the form of default storage policy profiles, which you can modify. Storage is provisioned and automatically configured according to the assigned policies. The default policies that are created during desktop pool creation depend on the type of pool you create.
vSAN offers a storage policy framework so that you can control the behavior of various virtual machine objects that reside on the vSAN datastore. An example of an object in vSAN is a virtual disk (VMDK) file, and there are four characteristics of each object that are controlled through policy:
- Stripes: Number of disk stripes per object. The number of disk stripes affects how many magnetic disks you have (HDDs).
- Resiliency: Number of failures to tolerate. The number of host failures to tolerate depends, of course, on the number of hosts you have.
- Storage Reservation: Object space reservation. Controls how much storage is set aside.
- Cache Reservation: Flash read-cache reservation.
The stripes and cache reservation settings are used to control performance. The resiliency setting controls availability. The storage provisioning setting control capacity. These settings, taken together, affect how many vSphere hosts and magnetic disks are required.
For example, if you set the number of disk stripes per object to 2, vSAN will stripe the object across at least 2 HDDs. In conjunction with this setting, if you set the number of host failures to tolerate to 1, vSAN will create an additional copy for resiliency and therefore require 4 HDDs. Additionally, setting the number of host failures to tolerate to 1 requires a minimum of 3 ESXi hosts, 2 for resiliency and the third to break the tie in case of partitioning.
|Policy (as it appears in vCenter Server)||Description||Number of disk stripes per object||Number of failures to tolerate||Flash read-cache reservation||Object space reservation|
|FULL_CLONE_DISK_<guid>||Dedicated full-clone virtual disk||1||1||0||0|
|FULL_CLONE_DISK_FLOATING_<guid>||Floating full-clone virtual disk||1||0||0||0|
|OS_DISK_FLOATING_<guid>||Floating instant-clone OS and disposable disks||1||1||0||0|
|REPLICA_DISK_<guid>||Instant-clone replica disk||1||1||0||0|
|VM_HOME_<guid>||VM home directory||1||1||0||0|
Once these policies are created for the virtual machines, they will never be changed by Horizon. An administrator can edit the policies created by Horizon by going into vCenter through the vSphere client or the vSphere Command-Line Interface (esxcli), with the option to make the changes effective across all existing VMs or to any new VMs. Any new default policies enacted by Horizon will not impact existing desktops pools. Each virtual machine maintains its policy regardless of its physical location in the cluster. If the policy becomes non-compliant because of a host, disk, network failure, or workload changes, vSAN reconfigures the data of the affected virtual machines and load-balances to meet the policies of each virtual machine.