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.
Table of Contents
Requirements
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:
pve7to8 --full
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 pacific
to quincy
):
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:
apt update
Upgrading the system
Just upgrade as usual:
apt dist-upgrade
Final steps
Don’t forget to unset Ceph OSD noout
flag.
Reboot the system to apply new Linux Kernel, then start VMs in the rare case auto boot option is not enabled.
References
Of course Proxmox official guide is more complete than this post: https://pve.proxmox.com/wiki/Upgrade_from_7_to_8.