vSphere storage profiles were first introduced with vSphere 5, then renamed to storage policies with the release of vSphere 5.5.
Storage policy aims to logically separate storage by using storage capabilities and storage profiles in order to guarantee a predesignated quality-of-service of storage resources to a virtual machine.
The storage policy is used to map the defined storage capabilities to a virtual machine,
and specifically, its virtual disks. The policy is based on the storage requirements for each virtual disk that guarantees a certain storage feature or capability.
Gone are the days when administrator was only concerned about free space on datastore. Now a days you need to ensure that your application/servers are getting enough IOPS and datastore latency is not impacting any server performance.
In a SDDC infrastructure, software policy based profile management (SPBM) is very crucial and using SPBM is making life of a vSphere administrator easier than ever. SPBM ensures that any changes that is happening in infrastructure adhere to policy.
You have configured storage policies, but the last thing you want will be Storage DRS is moving VM disks around on other datastore which is not capable of fulfilling the VM requirements (IOPS etc) or you are recovering a deleted VM and don’t want to place it on an appropriate datastore. SPBM helps meeting these challanges.
There are 2 type of storage capabilities that you can define in a storage policy :
- System defined via VASA
- User defined
In user defined approach a very common way to make use of storage policies is to ‘tag’ datastores with known characteristics – for example, Gold/Bronze/Silver or Replicated/Non-Replicated etc.
Second method is to configure VASA on storage array and let array expose storage characteristics directly to vCenter. These capabilities can be used in storage policies instead of manually tagging.
Also you can use combination of both VASA and tagging method.
This is how everything fits together.
How to configure and apply storage policies?
In my lab I am using openfiler which is meeting my requirements of shared storage, but openfiler do not have VASA capabilities. So I will be using the tagging method to define storage capabilities manually.
I have 2 iSCSI datastores and I will be using the tagging/ploicy as below
iSCSI Datastore 1
- Tags: Gold
- Policy: Gold Tier Policy
iSCSI Datastore 2
- Tags: Silver
- Policy: Silver Tier Policy
Lets jump into lab now and configure storage policies.
Login to vSphere Web Client and from home page, select Tags > Categories and click on highlighted button to add a new category.
Provide a name for the category and select the associated object types (Datastore and Datastore Cluster)
Now switch back to Tags tab and add a new tag
Provide a name for the tag and associate it with category which we created in previous step.
Next is to tag the datastores. Navigate to storage view and select a datastore and Right click on datastore Tags > Assign Tag
Select a tag from the list and click on Assign.
If you do not see any tasks triggered in Web Client, do not freak out. Select datastore and click on summary tab to verify datastore have been tagged.
Next is to define VM Storage Policies.
From home page navigate to Policies and Profiles and click on VM Storage Policies.
Create a new policy by clicking on icon as shown in below snap.
Provide a name for this policy and any optional description and hit Next.
Click on Add tag-based rule
And add a tag to this policy.
In storage compatibility view, you can see which datastores will be compatible with this storage policy (based on tags assigned to datastore in previous steps)
On Ready to complete page, review your settings and hit finish.
Now we will assign this newly created VM storage policy to existing VM’s.
Select and VM and Edit settings of the VM and change the VM storage policy as shown below.
Once VM storage policy is applied on the VM, you can verify whether or not it is compliant with applied policy (this basically tells you whether or not this VM is placed on right datastore)
You can check VM compatibility/Non-Compatibility for all VM’s by selecting the VM storage policy > Manage > VM’s and Virtual Disks.
And thats it for this post. I hope you find this post informational. Feel free to share this on social media if it is worth sharing. Be sociable 🙂