How to Safely Upgrade Proxmox VE 7.x to 8.x
Updated On: Nov. 05, 2025 Author: Kevin

How to Safely Upgrade Proxmox VE 7.x to 8.x

This guide walks through upgrading a Proxmox VE 7.0 host to 8.4 while running a TrueNAS Core VM with physical disk passthrough. It includes all preparation, verification, and cleanup steps used successfully in a real production setup.


๐Ÿงฑ 1. Pre-Upgrade Overview

Goal: Migrate from Proxmox VE 7.0 (Debian 11 Bullseye, kernel 5.11) to Proxmox VE 8.4 (Debian 12 Bookworm, kernel 6.8).

  • VMs backed up before upgrade
  • TrueNAS VM shut down (it uses raw passthrough drives)
  • iLO or console access ready in case of network loss
  • At least 10 GB free on the root filesystem
pveversion
df -h
qm list

๐Ÿ’พ 2. TrueNAS Pre-Upgrade Backup

Because the TrueNAS VM manages large raw disks (7 TB+), skip full VM backup and instead back up only configuration data.

  1. In the TrueNAS UI: System โ†’ General โ†’ Save Config โ†’ Include Secret Seed
  2. Inside TrueNAS shell:
zpool status
zpool export <poolname>
  1. Shut down the TrueNAS VM before upgrading Proxmox:
qm shutdown 100
qm list

๐Ÿงฉ 3. Verify Disk Passthrough

ls -l /dev/disk/by-id/ | grep WDC

Example output:

ata-WDC_WD4003FFBX-68MU3N0_VBGZSV3F -> ../../sdc
ata-WDC_WD4003FFBX-68MU3N0_VBH011ZF -> ../../sdb

These IDs are persistent and will survive the upgrade.


๐Ÿงฐ 4. Backup Critical VMs

Back up important virtual machines (for example, QuickBooks) to local storage:

vzdump 104 --mode snapshot --compress zstd --storage local
ls /var/lib/vz/dump

Typical output:

vzdump-qemu-104-2025_10_29-23_41_00.vma.zst

โš™๏ธ 5. Upgrade Proxmox 7.0 โ†’ 7.4 (latest 7.x)

apt install -y debian-archive-keyring
sed -i 's/^deb /#deb /' /etc/apt/sources.list.d/pve-enterprise.list
cat >/etc/apt/sources.list.d/pve-no-subscription.list <<'EOF'
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
EOF
apt update
apt full-upgrade -y
reboot

After reboot:

pveversion
uname -r

Confirm kernel 5.15.x-pve and Proxmox 7.4.


๐Ÿš€ 6. Upgrade to Proxmox 8.x (Bookworm)

sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
apt update
apt full-upgrade -y

After installation finishes successfully, reboot:

reboot

Verify after login:

pveversion
uname -r

Expected output:

pve-manager/8.4.x (running kernel: 6.8.12-16-pve)

๐Ÿ” 7. Post-Upgrade Validation

  • Check Proxmox services:
systemctl status pvedaemon pveproxy pvestatd --no-pager
  • Verify passthrough disks:
ls -l /dev/disk/by-id/ | grep WDC
  • Start TrueNAS VM:
qm start 100

TrueNAS will automatically re-import its ZFS pool.


๐Ÿงน 8. Repository Cleanup

sed -i 's/^deb /#deb /' /etc/apt/sources.list.d/pve-enterprise.list
rm /etc/apt/sources.list.d/pve-enterprise.list.dpkg-dist
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
apt update

Ensure your /etc/apt/sources.list includes:

deb http://deb.debian.org/debian bookworm main contrib
deb http://deb.debian.org/debian bookworm-updates main contrib
deb http://security.debian.org bookworm-security main contrib

๐Ÿงฐ 9. System Cleanup

apt autoremove --purge -y
apt clean
dpkg --list | grep pve-kernel

After a few weeks of stability, you may remove older kernels with:

apt remove pve-kernel-5.15.158-2-pve

โœ… 10. Final Checks

  • Confirm backups and scheduled jobs are running
  • Verify networking and bridges
  • Run apt update && apt full-upgrade -y monthly
  • Optional: remove the no-subscription banner
sed -i.bak "s/data.status !== 'Active'/false/" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy

๐Ÿ Results

The node now runs Proxmox VE 8.4 with kernel 6.8. All VMs and TrueNAS storage operate normally, with cleaner repos and a stable update path for the future.

โ€” Written by Kevin White, Tech Pro HQ