TL;DR: Proxmox VE 9 is out with a modern kernel, cleaner tooling, and homelab-friendly improvements. This guide shows you how to upgrade in place from VE 8—focusing on no-subscription (free) repositories—so you keep your VMs and custom tweaks intact.

What’s New in Proxmox VE 9
- Linux kernel 6.14 for better hardware support and performance.
- cgroup v2 only (legacy cgroup v1 is gone) for simpler, modern resource control.
- UI & API polish for faster, cleaner management.
- HA rules replace HA groups (after all nodes are on VE 9).
- pve-network-interface-pinning helps lock NIC names—handy for USB/odd NICs.
- Deb822 apt sources supported, plus
apt modernize-sources
. - Improved Ceph integration (Ceph 19.2 “Squid”) for hyper-converged labs.
Why an In-Place Upgrade for Homelabs?
- No rebuilds: Keep all VMs/CTs and configs.
- Minimal downtime: One node reboots; everything else stays put.
- No spare hardware needed: Unlike fresh installs.
- Preserve tweaks: ZFS, networking, Ceph, and custom bits remain.
Prerequisites
- Backups (required): Snapshot/backup each VM/CT to external storage. Copy key configs from
/etc/pve
,/etc/network/interfaces
,/etc/ssh/sshd_config
, etc. - Update to latest Proxmox VE 8.4 on the node you’ll upgrade:
apt update && apt dist-upgrade pveversion # should report ≥ 8.4.1
- Free space: ≥ 10 GB on root filesystem recommended.
- Stable access: Use console/IPMI/IKVM if possible. If SSH, run in
tmux
orscreen
. - Healthy cluster: If clustered, ensure quorum/health.
Sanity Check: pve8to9
Run the Proxmox preflight script and fix reported items (re-run until clean):
pve8to9 --full
Optional: Move Critical Guests
If something must stay up, live-migrate or power down and move those VMs/CTs off the node. In mixed versions, operate from the node’s own GUI to avoid UI mismatches.
Step-by-Step: In-Place Upgrade (No-Subscription Repos)
1) Switch Debian to Trixie
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
Remove/disable any lingering Bookworm-only entries. If you previously had an enterprise repo file, remove it:
rm -f /etc/apt/sources.list.d/pve-enterprise.list
2) Add Proxmox VE 9 No-Subscription Repository
cat > /etc/apt/sources.list.d/pve-enterprise.sources << EOF
Types: deb
URIs: https://enterprise.proxmox.com/debian/pve
Suites: trixie
Components: pve-enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
apt update
apt policy # verify only intended repos appear; fix anything unexpected
3) (If Using Hyper-Converged Ceph) Add Ceph “Squid” No-Subscription Repo
Node must be on Ceph 19.2 Squid before upgrading Proxmox. Then:
cat > /etc/apt/sources.list.d/proxmox.sources << EOF
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
apt update
apt policy
4) Perform the Upgrade
apt dist-upgrade
- Approve/review config prompts. Defaults are generally safe. Consider:
/etc/issue
→ keep current (cosmetic)/etc/lvm/lvm.conf
→ maintainer version is fine unless you customized/etc/ssh/sshd_config
→ maintainer version recommended to drop deprecated options/etc/default/grub
→ if you customized, review carefully; otherwise keep current/etc/chrony/chrony.conf
→ maintainer version OK if you didn’t customize
5) Re-Check & Reboot
pve8to9
reboot
After reboot, hard-refresh the GUI (Ctrl+Shift+R / ⌘+Alt+R).
Post-Upgrade: Homelab-Friendly Tweaks
- Modernize apt sources (optional, converts to Deb822 and keeps
.bak
):apt modernize-sources
- Audit message noise during upgrade? You can stop it next time:
systemctl disable --now systemd-journald-audit.socket
- UEFI + root on LVM/GRUB (ensure correct GRUB meta-package):
[ -d /sys/firmware/efi ] && apt install grub-efi-amd64 update-grub
- Network interface name changes? Use the new helper to pin NIC names:
pve-network-interface-pinning
Heads-Up for Homelab Setups
- cgroup v1 removed: Very old container OS (e.g., CentOS 7, Ubuntu 16.04) won’t run. Migrate to supported base images.
- Mixed CPU models/vendors: Test live migration with a non-critical VM first.
- Third-party storage plugins: Ensure they’re updated for VE 9 before upgrading.
- Older hardware (>~10 years): Test VE 9 on similar kit if you rely on niche drivers.
Conclusion
That’s it—your homelab is now running Proxmox VE 9 without a rebuild. Enjoy the newer kernel, cleaner tooling, and a smoother management experience. If you hit anything odd, re-run pve8to9 --full
, check your apt repos with apt policy
, and verify network/boot configuration. Happy homelabbing!