This issue occurs when a Storage Policy is modified or updated on a shared VMDK from the perspective of one VM, but the change is not synchronized or re-applied to the same VMDK on the other participant VMs in the WFCS cluster.
In a shared disk configuration, the Policy ID and Generation Number must be consistent across all VMs sharing that specific object.
affected host > VM > Edit VM policy. Note down the policy applied for the affected VM. esxcli vsan debug object list":esxcli vsan debug object liststructtype: ObjectInfoHealth: healthyObject UUID: ########-####-####-####-############Version: 20Owner: esxi-####.####.####-####.####.####Policy: stripeWidth: 1 cacheReservation: 0 proportionalCapacity: 0 hostFailuresToTolerate: 0 affinity: ['########-####-####-####-############'] forceProvisioning: 0 affinityMandatory: 1 spbmProfileId: ########-####-####-####-ABCD spbmProfileGenerationNumber: 3 replicaPreference: Performance iopsLimit: 0 checksumDisabled: 0 subFailuresToTolerate: 1 CSN: 461 SCSN: 13 spbmProfileName: ABCD locality: NonPreferred
Used: 25165824Used 4K Blocks: 26173440Size: 549755813888Type: vdiskPath: /vmfs/volumes/vsan:################-################/########-####-####-####-############/VM.vmdk (Exists)
esxcli vsan debug object list":esxcli vsan debug object liststructtype: ObjectInfoHealth: healthyObject UUID: ########-####-####-####-############Version: 20Owner: esxi-####.####.####-####.####.####Policy: stripeWidth: 1 cacheReservation: 0 proportionalCapacity: 0 hostFailuresToTolerate: 0 affinity: ['########-####-####-####-############'] forceProvisioning: 0 affinityMandatory: 1 spbmProfileId: ########-####-####-####-EFGH spbmProfileGenerationNumber: 2 replicaPreference: Performance iopsLimit: 0 checksumDisabled: 0 subFailuresToTolerate: 1 CSN: 461 SCSN: 13 spbmProfileName: EFGH locality: NonPreferred
Used: 25165824Used 4K Blocks: 26173440Size: 549755813888Type: vdiskPath: /vmfs/volumes/vsan:################-################/########-####-####-####-############/VM.vmdk (Exists)Identify the Mismatch: Compare the spbmProfileId and spbmProfileGenerationNumber for the spbmProfileName.
Example of an inconsistent state:
var/run/log/vsansystem.log file reports "Policy out of date" due to Policy ID and Generation ID mismatch.YYYY-MM-DDTHH:MM.SSSZ Er(163) vsansystem[30614378]: [vSAN@6876 sub=Default opId=d38ac082-1d97-4c3e-ae11-38a667b66848-5d9f-c030] Policy out of date detected. Expected policy id: ########-####-####-####-ABCD, Expected generation id: 3, Received policy id: ########-####-####-####-EFGH: 2.Re-apply the policy on shared VMDKs from all the VMs on which the disks are shared to ensure consistency in Policy ID and Generation ID.
Note: Re-apply policy can trigger resynch. Therefore it is recommended to re-apply the policy during off business hours.