Upgrading Proxmox Backup Server 3 to 4
Introduction
In this post I will present instructions how to upgrade Proxmox Backup Server 3 to version 4.
OS used: Debian 12
Software used: Proxmox Backup Server 3
Source
Introduction
Remember to create backups before upgrading critical infrastructure, such as Proxmox Backup Server. Also ensure you have about 10GB of free space on your Proxmox Backup Server system on root partition in order to perform the upgrade successfully.
Proxmox Backup Server 3 is based on Debian 12 Bookworm.
Proxmox Backup Server 4 is based on Debian 13 Trixie.
Instructions
-
Update Proxmox Backup Server 3 packages to the latest version:
Administration>Updates> clickUpgrade
-
Reboot Proxmox Backup Server system.
-
Backup Proxmox Backup Server configuration:
$ tar czf "pbs3-etc-backup-$(date -I).tar.gz" -C "/etc" "proxmox-backup" -
Check requirements for Proxmox Backup Server 4 upgrade:
# pbs3to4Ideally you should have no WARNINGS and FAILURES. With WARNINGS upgrade will probably succeed, but if you have FAILURES you need to fix them before upgrade.
Note
In my homelab I have Proxmox Backup Server installed in a LXC container inside Proxmox. In that container Proxmox Backup Server was installed on top of Debian using following official instruction - Install Proxmox Backup Server on Debian. I only installed proxmox-backup-server package to install Proxmox Backup Server because LXC container uses Proxmox kernel, so I didn't need proxmox-backup package. When I ran pbs3to4 command I got FAIL error about missing proxmox-backup package. I ignored this message and upgraded Proxmox Backup Server in LXC container using instructions below. All operations completed successfully.
-
Enable Maintenance Mode to prevent any new backups from starting during the upgrade:
- Select your Datastore in Web UI >
Options>Maintenance mode> clickEdit> selectRead only - You should set this option for every available datastore
- Select your Datastore in Web UI >
-
Update Dabian base repositories to Debian 13 Trixie:
# sed -i 's/bookworm/trixie/g' /etc/apt/sources.list -
Add Proxmox Backup Server 4 no-subscription repository:
cat > /etc/apt/sources.list.d/proxmox.sources << EOF Types: deb URIs: http://download.proxmox.com/debian/pbs Suites: trixie Components: pbs-no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOF -
Update packages:
# apt update -
Check repositories list - no errors should be shown when running this command:
# apt policy -
Remove old Proxmox Backup Server 3 repository files:
# rm /etc/apt/sources.list.d/pbs-install-repo.list && \ rm /etc/apt/sources.list.d/pbs-enterprise.list -
Update packages and check repositories list:
# apt update && \ apt policy -
Upgrade Proxmox Backup Server:
# apt dist-upgradeDuring the step above, you will be asked to approve changes to configuration files and some service restarts, as certain default configurations have been updated by their respective packages.
I choose to restart services during package upgrades without asking.
Files that I was asked to replace to new version or leave current:
-/etc/issue- I choose to use new file
-/etc/crontab- I choose to use new file
-/etc/cron.d/e2scrub_all- I choose to use new file -
Reboot Proxmox Backup Server system.
-
When logging to upgraded Proxmox Backup Server 4 Web UI refresh browser cache by pressing following key combination Ctrl + Shift + R.
-
Disable Maintenance Mode that you enabled to prevent new backups from starting during the upgrade:
- Select your Datastore in Web UI >
Options>Maintenance mode> clickEdit> selectNone
- Select your Datastore in Web UI >
-
Disable
enterprise repositoryif you don't have active enterprise subscription and plan to use only the freeno-subscirptionrepository:Administration>Repositories> selectpbs-enterprise> click buttonDisable
-
Modernize apt repository sources files to new standard that is used in Debian:
# apt modernize-sourcesThis command will create new
.sourcesfiles with repositories configurations, but will also keep backup of old files as.list.bak. If everything is working correctly, you can delete those old files. -
Clean unused dependencies:
# apt autoremove