Upgrading Your Homelab to Proxmox VE 9: In-Place Upgrade Guide & New Features

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

  1. Backups (required): Snapshot/backup each VM/CT to external storage. Copy key configs from /etc/pve, /etc/network/interfaces, /etc/ssh/sshd_config, etc.
  2. Update to latest Proxmox VE 8.4 on the node you’ll upgrade: apt update && apt dist-upgrade pveversion # should report ≥ 8.4.1
  3. Free space: ≥ 10 GB on root filesystem recommended.
  4. Stable access: Use console/IPMI/IKVM if possible. If SSH, run in tmux or screen.
  5. 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!

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top