Upgrading Proxmox VE 8 to 9: What You Need to Know
Everything you need to know about upgrading from Proxmox VE 8 (Bookworm) to Proxmox VE 9 (Trixie), including new features, pve8to9 checker, preparation steps, and cluster considerations.
What Is New in Proxmox VE 9
Proxmox VE 9 represents the next major release, built on Debian 13 (Trixie). This upgrade brings significant improvements to the virtualization stack, including a newer QEMU version with enhanced virtio drivers, an updated LXC runtime, kernel 6.x with improved hardware support, and refinements to the web interface. Storage backends see improvements with better Ceph Squid integration and enhanced ZFS compatibility.
Notable new features expected in PVE 9 include improved software-defined networking, better resource scheduling for HA clusters, expanded API endpoints, and a refreshed web UI with accessibility improvements. The underlying move to Trixie also brings updated system libraries, newer OpenSSL, and updated Python and Perl stacks that underpin the Proxmox tooling.
Preparation Checklist Before Upgrading
Before touching any upgrade commands, work through this checklist systematically:
- Ensure PVE 8 is fully updated to the latest point release
- Verify all VMs and containers are backed up (use Proxmox Backup Server or vzdump)
- Document your current network configuration, storage layout, and any custom scripts
- Check that all third-party packages are compatible with Debian Trixie
- If running a cluster, confirm all nodes are on the same PVE 8 version
- Snapshot your root filesystem (ZFS snapshot or LVM snapshot)
- Ensure at least 10 GB of free disk space on the root partition
- Test your IPMI/remote console access in case SSH becomes unavailable
# Fully update your current PVE 8 installation
apt update && apt dist-upgrade -y
reboot
# Verify current version after reboot
pveversion -v
# Check available disk space
df -h /
# Create root filesystem snapshot (ZFS example)
zfs snapshot rpool/ROOT/pve-1@pre-pve9-upgrade
# Backup Proxmox configuration
tar czf /root/pve8-config-backup-$(date +%F).tar.gz /etc/pve /etc/network /etc/apt
Running the pve8to9 Upgrade Checker
Proxmox provides a dedicated checker script that validates system readiness. This tool examines your repositories, running services, kernel version, Ceph status, and deprecated configurations:
# Run the full upgrade readiness check
pve8to9 --full
Review every line of output. The checker categorizes results as PASS, WARN, SKIP, or FAIL. All failures must be resolved. Common failures include deprecated storage configurations, outdated Ceph versions that need upgrading to Squid first, and enterprise repository entries without valid subscription keys.
Pay particular attention to deprecation warnings. PVE 9 removes support for certain legacy features, including older container configurations and deprecated API parameters. If you have automation scripts that use the Proxmox API, verify they do not rely on removed endpoints.
Switching Repositories from Bookworm to Trixie
Once the checker passes cleanly, update your APT sources to point to Trixie:
# Update Debian base repositories
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
# Update Proxmox VE repository (no-subscription example)
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-no-subscription.list
# If using enterprise repository
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list
# Update any Ceph repository entries
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/ceph.list
# Refresh package lists
apt update
Check the output carefully. Every repository should resolve without 404 errors or GPG key issues. If you see key errors, import the updated Proxmox release key:
wget https://enterprise.proxmox.com/debian/proxmox-release-trixie.gpg \
-O /etc/apt/trusted.gpg.d/proxmox-release-trixie.gpg
Performing the Distribution Upgrade
Execute the upgrade with dist-upgrade. This will download and install several gigabytes of packages:
# Run the distribution upgrade
apt dist-upgrade -y
During the process, dpkg will prompt about configuration file conflicts. General guidance: keep your local version for files you have customized (sshd_config, network interfaces, lvm.conf), and accept the package maintainer's version for files you have not modified (issue, grub defaults).
The upgrade may take 15-45 minutes depending on your hardware and internet speed. Do not interrupt it. If running via SSH, use a tmux or screen session to prevent disconnection from aborting the upgrade.
# Recommended: run inside a tmux session
tmux new -s upgrade
# Then run the dist-upgrade inside tmux
Deprecations and Breaking Changes
Be aware of key deprecations in PVE 9. Legacy VGA display types for VMs may behave differently, certain older network driver models are removed, and the default CPU type for new VMs changes. Existing VMs retain their settings, but review any VMs that use deprecated options. Check the official Proxmox VE 9 release notes for the complete deprecation list.
Cluster Considerations
In a cluster environment, upgrade one node at a time following the rolling upgrade pattern. PVE 8 and PVE 9 nodes can coexist in the same cluster temporarily during the migration window, but you should complete all upgrades within a reasonable timeframe. Start with a non-critical node, migrate its workloads away, upgrade, reboot, verify cluster membership, then proceed to the next. Monitoring tools like ProxmoxR can provide real-time visibility into node health during this process, helping you catch issues before moving to the next node.
# On each node after upgrade, verify cluster status
pvecm status
pvecm nodes
# Check all services are running
systemctl status pvedaemon pveproxy pvestatd corosync
Take Proxmox management mobile
All the features discussed in this guide — accessible from your phone with ProxmoxR. Real-time monitoring, power control, firewall management, and more.