Skip to content
Back to Blog
VMware

VMware vSphere HA: Configuration and Best Practices

Configure High Availability in VMware vSphere: admission control, restart priorities, and proactive HA for production clusters.

Mar 2025
13 min read

VMware vSphere HA: Configuration and Best Practices

vSphere HA monitors VMs and restarts them on another host if a failure occurs. Proper configuration is essential.

HA Admission Control

Admission control ensures the cluster has enough resources to restart VMs after a host failure.

TEXT
vSphere Client: Cluster → Configure → vSphere Availability

Settings:
- Failures and responses: 1 host failure (default)
- Admission control: Reserve 25% CPU and Memory
  OR: Define failover hosts
- VM restart priority: High for critical VMs
- Response for Host Isolation: Power off and restart VMs

VM Restart Priorities

Assign priorities to control restart order:

PriorityVM Type
HighestDomain Controllers, Core Infrastructure
HighDatabase servers, Key applications
MediumApp servers
LowDev/test VMs

Datastore Heartbeating

Configure 2+ heartbeat datastores (different arrays if possible):

TEXT
Cluster → Configure → vSphere Availability → Datastore Heartbeating
→ Select datastores to use for heartbeating: [DS1] [DS2]

Host Isolation Response

TEXT
Isolation address: 10.0.0.1 (your gateway — not another ESXi host!)
Response: Power off and restart VMs

Proactive HA

Proactive HA works with hardware vendor plugins to detect degraded hardware before failure:

TEXT
Cluster → Configure → Proactive HA
→ Enable
→ Remediation: Automated (for production)

Monitoring HA Events

POWERSHELL
# PowerCLI - Check recent HA events
Get-VIEvent -MaxSamples 100 -Type Warning,Error | 
  Where-Object {$_.FullFormattedMessage -like "*HA*"} |
  Select-Object CreatedTime, FullFormattedMessage

Common HA Issues

  • HA agent unreachable: Check management network isolation
  • Insufficient failover capacity: Too many VMs for 1-host failure capacity
  • VM not restarting: Check datastore accessibility on all hosts
  • Split-brain: Always use isolation address on a gateway, not another host