Modifying storage policies for multi-writer shared VMDKs in vSAN
search cancel

Modifying storage policies for multi-writer shared VMDKs in vSAN

book

Article ID: 454236

calendar_today

Updated On:

Products

VMware vSAN

Issue/Introduction

When modifying the storage policy of a shared VMDK from the first VM (VM A), the underlying vSAN object updates correctly. However, a synchronization issue occurs in vCenter's SPBM (Storage Policy Based Management):

  • VM A shows as Compliant, but the second VM (VM B) shows as "Out of Date".

  • Clicking "Reapply VM Storage Policy" on VM B fixes VM B but changes VM A to "Out of Date" (a "ping-pong" effect).

This KB provides a safe workaround to modify the vSAN Storage Policy (e.g., changing from RAID 5 to RAID 6) for shared VMDKs configured with the multi-writer flag across multiple VMs, while ensuring vCenter Storage Policy compliance remains consistent.

Environment

  • VMware vSAN (all versions)
  • Virtual machines configured with shared VMDKs using the multi-writer flag (e.g., Oracle RAC, cluster systems)

Cause

This behavior is caused by a metadata synchronization glitch within vCenter. Because the VMDK is a single shared vSAN object, manually reapplying the policy on the second VM forces vCenter to overwrite the policy association ID, which causes the first VM's record to appear outdated, leading to an endless loop of compliance mismatch.

Resolution

To avoid the ping-pong effect and safely align the compliance status across all nodes, the following procedure is recommended. This method forces vCenter to refresh the VM configuration metadata without triggering a policy conflict.

Step-by-Step Procedure:

  1. Update VM A: On VM A, modify the storage policy of the shared VMDK (e.g., from RAID 5 to RAID 6) and wait for the backend resync to complete. The compliance status for VM A will show as Compliant.

  2. Verify VM B: On VM B, the VM Storage Policy Compliance should be Out of Date

  3. Right-click the VM B and navigate to VM Policies > Edit VM Storage Policies.

  4. Check Disk Status: Select the "Configure per disk" view. The shared VMDK already reflects the new policy. Do not modify the shared disk's policy here.

  5. Force Metadata Refresh: Temporarily change the storage policy of the VM home namespace to a different policy, then click OK.

  6. Validation: This action forces vCenter to update VM B's configuration state. Both VM A and VM B will now correctly display as Compliant with the accurate storage policy applied to the shared disk.

  7. (Optional) Change the VM home namespace back to its original policy.