Skip to content
Back to Blog
VMware

vCenter Server Upgrade: Step-by-Step Migration Guide

Upgrade vCenter Server from v6.x to v8: pre-upgrade checks, VCSA deployment, migration wizard, and post-upgrade validation.

Oct 2025
13 min read

Introduction

Upgrading vCenter Server is a critical operation that requires careful planning. Unlike ESXi upgrades, vCenter manages all your hosts and VMs — if something goes wrong, you lose management plane visibility. This guide covers upgrade planning, execution, and rollback.

Upgrade Path Considerations

  • Always check VMware Interoperability Matrix before upgrading
  • vCenter must be same version or newer than ESXi hosts
  • Upgrade vCenter first, then ESXi hosts
  • You cannot skip major versions (e.g., 6.7 → 8.0 requires going through 7.0)

Pre-Upgrade Checklist

BASH
# 1. Take a snapshot of vCenter VM (if running as VM)
# VMs can be snapshotted without stopping management

# 2. Backup vCenter
# Method 1: File-based backup via vCenter UI
# VAMI → Backup → Schedule/Trigger backup to NFS/SMB/FTP

# 3. Note current version
# vCenter UI → Menu → Administration → Deployment → System Configuration → Nodes

# 4. Check disk space
# VAMI (port 5480) → Monitor → Disk
# Need 50%+ free on /storage/db, /storage/log

# 5. Check services are healthy
# VAMI → Services → Verify all are running

# 6. Export certificates if using custom certs
# vCenter → Administration → Certificate Management → Export

vCenter Upgrade (VCSA)

vCenter Server Appliance (VCSA) upgrades differently from install — it's a "stage and upgrade" process.

Method 1: ISO-based upgrade

  1. Mount vCenter ISO
  2. Open vcsa-ui-installer/lin64/installer (or win32 for Windows)
  3. Select "Upgrade"
  4. Connect to existing vCenter (source)
  5. Wizard guides you through deploying the new appliance alongside the old one
  6. At the end, data is migrated and old vCenter is shut down

Method 2: GUI Upgrade

BASH
# Run from the VCSA ISO
./vcsa-deploy upgrade --accept-eula   --precheck-only   /path/to/upgrade-config.json

# Then run actual upgrade
./vcsa-deploy upgrade --accept-eula   --no-esx-ssl-verify   /path/to/upgrade-config.json

Upgrade config JSON:

JSON
{
  "__version": "2.13.0",
  "new_vcsa": {
    "esxi": {
      "hostname": "esxi-host.company.com",
      "username": "root",
      "password": "esxi_password",
      "deployment_network": "VM Network",
      "datastore": "local_datastore"
    },
    "appliance": {
      "thin_disk_mode": true,
      "deployment_option": "small",
      "name": "vcenter-new"
    },
    "network": {
      "ip_family": "ipv4",
      "mode": "static",
      "ip": "10.0.0.11",
      "dns_servers": ["8.8.8.8"],
      "prefix": "24",
      "gateway": "10.0.0.1",
      "system_name": "vcenter.company.com"
    },
    "os": {
      "password": "new_root_password",
      "ssh_enable": true
    },
    "sso": {
      "first_instance": true,
      "site_name": "Default"
    }
  },
  "source_vcsa": {
    "hostname": "old-vcenter.company.com",
    "username": "administrator@vsphere.local",
    "password": "old_password",
    "ssl_certificate_verification": false
  },
  "ceip": {
    "settings": {
      "ceip_enabled": false
    }
  }
}

Post-Upgrade Verification

POWERSHELL
# Connect to new vCenter
Connect-VIServer -Server vcenter.company.com

# Check all hosts are connected
Get-VMHost | Select-Object Name, ConnectionState, Version

# Check all VMs are accessible
Get-VM | Where-Object {$_.PowerState -ne "PoweredOn"} | Select-Object Name, PowerState

# Verify vSAN status
Get-VsanClusterConfiguration

# Check DRS/HA
Get-Cluster | Select-Object Name, DrsEnabled, HaEnabled

# Verify vCenter build number
$si = Get-View ServiceInstance
$si.Content.About

Rollback Options

If upgrade fails during Stage 1 (before data migration), original vCenter is unaffected — just remove the new appliance.

If upgrade fails during Stage 2 (data migration), you have limited options:

  1. If vCenter VM was snapshotted — revert snapshot
  2. If file-based backup exists — restore from backup
  3. Contact VMware support

Common Upgrade Issues

BASH
# Issue: Disk space insufficient
df -h /storage/db
df -h /storage/log

# Clean old logs
/usr/lib/vmware-vpx/scripts/cleanupdb.sh

# Issue: Services not starting post-upgrade
# Check VAMI → Services → start failed service

# Issue: Certificate errors after upgrade
# Reset machine SSL certificate
/usr/lib/vmware-vmafd/bin/vecs-cli

# Issue: Linked mode vCenter upgrade order
# Must upgrade all vCenters in Enhanced Linked Mode simultaneously