I thought it might be useful to share some of the various VM Storage Policy status that I have observed whilst testing Virtual SAN (VSAN). I’m sure this is by no means a complete list but as I said, these are the ones that I have come across and I am sure these are the status that you will observe most often too.
When virtual machine storage objects display ‘None’ as the VM Storage Policy column, it means that there is no user defined VM Storage Policy associated or assigned to the virtual machine. In this case, it implies that the policy used by the virtual machine is the default one. Now this isn’t very intuitive, so I’ve asked internally if we can change this to ‘default’ instead of ‘None’. I guess we’ll have to wait and see what will happen with that. This is how it looks:
A ‘Not Applicable’ state occurs when a VM Storage Policy with certain capabilities is applied to a virtual machine, but that virtual machine resides on storage which does not understand the capabilities. For instance, if I created a VM Storage Policy using VSAN capabilities like Number of Failures To Tolerate, or Number of Disk Stripes per Object, and then applied that policy to a virtual machine which is residing on a VMFS or NFS datastore, the Compliance Status would become ‘Not Applicable’, as shown below:
This was a compliance state that I observed while doing some inter-operability testing with vSphere Replication and VSAN. When a particular VM Storage Policy was chosen for a replicated virtual machine, and that virtual machine was recovered, it was initially recovered with a compliance state of ‘Out of Date’. The reason for this is because the VM Storage Policy is associated with the virtual machine, but it is not applied to the virtual machine.
This doesn’t need too much of an explanation. Compliant is the status that is observed when the virtual machine storage object (e.g. VMDK/Hard disk) has been configured in such a way as to match the capability requirements placed in the VM Storage Policy. In the example below, a policy with Number of Failures to Tolerate = 1 was configured, and in the Physical Disk Placement tab, we can see both replica components and the witness required to meet this policy requirement. Therefore the object is compliant:
And, as you might guess, the ‘Non Compliant’ status is observed when the virtual machine storage object configuration does not meet the requirements placed in the VM Storage Policy. Now, interestingly enough, this is also the status you will observe when the virtual machine storage object is being reconfigured to meet the requirements of the VM Storage Policy. So if you change the policy of a VM on-the-fly (which is also something that VSAN allows you to do), the compliance status shows ‘Not Compliant’. But if you look at the physical disk placement tab underneath, you can observe components in the ‘Not Compliant’ storage object in a state of Reconfiguring. When the reconfiguring completes (assuming there are enough resources and no failures), the compliant status will change to ‘Compliant’.