Objects show as "Non-Compliant" in a stretch cluster when changing the storage policy
search cancel

Objects show as "Non-Compliant" in a stretch cluster when changing the storage policy

book

Article ID: 326643

calendar_today

Updated On:

Products

VMware vSAN

Issue/Introduction

Symptoms:
In a stretch cluster, the objects are reported as non-compliant, and vSAN is not able to fix the compliance. The issue happens if the following condition is met:
- Objects were deployed with a storage policy of Failures to tolerate set to "No data redundancy", Site disaster tolerance set to either "None - standard cluster" or "None - stretched cluster", and then they needed to be converted to a policy with Failures to tolerate set to RAID1/5/6. This is also possible if objects were forceProvisioned due to Behavior of forceProvisioning of objects in stretch clusters

Due to this issue objects remain in a non-compliant state indefinitely. Also, it may cause vSAN to run out of host memory eventually.

Environment

VMware vSAN 7.0.x

Cause

Whenever objects are placed with a storage policy of Site disaster tolerance set to either "None - standard cluster" or "None - stretched cluster" this results in locality=None, the components of the same replica can be spread across both the data sites in the cluster.

Then during the subsequent reconfig task, vSAN may decide to reuse the existing components from both sites for 2 different replicas. This causes an issue with the underlying storage layer and the reconfig gets rejected. vSAN may continuously run the same process indefinitely. As end result objects will remain non-compliant forever.

Resolution

Upgrade both vCenter and ESXi to 7.0U3c or higher

Workaround:
Create a storage policy as outlined in KB For vSAN stretched clusters don't use a storage policy with locality=none (88358)