This article provides details of object operation when an object is reported (not compliant) with its own storage policy due modification.
Details of objects in "nonavailability-related-
# esxcli vsan debug object list --health=nonavailability-related-incompliance
Symptoms:
2025-05-21T15:22:15.094Z info clomd[2099327] [Originator@6876] CLOM_PostWorkItem: Posted a work item opID:1804290321 for xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx group: xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx Type: CHANGE delay 0 (Success)
Taking closer look at operation [opID: 1804290321] (Note the CHANGE type, this is not a repair object activity, i.e.: object did not lose any mirrors at this stage):
2025-05-21T15:22:15.094Z info clomd[2099327] [Originator@6876] CLOM_PostWorkItem: Posted a work item opID:1804290321 for group: xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx Type: CHANGE delay 0 (Success)xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx2025-05-21T15:22:15.094Z info clomd[2099327] [Originator@6876 opID=1804290321] CLOMProcessWorkItem: Op CHANGE starts:18042903212025-05-21T15:22:15.096Z info clomd[2099327] [Originator@6876 opID=1804290321] CLOMReconfigure: Reconfiguring workItem type CHANGExxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
2025-05-21T15:22:15.110Z info clomd[2099327] [Originator@6876 opID=1804290321] CLOM_VerifyPolicyComplianceVsan1: Obj is not compliant, reason:0x10xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
Storage Policy Change from FTT1 to FTT1, with size increase, i.e.: inflation -> object did not lose availability and/or redundancy (mirrors) - it only became temporarily incompliant with original policy:
2025-05-21T15:22:15.110Z info clomd[2099327] [Originator@6876 opID=1804290321] CLOM_VerifyPolicyComplianceVsan1: Current Policy2025-05-21T15:22:15.110Z info clomd[2099327] [Originator@6876 opID=1804290321] CLOMLogConfigurationPolicy: Object size 102005473280 bytes with policy: (("stripeWidth" i1) ("capacity" (l0 l102005473280)) ("proportionalCapacity" (i0 i100)) ("hostFailuresToTolerate" i1) ("affinity" [ xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx]) ("storageType" "AllFlash") ("replicaPreference" "Performance"))xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx2025-05-21T15:22:15.110Z info clomd[2099327] [Originator@6876 opID=1804290321] CLOM_VerifyPolicyComplianceVsan1: Target Policy2025-05-21T15:22:15.110Z info clomd[2099327] [Originator@6876 opID=1804290321] CLOMLogConfigurationPolicy: Object size 273804165120 bytes with policy: (("stripeWidth" i1) ("hostFailuresToTolerate" i1) ("forceProvisioning" i0) ("spbmProfileId" "") ("spbmProfileGenerationNumber" l+1) ("CSN" l425) ("SCSN" l227) ("spbmProfileName" "vSAN Default Storage Policy"))xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
Tracking the same operation a nature of change (expansion) is shown:
2025-05-21T15:22:15.110Z info clomd[2099327] [Originator@6876 opID=1804290321] CLOMInPlaceExpandObject: Inplace Expansion of from 102005473280 to 273804165120xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx2025-05-21T15:22:15.111Z info clomd[2099327] [Originator@6876 opID=1804290321] CLOMInPlaceExpandObject: Inplace Expansion for finished with Successxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
Finally, the operation is completed with "status Success":
2025-05-21T15:22:15.117Z info clomd[2099327] [Originator@6876 opID=1804290321] CLOMReconfigure: exit: obj transiantCapGenerated - total: 0, site1: 0, site2: 0, workItem type CHANGE configDelay 0 newConfigGenerated 1 status Successxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx2025-05-21T15:22:15.118Z info clomd[2099327] [Originator@6876 opID=1804290321] CLOM_PublishResyncBytes: No more work for (Success), reset queued resync bytes to 0xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx2025-05-21T15:22:15.118Z info clomd[2099327] [Originator@6876 opID=1804290321] CLOMProcessWorkItem: Op ends:1804290321
VMware vSAN 7.x
vSAN Skyline health in vCenter will reporting Object health warning with object in "nonavailability-related-incompliance":
This state in vSAN indicates that an object is not fully compliant with its storage policy, but it's still meeting the minimum availability requirements defined by the (NumberOfFailuresToTolerate) setting. Essentially, the object might be partially or temporarily out of compliance due to policy changes or other factors, but it's still able to maintain its data's availability. This is not a critical error, and the object is not at risk.