When you use Virtual SAN, Horizon 7 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.

Virtual SAN offers a storage policy framework so that you can control the behavior of various virtual machine objects that reside on the Virtual SAN datastore. An example of an object in Virtual SAN 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, Virtual SAN 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, Virtual SAN 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.

Table 1. Horizon Default Policies and Settings

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_<guid>

Dedicated linked-clone OS and disposable disks

1

1

0

0

OS_DISK_FLOATING_<guid>

Floating linked-clone OS and disposable disks, floating instant-clone OS and disposable disks

1

1

0

0

PERSISTENT_DISK_<guid>

Linked-clone persistent disk

1

1

0

0

REPLICA_DISK_<guid>

Linked-clone replica disk, instant-clone replica disk

1

1

0

0

VM_HOME_<guid>

VM home directory

1

1

0

0

Note:

<guid> indicates the UUID of the Horizon 7 cluster.

Once these policies are created for the virtual machines, they will never be changed by Horizon 7. An administrator can edit the policies created by Horizon 7 by going into vCenter through the vSphere Web 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 7 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, Virtual SAN reconfigures the data of the affected virtual machines and load-balances to meet the policies of each virtual machine.

Note:

If you inadvertently attempt to use settings that contradict each other, when you attempt to apply the settings, the operation will fail, and an error message might inform you that you do not have enough hosts.