Infrastructure administrators and homelab engineers running Proxmox Virtual Environment (PVE) 8 face an important maintenance deadline: Proxmox VE 8 will officially reach End of Life (EOL) on August 31, 2026. Aligned with the lifecycle of its underlying Debian 12 “Bookworm” base, PVE 8 will receive no further security patches, kernel updates, or bug fixes beyond August 31.

To ensure continued cluster security, stability, and access to new virtualization features, organization administrators should transition their clusters to Proxmox VE 9 (based on Debian 13 “Trixie” and Linux kernel 6.17/7.0+). Here is a comprehensive guide on how to prepare and execute a smooth upgrade.

1. Pre-Upgrade Preparation and Checklist

A successful major version upgrade requires thorough pre-flight validation. Before touching production repositories, administrators should complete several essential tasks:

  • Verify VM and Container Backups: Take full, tested backups of all Virtual Machines and LXC containers using Proxmox Backup Server (PBS) or external storage targets. Verify that backups can be restored successfully.
  • Ensure Disk Space Headroom: Confirm that the root (/) partition has at least 5 GB to 10 GB of unallocated disk space available for new package downloads and temporary extraction.
  • Run the Official Pre-Flight Audit Tool: Execute the built-in upgrade audit script via SSH:
    pve8to9 --full
    Review all reported warnings, repository misconfigurations, and outdated kernel flags.
  • Upgrade to Latest PVE 8.4 Base: Ensure the host node is fully updated to the latest 8.4 release before attempting the major upgrade:
    apt update && apt dist-upgrade

2. Special Considerations: Ceph and High Availability (HA)

For hyper-converged enterprise clusters, additional dependency steps must be performed prior to upgrading PVE itself:

  • Ceph Clusters: If running Ceph storage, upgrade Ceph Reef or Quincy to Ceph 19.2 (Squid) first before starting the PVE 9 upgrade. Set the noout flag (ceph osd set noout) during node maintenance to prevent unnecessary data rebalancing.
  • High Availability (HA): Migrate running workloads off the node to be upgraded, and place the target node into maintenance mode:
    ha-manager crm-command node-maintenance enable <node_name>

3. Step-by-Step In-Place Upgrade Execution

Once pre-flight checks pass and workloads are migrated, execute the in-place upgrade via APT:

  1. Update Repository Definitions: Change Debian repository sources from bookworm to trixie, and update Proxmox repository references to PVE 9 targets:
    sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
    sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list (or pve-no-subscription.list)
  2. Refresh Package Lists and Execute Dist-Upgrade:
    apt update
    apt dist-upgrade
    During the upgrade prompt, carefully review configuration file changes (keep existing custom configs when prompted unless advised otherwise).
  3. Reboot into Updated Linux Kernel: Once package installation completes cleanly, reboot the host:
    systemctl reboot
  4. Post-Upgrade Verification: Verify system status and kernel version via pveversion, disable HA maintenance mode, and repeat the process sequentially for remaining cluster nodes.

Source: Proxmox VE Official Documentation & Support Forum