When enabling a Cluster wide Space efficiency policy such as compression only or deduplication and compression it fails with the following error:
General vSAN error. Resource check failed - Internal failure happened during the resource check.
Target datastore space efficiency policy is not compatible with current cluster configuration.
A policy in use by vSAN has the requirement "datastoreSpaceEfficiency" "NoSpaceEfficiency".
From the output of esxcli vsan debug object list
Object UUID:
9732ea5f-c824-8300-4a30-############
Version:
20
Owner:
devtestvx04.mtga.enterprise.mohegansun.com
Policy:
stripeWidth: 1
cacheReservation: 0
proportionalCapacity: [0, 100]
hostFailuresToTolerate: 1
forceProvisioning: 0
spbmProfileId: aba0a964-67ce-420e-bbbc-############
spbmProfileGenerationNumber: 3
objectVersion: 20
storageType: Allflash
replicaPreference: Capacity
iopsLimit: 0
checksumDisabled: 0
CSN: 18094
SCSN: 17530
spbmProfileName: Test_policy
datastoreSpaceEfficiency: NoSpaceEfficiency
Per the Define a Storage Policy for vSAN Using vSphere Client tech document.
Space Efficiency: Defines the space saving rules for the virtual machines that you deploy with this policy. You can choose one of the following options:
Deduplication and compression: Enables both deduplication and compression on the virtual machines. Deduplication and compression are available only on all-flash disk groups. For more information, see Deduplication and Compression Design Considerations.
Compression only: Enables only compression on the virtual machines. Compression is available only on all-flash disk groups. For more information, see Deduplication and Compression Design Considerations.
No space efficiency: Space efficiency features are not enabled on the virtual machines. Choosing this option requires datastores without any space efficiency options to be turned on.
No preference: Makes the virtual machines compatible with all the options.
Review all VMs in the cluster and validate if they are running on snapshots. If so consolidate all snapshots before applying policy changes. As per Modifying storage policy rules on Virtual Machine running on snapshot in vSAN Datastore
Set all storage policy's in use by the vSAN cluster to datastoreSpaceEfficiency No preference and reapply the storage policy's to the VMs.
If you are still not able apply the vSAN Space efficiency policy after setting the VM storage policy's to "No preference" open a ne case with VMware by Broadcom.