When you use Virtual SAN, you can define virtual machine storage requirements, such as performance and availability, in the form of a policy. The policy requirements are then pushed down to the Virtual SAN layer when a virtual machine is being created. The virtual disk is distributed across the Virtual SAN datastore to meet the requirements.

When you enable Virtual SAN on a host cluster, a single Virtual SAN datastore is created. In addition, enabling Virtual SAN configures and registers Virtual SAN storage providers. Virtual SAN storage providers are built-in software components that communicate datastore capabilities to vCenter Server.

A storage capability is typically represented by a key-value pair, where the key is a specific property that the datastore can offer and the value is a metric, or a range, that the datastore guarantees for a provisioned object, such as a virtual machine metadata object or a virtual disk. You can also use tags to create user-defined storage capabilities and reference them when defining a storage policy for a virtual machine. For information on how to use and apply tags to datastores, see Understanding Storage Capabilities.

When you know storage requirements of your virtual machines, you can create a storage policy referencing capabilities that the datastore advertises. You can create several policies to capture different types or classes of requirements.

You can apply these storage policies when you create or edit virtual machines.

Note:

If you do not apply a storage policy to a virtual machine, it will use a default Virtual SAN policy with one number of failures to tolerate and a single disk stripe per object.

Table 1. Storage Policy Attributes

Capability

Description

Number of failures to tolerate

Defines the number of host, disk, or network failures a virtual machine object can tolerate. For n failures tolerated, n+1 copies of the virtual machine object are created and 2n+1 hosts with storage are required.

Default value is 1. Maximum value is 3.

Note:

If the host is a member of a Virtual SAN cluster, and if any virtual machine object on the host uses the Number of failures to tolerate=0 setting in its storage policy, the host might experience unusual delays when entering maintenance mode. The delay occurs because Virtual SAN has to evacuate this object from the host for the maintenance operation to complete successfully.

Number of disk stripes per object

The number of HDDs across which each replica of a virtual machine object is striped. A value higher than 1 might result in better performance, but also results in higher use of system resources.

Default value is 1. Maximum value is 12.

Object space reservation

Percentage of the logical size of the object that should be reserved, or thick provisioned, during virtual machine creation. The rest of the storage object is thin provisioned. This value applies only when you chose thin provisioning for a virtual disk. If your disk is thick provisioned, 100% is reserved automatically.

Default value is 0%. Maximum value is 100%.

Flash read cache reservation

SSD capacity reserved as read cache for the virtual machine object. Specified as a percentage of the logical size of the object. Should be used only to address read performance issues. Reserved flash capacity cannot be used by other objects. Unreserved flash is shared fairly among all objects.

Default value is 0%. Maximum value is 100%.

Note:

By default, Virtual SAN dynamically allocates read cache to storage objects based on demand. This represents the most flexible and the most optimal use of resources. As a result, typically, you do not need to change the default 0 value for this parameter.

To increase the value when solving a performance problem, exercise caution. Over-provisioned cache reservation across several virtual machines can cause SSD space to be wasted on over-reservations and not being available to service the workloads that need the space at a given time. This might lead to performance degradation.

Force provisioning

If the option is set to Yes, the object will be provisioned even if the policy specified in the storage policy is not satisfiable by the datastore. Use this parameter in bootstrapping scenarios and during an outage when standard provisioning is not longer possible.

The default No is acceptable for most production environments. Virtual SAN attempts to provision a virtual machine even when all requirements cannot be met.