In order to upgrade to Proxmox Virtual Environment 8 (from version 7) is not enough to run the usual apt update + apt dist-upgrade, major versions implies to also update APT sources.
First of all a regular APT update + dist-upgrade must be run to be sure all requirements are OK.
apt update apt dist-upgrade
Then we need to run migration wizard to check we accomplish all requirements:
Typically we need, at least, to shutdown all running VMs and configure
noout flag on Ceph (if we have Ceph), these are only warnings but it makes sense anyway to follow these recommendations.
Shutdown properly your running VMs on the node to update.
To change Ceph OSD settings just go to any PVE node, Ceph/OSD menu, then Manage global flags button, finally enable
noout flag and press Apply button:
I had also to update time service in one of the older nodes to
chrony service, maybe you don’t need it:
apt install chrony
Finally if you run again the checker you will see something like this:
= SUMMARY = TOTAL: 44 PASSED: 40 SKIPPED: 4 WARNINGS: 0 FAILURES: 0
Updating APT sources
Just run a bunch of
sed commands to do it to replace old Debian
bullseye version by newest
bookworm (including migrating Ceph version if needed, for instance from
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/*.list sed -i 's/pacific/quincy/' /etc/apt/sources.list.d/ceph.list
Then update sources from new repos:
Upgrading the system
Just upgrade as usual:
Don’t forget to unset Ceph OSD
Reboot the system to apply new Linux Kernel, then start VMs in the rare case auto boot option is not enabled.
Of course Proxmox official guide is more complete than this post: https://pve.proxmox.com/wiki/Upgrade_from_7_to_8.