VM Storage Policy shows 'Noncompliant'
search cancel

VM Storage Policy shows 'Noncompliant'

book

Article ID: 401819

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:

  • Multiple VMs across several Storage Policies showed up as 'Noncompliant'.

  • These storage policies are mapped to Fibre-channel based VMFS Datastores.

  • Some of these VMs have thick provisioned eager zero virtual disks while others have thick provisioned lazy zero disks.

  • sps.log on vCenter reports following error:

    (in /var/log/vmware/vmware-sps/sps.log)

2025-06-19T11:11:32.641+12:00 [pool-34-thread-4] WARN opId=vb-2545747:VmProfileAssignmentPropertyProviderAdapter:10999799-cfeoi-h5:71928688 com.vmware.sps.pbm.compliance.ObjectStorageComplianceTask - Entity (pbm.serverobjectRef) {

dynamicType = null,
dynamicProperty = null,
objectType = virtualMachine,
key = vm-######,
serverVuid = null


} is associated with a profile not having rules from the datastore's namespace VSAN. Returning compliance status as Not-Applicable. AssoicatedProfile: CapabilityBasedProfile{profileId = (uniqueId = 6ea795e6-f08f-4df2-976c-############}, name = <VM_Storage_Policy_Name>, lineofService = null, profileCategory = REQUIREMENT, generationId = 0, description = , creationTime = 2025-05-21T08:32:06.270+12:00, createdBy = Temporary user handle, lastUpdatedBy = Temporary user handle, systemCreatedProfileType = null, isD=fault = false, lastUpdatedTime = 2025-05-21T08:32:06.270+12:00, resourceType - STORAGE, constraints = (subProfiles = [(name = VMFS rules, capability = [[id = VolumcAllocationType, namespace - com. vmware.storage. volumcallocation, constraint.propertyInstance = [[{id = VolumeAllocationType, operator = null, value = Fully initialized} ] ] }, {id = ########, namespace = http://www.vmware.com/storage/tag, constraint.propertyInstance = [[{id = com. vmware.storage. tag. #########.property, operator = null, discreteset = {values = [<Storage_Policy_tag>] | ) ]]}], foreprovision = null}] } }

 

Environment

vSphere ESXi 7.x

vSphere ESXi 8.x

Cause

  • Issue occurs due to incorrect Storage Policy applied to the Virtual machine.

  • Following misconfiguration observed:
    1. VMs with Thick provisioned Eager Zeroed disks were mapped to Storage Policy that had 'Volume allocation type' set as 'Reserve space'.
    2. VMs with Thick provisioned Lazy Zeroed disks were mapped to Storage Policy that had 'Volume allocation type' set as 'Fully initialized'.

Resolution

  • Storage Policies must be mapped as follows:
    1. VMs with Thick provisioned Eager Zeroed disks must be mapped to Storage Policy that has 'Volume allocation type' set as 'Fully initialized'.
    2. VMs with Thick provisioned Lazy Zeroed disks must be mapped to Storage Policy that has 'Volume allocation type' set as 'Reserve space'.
  1. For VMs that need change of storage policy from one with 'Thick Eager Zero' ('Volume allocation type' as 'Fully initialized') to one with 'Thick Lazy Zero' ('Volume allocation type' as 'Reserve space'), need to be powered-off before making change.

  2. For VMs that need storage policy change that has same 'Volume allocation type' between the two policies could be done on the fly with no outage needed.

  3. Steps to change storage policy for a VM: