Thursday, April 9, 2015

VM Storage Policies with Virtual SAN

Software-defined storage is driven by policies that automate provisioning and reduce complexity. The VASA storage provider provides vSphere with the capabilities available with the backend storage. We create VM Storage Policies with the capabilities we wish to leverage.

With VMware Virtual SAN, we currently have five different capabilities that we can configure per policy:
  • Number of failures to tolerate
  • Number of disk stripes per object
  • Force provisioning
  • Object space reservation (%)
  • Flash read cache reservation (%)

Number of Failures to Tolerate
Number of failures to tolerate defines the number of host, disk, or network failures an object can tolerate. The default value is 1, and the maximum value is 3.

For n failures to tolerate, n+1 copies of the object are created and 2n+1 hosts contributing storage are required.

Failures to Tolerate
Storage Objects Created
Minimum Hosts Required

Number of Disk Stripes per Object
Number of disk stripes per object defines the number of physical disks across which an object is stripe. The default value is 1, and the maximum value is 12. A value higher than 1 may result in increased performance, but it also results in a higher usage of capacity.

When reads miss the flash read cache, data will be fetched from physical disks, resulting in increased latency. Distributing objects across additional physical disks can distribute the burden on the physical disks and reduce latency when many read cache misses occur.

With Virtual SAN, all writes go to the SSD layer (write buffer) and the benefit of additional stripes is not easily recognized.

When the Virtual SAN infrastructure is properly designed, the number of disk stripes per object compatibility should remain the default value of 1 because the flash read cache should not be overcommitted and read cache misses should be at a minimum.

Force Provisioning
When force provisioning is set to yes, the object will be provisioned even if the policy specified is not capable of being satisfied by the datastore. A warning will be displayed on the Summary tab of the virtual machine stating that the VM is not compliant with the storage policy. When additional resources become available in the cluster, Virtual SAN will bring the object to a compliant state.

Note: if the cluster does not have enough space to satisfy a reservation requirement of at least one object, the provisioning will fail even if force provisioning is set to yes.

The default value of no for the force provisioning option is acceptable for most production environments

Object Space Reservation
The object space reservation option reserves capacity in the cluster’s resources for the storage object by the percentage of the logical size of the storage object. This value only applies to thin provisioned virtual disks; thick provisioned virtual disks automatically reserve 100% of their capacity. The Default value is 0%, and the maximum value is 100%.

Flash Read Cache Reservation
The flash read cache reservation is the amount of flash capacity reserved on the SSD as read cache for the object; it is specified as a percentage of the logical size of the object. The default value is 0%, and the maximum value is 100%.

Note: this setting should only be used to address read performance issues after thorough testing. By default, Virtual SAN dynamically allocates read cache to storage objects based on demand; this is the most flexible and optimal use of resources. Over-provisioning cache reservation on a storage object can have a negative impact on the performance of all virtual machines.

After designing VM Storage Policies to meet storage requirements such as performance and availability, we can deploy virtual machines and with the appropriate policy and update existing virtual machines to take advantage of newly defined policies.


1 comment:

  1. smmworld , Thank you for providing such a wonderful opinion; the post is nice, which is why I read it thoroughly.
    Smm Panel Indonesia