Upgrading Proxmox from v7 to v8: A Quick Guide
Easily upgrade your Proxmox cluster from version 7 to 8. This guide covers package updates, CEPH settings, and tips for a smooth transition between versions.
About a week ago I decided to dive in and move my Proxmox cluster from 7 to 8. After a week I’m comfortable with how things are running, and with that, this will be the TLDR version of how I upgraded/updated my cluster.
Step 1, Update all existing packages
Even though I was doing all my updates through the cli, not all the packages were updated, this caused an issue with the pve7to8 binary that runs checks before the upgrade. Here’s how to avoid that:
- Click on the node you plan to work on
- Click on Updates
- Click upgrade to upgrade all
Step 2, Backup and/or move VMs/CTs
Be sure to move any VMs or LXC CT’s to another node if possible, if not be sure to back them up and shut them down to avoid corruption.
Step 3, For CEPH clusters ONLY
We need to set the noout flag to keep the sync across OSDs from bogging things down. Open the console for the node you are working on and type the following:
1
ceph osd set noout
Step 4, Perform upgrade checks
In the console for the node you’re upgrading type the following and make sure there are no errors, and that you are ok with any warnings you may receive:
1
pve7to8 --full
Step 5, Add repositories
In the console copy and paste the following commands(these are for the community edition only, for enterprise copy the commands form here):
1
2
3
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list.d/pve-install-repo.list
echo "deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription" > /etc/apt/sources.list.d/ceph.list
Step 6, Finally the upgrade
These next few steps will take some time so grab a coffee and let’s dive in, as before, these are all run from the console:
1
2
apt update
apt dist-upgrade
After that type y and enter to proceed and wait till things finish
Step 7, Reboot and CEPH setting
After the install is complete you’ll want to reboot, after that, we have one more command to run on the console to get our CEPH OSDs back up to sync by typing:
1
ceph osd unset noout
Rinse and Repeat
If you have a cluster of nodes like I do you’ll want to repeat these steps on each node, one at a time, and be sure to watch your resource consumption as you move CTs and VM’s around so one node doesn’t get overworked while the others are updated. After that, we’re done! As always, fair winds and following seas.