VMware vSphre 7 storage policies usually specify which datastores with what functions and specifications to use when placing VMs. There are several VM storage policies types that can be basically created within vSphere 7. This post is part of VCP-DCV 2021 on vSphere 7 Study Guide and which helps for passing the VMware certification exam. Please check the page for other chapters.
It is a mechanism that allows the assignment of characteristics of your storage (your datastore) to your VM. Some of your VMs might need faster storage, with better DR capabilities (production VMs usually) than the others.
Usually, storage policies allow you to specify where to place your VMs according to the types of datastores you have, the performance they provide, or DR capability they have.
VM Storage Policies for host-based data services – those ones are basically rules for services provided by your ESXi host. This can be for example compression and encryption.
VM Storage Policies for vVols – With those policies, you can set rules for VMs that apply to your vVols datastores (if used). You can for example have different storage devices, some of them replicated for DR or different performance characteristics.
You can create policies based on the capabilities of your storage array, or you can even create ones using tags.
Tag-based rules reference the tags that you assign to the datastores and can filter the datastores to be used for the placement of the VMs.
You need to create those policies by yourself to match them with your storage device. You might have a storage array that has hardware acceleration enabled or has some parameters such as minimum latency, that has to be entered concerning storage I/O control. You usually must check this with your hardware manufacturer.
Where do I create a storage policy?
Open the Create VM Storage Policy wizard. Click Menu > Policies and Profiles > Under Policies and Profiles, click VM Storage Policies > Click Create VM Storage Policy
then click Next and you will be able to specify and enable host-based rules, enable rules for vSAN storage or enable tag-based placement rules.
and then you can specify either Encryption or Storage I/O control-based policy creation.
The next screen shows vSAN options where you can chose options for vSAN topology (stretched clusters included), and failures to tolerate. There you can choose what redundancy you want this policy to cover. This can be Raid-1, Raid-5 with erasure coding or Raid-6 with erasure coding. Each time with 1 or 2, see 3 hosts failures. Pretty neat.
If you have checked the tags based policy, the next screen shows the options there. You can use your tags already created or if you haven't created them, you should go and do that because this is the place where you can select those tags being used with the storage policy.
You can create custom policies for VMs and custom tags for storage devices. This is useful when you for example have a storage device that does not support VASA so you can't see the storage characteristics inside the vSphere client. (yes it is VASA which does that).
As an example, you could create a tag named Diamond and use it for your storage which has the best performance.
Virtual Disk Types
When creating your VM and specify virtual disk, you need to select and specify whether the disk will be thin disk, eager zeroed thick or lazy zeroed thick disk. Let's have a look at those differences below:
Eager Zeroed Thick – in this case you have the disk space allocated and erased (we say zeroed out) during the time of the creation of the file (so it takes more time). If you storage has VAAI support, then the process is fast, but if not and the disk creation process cannot be offloaded to the device, it might take a significant time, depending on the size. Best performance disk.
Lazy zeroed thick – here, the disk space is allocated, but not zeroed. It only happens when needed. Each block is zeroed when there is a demand of write.
Thin provisioned – here in this case, the disk space is not allocated or zeroed during the time of creation. But space is allocated On-Demand only. The performance isn't as good as with thick disks, but the process is immediate. Also, you save space on datastore. (Remember – don't over allocate space on datastore).
vSAN Specific storage policies
We've talked briefly about those policies during the wizard creation.
Primary Level of Failures to tolerate (PFTT) – this policy basically defines how many hosts and device failures VM objects can survive. For “n” failures tolerates, the data is stored in “n+1” locations. It's the default policy.
Secondary Level of Failures to tolerate (SFTT) – this policy when used in stretched clusters, defines how many additional host failures can be tolerated after you have a site failure. the number of additional host failures that the object can tolerate after the number of site failures defined by PFTT is reached. If PFTT = 1 and SFTT = 2, and one site is unavailable, then the cluster can tolerate two additional host failures. Default value is 1. Maximum value is 3. Check details within VMware docs here.
Data locality – This policy has different options (None, preferred and secondary) and it allows objects to be limited to one site or one host in stretched clusters environment. The default setting is none.
Failure Tolerance Method – you can define data replicaton mechanism. You specify whether you want capacity with RAID-1 (mirroring) or you want performance with Raid – 5/6 (with erasure coding)
Number of disk stripes per object – this is the number of capacity devices where each VM replica is striped. Default is 1, but you can set max to 12, but consumes more resources.
Flash Read cache reservation – Through this policy you define the size of flash capacity reservation for VM object caching. It's a percentage of the size of the VMDK. (only for hybrid vSAN, not All flash).
Force Provisioning – two values, yes/no. When set to yes, the policy forces provisionning of objects even when policy cannot be met. Default = No.
Object Space Reservation – Percentage of VMDK objects that must be thick providioned on deployment.
Disable object Checksum – Checksum is used for integrity checks. To make sure that the copies of the datas spread across vSAN cluster are identical. If there is a difference, the wrong data is overwritten with correct data. If the policy is set to Yes, the checksum is not calculated. Default = No.
This post is part of VCP-DCV 2021 on vSphere 7 Study Guide . Please check the page for other chapters.
More posts from ESX Virtualization:
- vSphere 7.0 Download Now Available
- vSphere 7.0 Page [All details about vSphere and related products here]
- VMware vSphere 7.0 Announced – vCenter Server Details
- VMware vSphere 7.0 DRS Improvements – What's New
- How to Patch vCenter Server Appliance (VCSA) – [Guide]
- What is The Difference between VMware vSphere, ESXi and vCenter
- How to Configure VMware High Availability (HA) Cluster