VMware vSAN Knowledge Base

Phase 3 — DR & Data Protection ⚠ Break Scenarios ✓ Fix Procedures
14
DR & Recovery Issues
7
Break Scenarios
7
Fix Procedures
Phase 3
Current Phase
21
ESXi Host PSOD in vSAN Cluster — Impact & Recovery
Purple Screen of Death crashes an ESXi host, triggering vSAN object degradation and automatic rebuilds
Impact: All VMs on the crashed host are immediately unavailable. vSAN objects with components on this host enter "Reduced Availability". If vSphere HA is configured, VMs restart on surviving hosts. After 60 minutes, vSAN begins rebuilding components on remaining hosts.
Symptoms
  • Host console shows purple diagnostic screen with register dump
  • Host disconnected from vCenter
  • VMs on this host powered off (HA restarts them elsewhere)
  • vSAN Health: "Cluster – Host not responding"
  • Objects show "Reduced availability with no rebuild" (first 60 min)
Common PSOD Causes in vSAN
  • Storage controller driver bug (most common — check HCL)
  • NVMe driver crash on ESA clusters
  • Memory corruption (faulty DIMM)
  • Network driver panic (vmklinux or native driver issue)
  • Known ESXi bug — check VMware patch advisories
  • Third-party VIB incompatibility after ESXi upgrade
1

Capture the PSOD screen

# BEFORE rebooting the host, photograph or record the PSOD screen
# Key information to capture:
#   - Exception type (e.g., "#PF Exception 14" or "#GP Exception 13")
#   - Module name (e.g., "nmlx5_core", "lsi_mr3", "vmkernel")
#   - Stack trace addresses
#   - Build number shown on screen

# This information is critical for VMware/Broadcom GSS to identify the root cause
2

Reboot the host

# If the host is stuck on PSOD screen:
# Use IPMI/iLO/iDRAC remote console to perform a hard reset
# Or press the physical reset button on the server

# The host will reboot and rejoin the vSAN cluster automatically
# vSAN objects will resync once the host is back online
3

Collect the core dump for root cause analysis

# After reboot, the core dump is saved automatically
# From ESXi Shell:
ls -la /var/core/
# Look for: vmkernel-zdump.* files

# Check the vmkernel log for the crash backtrace:
grep -A 50 "PSOD\|Panic\|Exception" /var/log/vmkernel.log

# Extract the core dump for VMware Support:
# From vSphere Client:
# Host → Monitor → Logs → Export System Logs
# Select "Include core dump files"

# Or via ESXi shell:
vm-support -w /vmfs/volumes/datastore1/
# This creates a support bundle with the core dump included
4

Verify the host rejoined the vSAN cluster

# From ESXi Shell (on the recovered host):
esxcli vsan cluster get
# Verify: "Local Node State: AGENT" or "MASTER"
# Verify: "Sub-Cluster Master UUID" matches other hosts

# Check disk groups are mounted:
esxcli vsan storage list
# All disk groups should show "In CMMDS: true"
5

Monitor resync and object health

# From vSphere Client:
# Cluster → Monitor → vSAN → Resyncing Objects
# Objects should be resyncing back to compliant state

# Cluster → Monitor → vSAN → Health → Run All Checks
# All checks should return to green after resync completes
Prevention: Keep ESXi patched with latest Broadcom advisories. Validate storage controller driver/firmware on vSAN HCL before deployment. Configure ESXi core dump to a network dump collector (vCenter → Host → Configure → System → Crash Dump) for easier analysis. Enable vSphere HA with "Host Monitoring" and "VM Restart Priority".
22
Snapshot Sprawl on vSAN — Performance Degradation & Consolidation Failures
Deep snapshot chains cause severe I/O latency and snapshot consolidation fails or stuns VMs
Impact: Each snapshot in the chain adds read latency. At 3+ deep, write performance degrades significantly. At 30+ deep (VMware hard limit: 32), the VM may become unresponsive. Consolidation of large snapshots can stun the VM for minutes.
Symptoms
  • VM disk latency >50ms, applications report timeouts
  • vSphere Client shows "Virtual machine disks consolidation is needed"
  • Snapshot Manager shows chains >3 levels deep
  • vSAN datastore filling up rapidly due to snapshot growth
  • Backup jobs (Veeam, Commvault) leave orphaned snapshots
  • Consolidation task fails with "Unable to access file" or times out
Root Causes
  • Backup software failed to remove snapshot after backup
  • Admin created manual snapshot and forgot to delete it
  • Automated snapshot schedule without retention cleanup
  • Snapshot consolidation failed silently — chain keeps growing
  • Insufficient vSAN free space to consolidate (needs temp space)
1

Identify VMs with snapshots

# From vSphere Client:
# Menu → VMs and Templates → Add column "Needs Consolidation"
# Filter: "Needs Consolidation = Yes"

# Check snapshot depth per VM:
# Right-click VM → Snapshots → Snapshot Manager
# Count the depth of the snapshot chain

# Find large snapshot delta files:
# VM → Files tab → Look for *-delta.vmdk and *-sesparse.vmdk files
# Sort by size to identify the largest snapshots
2

Check snapshot disk usage from ESXi Shell

# SSH to the host running the VM:
# Find the VM's directory on the vSAN datastore:
find /vmfs/volumes/vsan*/ -name "*.vmdk" -type f | xargs ls -lh

# Look for delta files:
ls -lh /vmfs/volumes/vsanDatastore/<vm-folder>/*delta*
ls -lh /vmfs/volumes/vsanDatastore/<vm-folder>/*sesparse*

# Each delta file represents a snapshot level
# Large delta files = lots of writes accumulated since snapshot creation
1

Delete snapshots safely (for chains ≤3 deep)

# From vSphere Client:
# Right-click VM → Snapshots → Snapshot Manager
# Select the OLDEST snapshot → "Delete"
# This merges the snapshot data into its parent

# For all snapshots: Click "Delete All"
# This consolidates the entire chain back to the base disk

# IMPORTANT: Schedule during low-I/O window
# Consolidation causes temporary I/O spike
2

Handle deep chains (>3 deep) carefully

# For deep snapshot chains, consolidate ONE snapshot at a time:
# 1. Delete the OLDEST snapshot first (smallest merge)
# 2. Wait for the consolidation task to complete
# 3. Verify VM is responsive
# 4. Delete the next oldest snapshot
# 5. Repeat until chain is clean

# If consolidation fails with "Unable to access file":
# Retry with: Right-click VM → Snapshots → "Consolidate"
# This is a separate operation from "Delete" that retries the merge
3

Emergency: VM stunned during consolidation

# If the VM stuns (pauses) during snapshot consolidation:
# DO NOT power off the VM — let the consolidation complete
# The stun duration depends on snapshot delta size and I/O rate

# Monitor progress from ESXi Shell:
tail -f /var/log/vmware/hostd.log | grep -i "consolidat\|snapshot"

# If consolidation is completely stuck (>1 hour no progress):
# 1. Cancel the consolidation task from Recent Tasks
# 2. Power off the VM gracefully (guest shutdown)
# 3. Consolidate while VM is powered off (much faster, no stun risk)
# 4. Power the VM back on
4

Fix backup software leaving orphaned snapshots

# Check backup software logs for snapshot removal failures
# Common fixes:
# - Verify backup proxy has permissions to remove snapshots
# - Ensure CBT (Changed Block Tracking) is enabled on the VM:
#   VM → Edit Settings → VM Options → Advanced → Edit Configuration
#   Check: "ctkEnabled = true"
# - Reset CBT if corrupted:
#   1. Power off VM
#   2. Edit Settings → Remove all *-ctk.vmdk files
#   3. Set ctkEnabled = false, save, then set to true, save
#   4. Power on VM
VMware Best Practice: Never keep production snapshots longer than 72 hours. Set vCenter alarms for "VM disk consolidation needed". Limit snapshot chain depth to 2-3 maximum. Schedule regular snapshot audit reports. VMware KB 1025279 — "Best practices for virtual machine snapshots".
23
vSAN Stretched Cluster — Complete Site Failure & Failover
Entire data site goes offline in a stretched cluster — understanding automatic vs manual failover
Impact: When an entire site fails, VMs with affinity to that site go down. If the witness + surviving site can form quorum, objects remain accessible from the surviving site. vSphere HA restarts VMs on the surviving site. If both witness AND a site fail, no automatic recovery is possible.
Automatic Recovery (Quorum Maintained)
  • Secondary site fails + Witness UP: Preferred site has quorum. VMs auto-restart on preferred site via HA.
  • Preferred site fails + Witness UP: Secondary site has quorum. VMs auto-restart on secondary site via HA.
  • Witness fails (both sites UP): Cluster operates normally but cannot survive another failure. Replace witness urgently.
Manual Intervention Required
  • Preferred site + Witness fail: Secondary site alone cannot prove quorum — manual force required.
  • Secondary site + Witness fail: Preferred site alone cannot prove quorum — manual force required.
  • All three fail: Total outage. Recover sites and witness to restore.
1

Verify quorum on the preferred site

# From any host on the PREFERRED site:
esxcli vsan cluster get
# Verify: "Sub-Cluster Member Count" shows preferred site hosts + witness
# Verify: "Local Node State: MASTER" or "AGENT"

# Check object accessibility:
# Cluster → Monitor → vSAN → Virtual Objects
# Objects should show "Degraded - Reduced Availability" (NOT "Inaccessible")
2

Verify HA restarted VMs

# From vSphere Client:
# Cluster → Monitor → vSphere HA → Summary
# Check "VM Restarts" — all VMs from the failed site should be restarted

# If VMs did not restart:
# Cluster → Configure → vSphere HA → Edit
# Verify: "Host Monitoring Status: Enabled"
# Verify: "VM Restart Priority: Medium or High"
3

Wait for vSAN to rebuild (or not)

# vSAN will wait 60 minutes before rebuilding components
# from the failed site onto the surviving site
# This is controlled by the CLOM repair timer

# If the site is expected to return soon, do NOT force rebuild
# Objects remain accessible (degraded) from the surviving site

# If the site is permanently lost:
# Cluster → Monitor → vSAN → Resyncing Objects → "Repair Objects Immediately"
# This starts rebuilding all components onto the surviving site
1

LAST RESORT — Force quorum on the surviving site

# This should ONLY be done when:
# - The other site AND witness are CONFIRMED permanently unavailable
# - You accept potential data inconsistency risk
# - VMware/Broadcom GSS has been contacted

# From vSphere Client (if vCenter is on the surviving site):
# Cluster → Configure → vSAN → Fault Domains and Stretched Cluster
# Click "Preferred Fault Domain" → verify the surviving site is preferred

# From ESXi Shell on the surviving site (if vCenter is down):
esxcli vsan cluster unicastagent add -a <local_host_ip> -p 12321
# Force the local hosts to form a cluster without the witness
Forcing quorum is a destructive, non-reversible operation. If the other site had newer writes, those writes are LOST. Always engage VMware/Broadcom GSS before performing this operation. Document everything.
2

When the failed site comes back online

# Once the failed site's hosts boot up and rejoin the cluster:
# vSAN will automatically resync stale components
# Monitor: Cluster → Monitor → vSAN → Resyncing Objects

# If the witness was also replaced:
# Cluster → Configure → vSAN → Fault Domains → Replace Witness Host
# Select the new witness appliance

# Verify full cluster health:
# Cluster → Monitor → vSAN → Health → Run All Checks
# All checks should return to green after full resync
🛈 VMware KB Reference: KB 2108285 — "vSAN stretched cluster design and troubleshooting". Ensure vCenter Server is deployed in the preferred site or use vCenter HA across sites. Place the witness at a third site with independent power/network.
24
vSAN Native Snapshots (vSAN 8) — Configuration & Troubleshooting
vSAN 8 ESA native snapshots fail to create, consume unexpected space, or cannot be restored
🛈 vSAN 8 ESA Native Snapshots are fundamentally different from traditional VMware snapshots. They are implemented at the vSAN storage layer (not the VM layer), use copy-on-write at the object level, and have no performance penalty regardless of chain depth. They replace the legacy redo-log based snapshot mechanism for ESA clusters.
Symptoms
  • Snapshot creation fails: "Insufficient space for snapshot"
  • Snapshot restore fails or takes extremely long
  • Protection group shows "Non-compliant" status
  • Snapshot schedule not executing (no new snapshots appearing)
  • Space consumed by snapshots exceeds expectations
Root Causes
  • Cluster not running vSAN 8 ESA (native snapshots require ESA)
  • Insufficient vSAN capacity for snapshot reservation
  • Protection group policy misconfigured
  • vSAN health issues blocking snapshot operations
  • Time-based schedule configured but VCSA time is skewed
1

Verify ESA mode and native snapshot support

# From vSphere Client:
# Cluster → Configure → vSAN → Services
# Confirm: "Storage Architecture: Express Storage Architecture (ESA)"
# Confirm: "Data Protection: Enabled" (or enable it)

# Native snapshots are NOT available on OSA clusters
# OSA clusters continue to use traditional VMware snapshots
2

Create and configure a protection group

# From vSphere Client:
# Cluster → Configure → vSAN → Data Protection → Protection Groups
# Click "Create Protection Group"
#   - Name: "Production-Hourly" (example)
#   - Schedule: Every 1 hour
#   - Retention: Keep last 24 snapshots
#   - Assign VMs: Select VMs to protect

# Verify protection group status:
# Cluster → Monitor → vSAN → Data Protection
# Status should show "Compliant" for all assigned VMs
3

Fix snapshot creation failures

# If "Insufficient space":
# Check capacity: Cluster → Monitor → vSAN → Capacity
# Native snapshots consume space proportional to the CHANGE RATE
# High-write VMs consume more snapshot space

# Reduce retention or increase cluster capacity:
# Edit Protection Group → Reduce "Retention Count"
# Or add capacity per KB #17 (Phase 2)

# If protection group is "Non-compliant":
# Cluster → Monitor → vSAN → Health → Run All Checks
# Fix any underlying vSAN health issues first
# Then: Protection Group → "Reapply" to re-evaluate compliance
4

Restore a VM from a native snapshot

# From vSphere Client:
# Cluster → Monitor → vSAN → Data Protection → Select VM
# Browse available snapshots by timestamp
# Select the desired recovery point → "Restore"

# Options:
#   - Restore in-place (overwrites current VM state)
#   - Restore as new VM (creates a clone from the snapshot point)

# Native snapshot restores are near-instant (metadata-level operation)
# The VM resumes from the exact point-in-time of the snapshot
Key Advantage: vSAN 8 ESA native snapshots have zero performance penalty — no redo logs, no chain depth limits, no VM stun during creation/deletion. This makes them suitable for frequent (hourly) protection schedules that were impractical with traditional snapshots.
25
vSAN Data Integrity — Checksum Mismatch (Silent Data Corruption)
vSAN detects checksum errors indicating silent data corruption (bit rot) on physical media
Impact: vSAN's end-to-end checksum detects data that has been silently corrupted on disk. If only one replica is corrupt, vSAN auto-heals by copying from the good replica. If ALL replicas are corrupt (extremely rare), data loss occurs for that object.
Symptoms
  • vSAN Health: "Data – vSAN object health" shows checksum errors
  • vmkernel.log: LSOM: Checksum mismatch detected
  • Proactive scrubbing alerts in vSAN health dashboard
  • VM may experience I/O errors if all replicas are affected
  • vSAN Performance: read errors on specific physical disks
Root Causes
  • Bit rot: Physical media degradation (aging SSD/HDD)
  • Firmware bug in storage controller causing write corruption
  • Memory (DIMM) error during I/O path (no ECC or ECC failure)
  • Power loss during write causing partial/torn write
  • Cosmic ray bit flip (yes, this happens — DRAM soft errors)
🛈 End-to-End Checksum: vSAN computes a checksum for every data block when written. On every read, the checksum is re-verified. If a mismatch is detected:
1. vSAN reads the same block from another replica (mirror) or reconstructs from parity (RAID-5/6).
2. The good data is returned to the VM (transparent — VM sees no error).
3. The corrupt block on the bad replica is overwritten with good data (auto-heal).
Proactive Scrubbing: vSAN periodically reads and verifies ALL data blocks in the background, even if no VM is reading them. This catches bit rot BEFORE a VM needs the data.
1

Check for checksum errors in health dashboard

# From vSphere Client:
# Cluster → Monitor → vSAN → Health → Data
# Look for checksum error counts

# Review vmkernel log for checksum events:
grep -i "checksum\|csum\|integrity" /var/log/vmkernel.log | tail -50
2

Identify the affected disk

# From ESXi Shell:
esxcli vsan debug disk list
# Look for disks with non-zero "Checksum Errors" or "Read Errors"

# Check SMART data for the suspected disk:
esxcli storage core device smart get -d naa.xxxxxxxxxxxx
# Key indicators: "Uncorrectable Error Count", "Reallocated Sector Count"
1

For isolated checksum errors — vSAN auto-heals

# If checksum errors are infrequent (a few per week):
# vSAN has already auto-healed these from redundant copies
# No action needed — monitor the trend

# Verify auto-heal occurred:
# Cluster → Monitor → vSAN → Health → Data
# "Checksum errors corrected" count should match "detected" count
2

For persistent/increasing errors — replace the disk

# If a specific disk shows increasing checksum errors:
# The physical media is degrading — proactive replacement needed

# From vSphere Client:
# Host → Configure → vSAN → Disk Management
# Select the failing disk → "Remove Disk with Data Migration"
# Wait for full data evacuation
# Physically replace the disk
# Add the new disk: Disk Management → Claim Disks

# Or if the entire disk group is affected (cache SSD):
# Remove the disk group with full data migration
# Replace the SSD → Recreate the disk group
3

Verify and configure proactive scrubbing

# Proactive scrubbing is enabled by default but can be verified:
# From ESXi Shell:
esxcli system settings advanced list -o /VSAN/ObjectScrubEnabled
# Expected: "Int Value: 1" (enabled)

# Scrub frequency (default: every 365 days for full scrub):
esxcli system settings advanced list -o /VSAN/ObjectScrubInterval

# To make scrubbing more frequent (e.g., every 90 days):
esxcli system settings advanced set -o /VSAN/ObjectScrubInterval -i 90

# From vSphere Client:
# Cluster → Configure → vSAN → Services → Advanced Options
# "Object Repair Timer" — keep at default unless advised by GSS
VMware KB Reference: KB 2108319 — "vSAN end-to-end data integrity with checksums". vSAN's checksum mechanism is one of the strongest data integrity features in HCI. Ensure it is never disabled. Combined with FTT=1+, it provides transparent corruption healing.
26
vCenter Runs on vSAN — Recovery When vCenter is Lost
vCenter VCSA hosted on vSAN becomes unavailable — managing vSAN without vCenter
Impact: When vCenter runs on the vSAN datastore and becomes unavailable, you lose the management plane. However, vSAN continues operating independently — VMs keep running, I/O continues. You lose management visibility and cannot perform cluster-level operations until vCenter is restored.
🛈 vSAN is a distributed kernel-level service running on each ESXi host. Once configured, it operates autonomously. vCenter is needed only for:
- Initial cluster configuration
- Health monitoring and reporting
- Policy changes and disk management
- Maintenance mode orchestration
- Stretched cluster witness configuration
If vCenter is lost, VMs and vSAN I/O continue uninterrupted.
1

Verify vSAN is still operational via ESXi direct management

# Connect directly to each ESXi host via SSH or Host Client (https://host-ip/ui)
# From ESXi Shell:
esxcli vsan cluster get
# Should show cluster membership is intact

esxcli vsan storage list
# All disk groups should be mounted

esxcli vsan debug resync summary
# Verify no unexpected resyncs
2

Recover VCSA from file-based backup

# If you have VCSA file-based backups configured:
# 1. Deploy a fresh VCSA from the ISO installer
# 2. During deployment, choose "Restore" instead of "Install"
# 3. Point to the backup location (FTP/FTPS/HTTP/SCP/NFS/SMB)
# 4. The restore process recovers the full vCenter database and config

# VCSA backup location check (from a working VCSA):
# VAMI (https://vcsa:5480) → Backup → Backup Schedule
# Backup protocol and location are shown here

# IMPORTANT: Deploy the restored VCSA on a host's local datastore FIRST
# Then Storage vMotion it to vSAN after vCenter is operational
3

If no backup exists — fresh VCSA and re-register hosts

# Deploy a new VCSA on a host's local datastore
# Create a new datacenter and cluster in vCenter
# Add hosts to the cluster:
#   Cluster → Add Host → Enter each host's IP/FQDN and root credentials

# CRITICAL: When adding hosts, vSAN configuration is PRESERVED on the hosts
# vCenter will discover the existing vSAN cluster configuration
# VMs and data remain intact on the vSAN datastore

# After all hosts are added:
# Cluster → Configure → vSAN → verify the existing config is detected
# Run health checks to confirm everything is operational
4

Restart vCenter VM from ESXi Host Client (if it just crashed)

# If the VCSA VM is on vSAN but just powered off/crashed:
# Connect to the host managing it: https://<esxi-host-ip>/ui
# Log in with root credentials
# Find the VCSA VM → Power On

# If the VCSA VM is not registered on any host:
# Browse the vSAN datastore from Host Client:
# Storage → vsanDatastore → Browse → Find VCSA folder → .vmx file
# Right-click .vmx → Register VM → Power On
Prevention: Configure VCSA file-based backup to an EXTERNAL location (NFS share, FTP server NOT on vSAN). Schedule daily backups. Consider vCenter HA (active/passive/witness) for automatic vCenter failover. VMware KB 2149237 — "File-based backup and restore of vCenter Server Appliance".
27
vSAN Host Isolation — Incorrect HA Response Causing VM Outages
ESXi host becomes network-isolated, HA triggers wrong response (shutdown/power off) — VMs disrupted unnecessarily
Impact: When a host loses management network connectivity, vSphere HA may declare it isolated and respond based on the configured "Host Isolation Response". Wrong settings can cause VMs to be powered off on a host that still has working vSAN storage — unnecessary disruption.
Symptoms
  • VMs unexpectedly powered off or shutdown on an isolated host
  • vSphere HA event: "Host declared as isolated"
  • VMs restarted on other hosts even though the original host was fine
  • APD (All Paths Down) timeout triggers premature VM failover
  • Management network down but vSAN network still operational
Root Causes
  • Management network failure (switch, VLAN, cable) — not vSAN network
  • Isolation address not configured or unreachable
  • "Host Isolation Response" set to "Power off" instead of "Disabled"
  • PDL (Permanent Device Loss) misdetected on vSAN objects
  • Network misconfiguration causing false isolation detection
1

Configure Host Isolation Response

# From vSphere Client:
# Cluster → Configure → vSphere HA → Edit

# VM Monitoring tab:
# "Host Isolation Response" → Set to "Disabled"
# Reason: On vSAN, the isolated host's VMs still have LOCAL
# access to vSAN storage. Powering them off is unnecessary.

# The VMs will continue running on the isolated host.
# When the management network recovers, vCenter reconnects
# and no VM disruption occurred.
2

Configure APD and PDL responses for vSAN

# In the same HA settings:
# "Datastore with APD" (All Paths Down):
#   Response: "Issue events" (conservative) or "Power off and restart VMs (aggressive)"
#   APD Timeout: 140 seconds (default — do not reduce)

# "Datastore with PDL" (Permanent Device Loss):
#   Response: "Power off and restart VMs"
#   Reason: PDL means the datastore is PERMANENTLY gone — restart elsewhere

# For vSAN specifically:
# APD occurs when the host loses ALL vSAN network connectivity
# PDL is rare on vSAN — it means the object is permanently inaccessible
3

Configure isolation addresses

# Add a reliable isolation address that's always reachable:
# Cluster → Configure → vSphere HA → Advanced Options → Add:

# das.isolationaddress0 = <default_gateway_ip>
# das.isolationaddress1 = <dns_server_ip>
# das.usedefaultisolationaddress = false

# These IPs are used to determine if a host is truly isolated
# or if just the vCenter communication is disrupted
# Use infrastructure IPs that are ALWAYS UP (gateway, DNS, NTP)
4

Recover VMs if they were incorrectly powered off

# If VMs were powered off due to incorrect isolation response:
# 1. Fix the management network issue first
# 2. vCenter reconnects to the host automatically
# 3. Power on the VMs that were affected:
#    Select VMs → Right-click → Power → Power On

# Prevent recurrence:
# Set "Host Isolation Response" to "Disabled" (step 1 above)
# Configure proper isolation addresses (step 3 above)
🛈 VMware KB Reference: KB 2004 106 — "vSphere HA host isolation response recommendations for vSAN". Key takeaway: For vSAN clusters, set Host Isolation Response to "Disabled" because isolated hosts still have local access to vSAN data. This is different from traditional SAN/NAS environments.
28
vSAN Proactive HA — Configuring Pre-Emptive VM Migration
Hardware health provider detects degradation and triggers automatic VM evacuation before failure
🛈 Proactive HA integrates with server vendor health providers (Dell OMIVV, HPE OneView, Lenovo XCI) to detect hardware degradation (failing fans, PSU, DIMM, disk controllers) BEFORE a full failure occurs. When triggered, DRS automatically vMotions VMs off the degraded host — preventing downtime.
1

Install the hardware health provider

# Each server vendor provides a vCenter plugin:
#   Dell: Dell OpenManage Integration for VMware vCenter (OMIVV)
#   HPE: HPE OneView for VMware vCenter
#   Lenovo: Lenovo XClarity Integrator for VMware vCenter

# Install the vendor plugin via vCenter:
# Menu → Administration → Client Plugins → Add plugin
# Follow the vendor's deployment guide

# Verify the health provider is registered:
# Host → Monitor → Hardware Health
# Should show component-level health (CPU, Memory, Storage, Power, Fans)
2

Enable Proactive HA on the cluster

# From vSphere Client:
# Cluster → Configure → vSphere Availability → Proactive HA → Edit

# Settings:
#   Proactive HA: Enabled
#   Remediation: "Mixed Mode" or "Maintenance Mode"
#     - Mixed Mode: Migrates VMs (DRS) for moderate issues,
#       enters maintenance for severe issues
#     - Maintenance Mode: Always evacuates all VMs
#   Automation Level: "Automated" (recommended)
#     - VMs are vMotioned automatically without admin intervention

# Select the health provider(s) to use:
# Check the vendor plugin(s) installed in step 1
3

Configure failure conditions and severity mapping

# Proactive HA maps vendor health alerts to two severity levels:

# "Moderately Degraded": Non-critical component issue
#   Example: Single PSU failed (redundant PSU still running)
#   Action: DRS migrates VMs to healthier hosts (preventive)

# "Severely Degraded": Critical component about to fail
#   Example: Memory DIMM correctable errors exceeding threshold
#   Action: Host enters maintenance mode, all VMs evacuated

# Fine-tune per provider:
# Cluster → Configure → Proactive HA → Provider-specific settings
# Map vendor alert categories to Moderate or Severe
4

If Proactive HA is not triggering on hardware issues

# Verify the health provider is communicating:
# Host → Monitor → Hardware Health → Check for recent updates

# Check vCenter logs for Proactive HA events:
# Menu → Events → Filter by "Proactive HA"

# Common issues:
# - Vendor plugin lost connection to the vendor management server
# - Plugin version incompatible with current vCenter version
# - IPMI/iLO/iDRAC credentials changed — plugin cannot poll hardware

# Fix: Re-configure the vendor plugin with correct credentials
# and verify connectivity to the management controller (iLO/iDRAC/IMM)
VMware Best Practice: Proactive HA is especially valuable for vSAN because storage failures directly impact ALL VMs on the host. Detecting a degrading storage controller or DIMM before it causes a PSOD prevents the vSAN rebuild cascade. Requires DRS to be enabled in "Fully Automated" mode.
29
vSAN Cluster Graceful Shutdown & Startup — Correct Order
Properly shutting down and powering on the entire vSAN cluster for datacenter maintenance or power events
Impact: Incorrect shutdown order can cause vSAN data corruption, split-brain scenarios, or objects becoming permanently inaccessible. Incorrect startup order can prevent disk groups from mounting or vSAN from forming the cluster.
1

Step 1: Shut down all non-essential VMs

# From vSphere Client:
# Shut down all workload VMs gracefully:
# Select VMs → Right-click → Power → Shut Down Guest OS

# Leave these VMs running for now:
#   - vCenter Server (VCSA)
#   - Witness appliance (if stretched cluster)
#   - Any infrastructure VMs needed for vCenter operation (AD, DNS)
2

Step 2: Shut down vCenter Server

# From VCSA VAMI (https://vcsa-ip:5480):
# Actions → Shutdown → Confirm

# Or from VCSA SSH:
shutdown -h now

# IMPORTANT: After this point, you manage hosts directly via
# ESXi Host Client (https://host-ip/ui) or SSH
3

Step 3: Put each host in maintenance mode (No data migration)

# For a full cluster shutdown, use "No data migration"
# because ALL hosts are shutting down — there's nowhere to migrate TO

# From ESXi Shell on each host:
esxcli system maintenanceMode set -e true -m noAction

# Or from ESXi Host Client:
# Host → Actions → Enter Maintenance Mode
# Select "No data migration" (since entire cluster is shutting down)

# Wait for each host to enter maintenance mode before proceeding
You MUST use "No data migration" for full cluster shutdown. Using "Full data migration" or "Ensure accessibility" will fail because there are no destination hosts available.
4

Step 4: Shut down ESXi hosts

# From ESXi Shell on each host:
esxcli system shutdown poweroff -r "Datacenter maintenance"

# Or from ESXi Host Client:
# Host → Actions → Shut Down

# Shut down hosts in any order (all should be in maintenance mode already)
# Last: shut down the witness host (if stretched cluster)
1

Step 1: Power on ALL ESXi hosts (and witness)

# Power on all hosts simultaneously (or as quickly as possible)
# Use IPMI/iLO/iDRAC to remote power-on

# CRITICAL: Power on ALL hosts before exiting maintenance mode on ANY host
# This ensures vSAN can form the complete cluster and all objects are accessible

# Wait for all hosts to finish booting:
# Connect via SSH or Host Client to verify
# Each host should show ESXi login prompt
2

Step 2: Verify vSAN cluster formed

# From ESXi Shell (on any host):
esxcli vsan cluster get
# Verify: All hosts show the SAME "Sub-Cluster Master UUID"
# Verify: "Sub-Cluster Member Count" matches total host count

# Check disk groups are mounted:
esxcli vsan storage list
# All disk groups should show "In CMMDS: true"
3

Step 3: Exit maintenance mode on all hosts

# From ESXi Shell on each host:
esxcli system maintenanceMode set -e false

# Or from ESXi Host Client on each host:
# Host → Actions → Exit Maintenance Mode

# vSAN will verify object health and start any necessary resyncs
# Wait for resync to complete (should be minimal after graceful shutdown)
4

Step 4: Power on vCenter, then workload VMs

# Power on vCenter VCSA first:
# From ESXi Host Client (on the host where VCSA is registered):
# Find VCSA VM → Power On → Wait for services to start (5-10 minutes)

# Verify vCenter is operational:
# Browse to https://vcsa-ip/ui — login should work

# Then power on workload VMs:
# From vSphere Client: Select VMs → Power On
# Or use VM startup order if configured:
# Host → Configure → Virtual Machines → VM Startup/Shutdown
🛈 VMware KB Reference: KB 2142676 — "Shutting down and restarting a vSAN cluster". The golden rule: ALL hosts must be powered on and cluster-formed BEFORE exiting maintenance mode. Exiting maintenance on a partial cluster causes unnecessary rebuilds and potential data issues.
30
vSAN Fault Domain Misconfiguration — Rack Awareness Failures
Fault domains incorrectly configured causing all replicas placed in the same rack — single rack failure = data loss
Impact: Without fault domains, vSAN may place both replicas of an FTT=1 object on hosts in the SAME rack. If that rack loses power or its TOR switch fails, both replicas are lost simultaneously — resulting in data loss despite having FTT=1 configured.
Symptoms
  • After a rack failure, FTT=1 objects become inaccessible (not just degraded)
  • vSAN Health: fault domain configuration warnings
  • All component replicas placed on hosts in the same physical rack
  • CLOM placement logs show no fault domain constraints considered
  • Uneven capacity usage across fault domains
Root Causes
  • Fault domains never configured (default: vSAN treats each host as a fault domain)
  • Hosts added to wrong fault domain (mismatched physical rack)
  • Too few fault domains for the FTT level (FTT=1 needs 3+ fault domains)
  • Unbalanced fault domains (1 host in one, 5 in another)
  • Fault domain deleted and hosts not reassigned
🛈 Fault Domain Minimum Requirements:
FTT=1 RAID-1: Minimum 3 fault domains (2 for replicas + 1 for witness)
FTT=1 RAID-5: Minimum 4 fault domains
FTT=2 RAID-1: Minimum 5 fault domains
FTT=2 RAID-6: Minimum 6 fault domains
Each fault domain should map to a physical rack or independent failure boundary (separate power, separate TOR switch).
1

Audit current fault domain configuration

# From vSphere Client:
# Cluster → Configure → vSAN → Fault Domains
# Review which hosts are in which fault domain
# Cross-reference with your physical rack layout

# If "Fault Domains" shows empty — fault domains are NOT configured
# vSAN is treating each individual host as a fault domain
2

Create fault domains matching physical topology

# From vSphere Client:
# Cluster → Configure → vSAN → Fault Domains
# Click "+" to create a new fault domain
# Name it after the physical rack: "Rack-A", "Rack-B", "Rack-C"
# Drag hosts from "Unassigned" into the correct fault domain

# Example for a 6-host, 3-rack cluster:
#   Rack-A: esxi-01, esxi-02
#   Rack-B: esxi-03, esxi-04
#   Rack-C: esxi-05, esxi-06

# After configuration, vSAN's CLOM engine will ensure replicas
# are placed across DIFFERENT fault domains
3

Trigger rebalance to fix existing object placement

# After creating fault domains, existing objects may not comply
# vSAN does NOT automatically rebalance existing objects

# To fix non-compliant objects:
# Cluster → Monitor → vSAN → Virtual Objects
# Filter by "Compliance Status: Non-Compliant"

# For each non-compliant VM:
# Right-click → VM Policies → Reapply VM Storage Policy
# This triggers CLOM to re-evaluate placement with fault domain awareness

# Or trigger cluster-wide rebalance:
# Cluster → Monitor → vSAN → Resyncing Objects → "Rebalance Disks"
4

Verify fault domain compliance

# After rebalance completes:
# Cluster → Monitor → vSAN → Virtual Objects
# All objects should show "Compliant"

# Verify replicas are spread across fault domains:
# Select any VM object → "Physical Disk Placement" tab
# Component replicas should be on hosts in DIFFERENT fault domains

# Run health check:
# Cluster → Monitor → vSAN → Health → Run All
# "Cluster – Fault domain configuration" should be green
VMware KB Reference: KB 2108574 — "Configuring fault domains in vSAN". Fault domains are ESSENTIAL for production vSAN clusters spanning multiple racks. Without them, vSAN cannot guarantee physical separation of replicas across failure boundaries. Always configure before going live.
75
ESXi Host Boot Device Failure (USB / SD Card)
ESXi boot media fails due to write wear, causing host to lose configuration and drop from cluster
Impact: Host goes offline, removing its disk groups from the vSAN cluster. Objects lose a replica. If using USB/SD boot (deprecated in vSphere 8), write wear causes failures every 12–36 months. VMware officially deprecated USB/SD boot in ESXi 7.0u3+.
Symptoms
  • Host shows "Not Responding" in vCenter
  • Console shows read-only filesystem or boot failure
  • PSOD with Cannot open /bootbank errors
  • ESXi boots to DCUI but shows missing VMFS-L partitions
  • Host lost all local configuration (networking, vSAN config)
Root Causes
  • USB flash drive write wear exhaustion (limited write cycles)
  • SD card degradation from constant OSDATA partition writes
  • vSphere 7+ increased boot device write load (tools, logs, traces)
  • Power surge corrupted boot media
  • Cheap/non-enterprise USB drives not rated for server use
1

Replace boot device and reinstall ESXi

# If USB/SD failed completely:
# 1. Replace with a new enterprise SSD/NVMe (recommended) or M.2 boot device
# 2. Install ESXi fresh from ISO
# 3. Apply the SAME build/patch level as other cluster hosts

# After install, reconfigure:
esxcli network vswitch standard list
esxcli vsan storage tag add --tag capacityFlash -d naa.xxx  # if needed
2

Restore host configuration from backup

# If you backed up host config (best practice):
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle-hostname.tgz

# If no backup exists, reconfigure manually:
# - Set management VMkernel IP
# - Tag vSAN VMkernel
# - Configure NTP, DNS, syslog
# - Add host back to vCenter and cluster
3

Reclaim vSAN disk groups

# After host rejoins the cluster, existing vSAN disks should be auto-detected
# If not, manually re-add the disk group:
esxcli vsan storage list
# Verify existing disks show with vSAN partition

# If disks show but aren't claimed:
esxcli vsan storage add -s naa.CACHE_SSD -d naa.CAPACITY_1 -d naa.CAPACITY_2
🛈 Migration path: Move from USB/SD to an enterprise M.2 SATA/NVMe or BOSS card. In vSphere 8, configure the OSDATA partition on a dedicated persistent device. See VMware KB 85685 for supported boot devices.
76
vSAN + Backup Integration (VADP / CBT)
Backup failures on vSAN due to Changed Block Tracking issues, snapshot problems, or VADP timeouts
Symptoms
  • Backup jobs fail with "Cannot create snapshot" errors
  • CBT returns incorrect change data causing corrupt restores
  • Backup takes full instead of incremental (CBT reset)
  • Snapshot consolidation fails after backup completion
  • Backup proxy timeout connecting to vSAN datastore
Root Causes
  • CBT bug in specific ESXi builds (check VMware KB 2136854)
  • Too many concurrent backup snapshots on same host
  • vSAN object I/O timeout during snapshot quiesce
  • Backup proxy on different network than vSAN VMkernel
  • stun/unstun operations failing due to vSAN congestion
1

Reset CBT for affected VMs

# Power off the VM (or use hot-add if supported):
# Edit VM Settings → Options → Advanced → Configuration Parameters
# Set: ctkEnabled = FALSE
# Remove all ctk files from the VM's folder
# Re-enable: ctkEnabled = TRUE

# PowerCLI bulk reset for all VMs:
Get-VM | ForEach-Object {
    $snap = New-Snapshot -VM $_ -Name "CBT-Reset" -Memory:$false -Quiesce:$false
    Remove-Snapshot -Snapshot $snap -Confirm:$false
}
# This forces CBT to recalculate from scratch
2

Limit concurrent backup snapshots

# In your backup software (Veeam, Commvault, etc.):
# Reduce concurrent tasks per host to 2-3 (not 5+)
# vSAN must create/commit snapshots which involves I/O

# Set backup window during low-I/O periods
# Avoid running backups during vSAN resync operations

# For Veeam specifically:
# Set "Limit maximum concurrent snapshots per datastore" = 2
3

Use vSAN 8 native snapshots (ESA) for better backup performance

# ESA native snapshots don't have the performance penalty of OSA redo logs
# If on ESA, configure backup software to use native snapshot API
# This eliminates most snapshot-related backup failures

# Verify native snapshots are active:
esxcli vsan debug object list --filter-type snapshot
🛈 Best Practice: Always use HotAdd transport mode for backup proxies on vSAN. Place backup proxy VMs on the vSAN cluster itself. Maintain at least 25% free capacity for snapshot overhead during backup windows.
86
Two-Node / ROBO vSAN Deployment & Troubleshooting
Unique challenges and procedures for 2-node vSAN clusters at remote/branch office sites
Key constraint: In a 2-node cluster, losing any single host means zero redundancy. During maintenance on one host, all objects run at reduced availability. Plan maintenance windows carefully — a second failure during maintenance means data loss.
2-Node Setup
  • 2 data hosts + 1 witness appliance (mandatory)
  • Witness can be at the same site or remote (for DR)
  • Maximum policy: FTT=1, RAID-1 (mirror between hosts)
  • No RAID-5/6 possible (needs 4+ hosts)
  • Direct-connect supported (no switch needed between data hosts)
  • Requires vSAN Standard license or higher
Unique Challenges
  • Maintenance mode requires "Ensure accessibility" — full migration impossible with only 1 remaining host
  • Host failure = all VMs run on single host (no FTT protection)
  • Witness failure = cluster can still run but can't tolerate another failure
  • Upgrades must be sequential — never both hosts at once
  • Capacity planning: need 50%+ free on each host for failover
1

Witness connectivity loss

# 2-node clusters REQUIRE the witness for quorum
# If witness is unreachable:
esxcli vsan cluster get
# Check "Sub-Cluster Member Count" — should be 3 (2 data + 1 witness)

# Common causes:
# - Witness VM powered off or suspended
# - Firewall blocking witness ↔ data host traffic (ports 2233, 12321)
# - Witness on wrong network (must reach both data hosts)

# Fix: ensure witness VMkernel can ping both data hosts:
vmkping -I vmk0 <witness-vsan-ip>
2

Maintenance mode in 2-node cluster

# ALWAYS use "Ensure accessibility" mode:
esxcli system maintenanceMode set -e true -m ensureObjectAccessibility

# "Full data migration" is IMPOSSIBLE — there's only 1 other host
# and it already holds its own data + needs capacity headroom

# Before maintenance:
# 1. Verify witness is healthy
# 2. Check no objects are already degraded
# 3. Reduce FTT=0 for non-critical VMs temporarily (optional)

# During maintenance:
# All objects on the maintenance host go to "Reduced availability"
# If the remaining host fails during this window → DATA LOSS
🛈 Direct-connect topology: Connect the two data hosts with a crossover cable or direct 25GbE link for vSAN traffic. Use a separate management network through a switch. This eliminates the switch as a single point of failure for vSAN data.
90
vSAN + Site Recovery Manager (SRM) Integration
Configure and troubleshoot vSAN replication with SRM for automated DR failover

vSAN integrates with SRM via vSphere Replication (host-based, no SRA needed) or vSAN's own replication for stretched clusters. SRM orchestrates failover — protection groups, recovery plans, and non-disruptive testing.

1

Configure vSphere Replication for vSAN-to-vSAN DR

# 1. Deploy vSphere Replication Appliance at both sites
# 2. Pair the vCenters in SRM
# 3. Configure replication per VM:
#    - Right-click VM → vSphere Replication → Configure Replication
#    - Target: vSAN datastore at recovery site
#    - RPO: 5 minutes (minimum) to 24 hours

# Key vSAN-specific settings:
# - Use vSAN storage policy at target for FTT protection
# - Network: replication traffic can use vSAN VMkernel or dedicated vmk
# - Compression: enable replication network compression for WAN links
2

Troubleshoot replication failures

# Common issues:
# 1. RPO violations — replication can't keep up
#    Fix: increase RPO, reduce VM change rate, increase bandwidth
#    Check: vSphere Replication → Monitor → Outgoing Replications

# 2. "Replication target datastore full"
#    vSAN target needs space for: VM + snapshots + replication overhead
#    Rule of thumb: 1.5x the VM size on target vSAN datastore

# 3. SRM test failover leaves placeholder VMs
#    Always use "Cleanup" after test failover in SRM recovery plan
#    Orphaned test VMs consume vSAN capacity at recovery site

# 4. Network timeout during initial sync (large VMs)
#    Use "Replication Seeds" — copy VMDK to target offline
#    SRM syncs only delta after seeding
🛈 Stretched cluster vs. SRM: Stretched clusters provide near-zero RPO/RTO (synchronous replication, ≤5ms RTT). SRM + vSphere Replication provides asynchronous DR over any distance (higher RPO but no latency constraints). Choose based on distance and RPO requirements.