<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pbs.proxmox.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=S.ivanov</id>
	<title>Proxmox Backup Server - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://pbs.proxmox.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=S.ivanov"/>
	<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/wiki/Special:Contributions/S.ivanov"/>
	<updated>2026-04-07T18:18:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_3_to_4&amp;diff=156</id>
		<title>Upgrade from 3 to 4</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_3_to_4&amp;diff=156"/>
		<updated>2025-09-19T08:08:18Z</updated>

		<summary type="html">&lt;p&gt;S.ivanov: /* Add the Proxmox Backup Server 4 Package Repository */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 4 is based on Debian 13 Trixie, a new major release, and introduces several new major features and changes.&lt;br /&gt;
You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively.&lt;br /&gt;
Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process.&lt;br /&gt;
You can test the backup beforehand, for example, in a (virtualized) test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Trixie.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Perform these actions via SSH, a physical console or a remote management console like iKVM or IPMI.&lt;br /&gt;
** If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
** Do not carry out the upgrade via the web UI console directly, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgraded to the latest version of Proxmox Backup Server 3.4, see the [[Roadmap#Release History|roadmap]] for potential important changes in the stable release.&lt;br /&gt;
*: Use &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt dist-upgrade&amp;lt;/code&amp;gt; (still with Debian Bookworm repos setup) to upgrade to latest 3.4&lt;br /&gt;
** Verify version: The command &amp;lt;code&amp;gt;proxmox-backup-manager versions&amp;lt;/code&amp;gt; should print:&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-server 3.4.2-1 running version: 3.4.2&amp;lt;/code&amp;gt; (or higher)&lt;br /&gt;
** If you do not get updates check correct [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories package repository] configuration.&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs3-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 10 GB free disk space on the root mount point:&lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. Basic familiarity with APT is required to proceed with this upgrade mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Installed alongside Proxmox VE ===&lt;br /&gt;
&lt;br /&gt;
For systems with Proxmox VE and Proxmox Backup Server installed together, you should also read the [https://pve.proxmox.com/wiki/Upgrade_from_8_to_9 Proxmox VE upgrade from 8 to 9 how-to] carefully.&lt;br /&gt;
&lt;br /&gt;
You can upgrade both in one go, by syncing the steps in which the APT repositories are changed.&lt;br /&gt;
&lt;br /&gt;
== Actions Step-by-Step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 3.x host is up-to-date.&lt;br /&gt;
&lt;br /&gt;
=== Continuously use the pbs3to4 checklist script ===&lt;br /&gt;
&lt;br /&gt;
A small checklist program named pbs3to4 is included in the latest Proxmox Backup Server 3.4 packages. The program will provide hints and warnings about potential issues before, during and after the upgrade process. You can call it by executing:&lt;br /&gt;
&lt;br /&gt;
 pbs3to4&lt;br /&gt;
&lt;br /&gt;
To run it with all checks enabled, execute:&lt;br /&gt;
&lt;br /&gt;
 pbs3to4 --full&lt;br /&gt;
&lt;br /&gt;
Make sure to run the full checks at least once before the upgrade.&lt;br /&gt;
&lt;br /&gt;
This script only checks and reports things. By default, no changes to the system are made and thus, none of the issues will be automatically fixed. You should keep in mind that Proxmox Backup Server can be heavily customized, so the script may not recognize all the possible problems with a particular setup!&lt;br /&gt;
&lt;br /&gt;
It is recommended to re-run the script after each attempt to fix an issue. This ensures that the actions taken actually fixed the respective warning. &lt;br /&gt;
&lt;br /&gt;
=== Optional: Enable Maintenance Mode ===&lt;br /&gt;
&lt;br /&gt;
Enabling the read-only [https://pbs.proxmox.com/docs/maintenance.html#maintenance-mode maintenance mode] on all datastores ensures that no new backup can be started during the upgrade, while keeping existing ones available to read.&lt;br /&gt;
The read-only maintenance mode allows you to enforce a known and stable datastore state and reduces the I/O and general load of the Proxmox Backup Server during the upgrade, making that faster.&lt;br /&gt;
&lt;br /&gt;
You can enable and disable the maintenance mode either via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI):&lt;br /&gt;
 # enable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --maintenance-mode read-only&lt;br /&gt;
 # disable read-only mode&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Update the Configured APT Repositories ===&lt;br /&gt;
&lt;br /&gt;
First, make sure that the system is using the latest Proxmox Backup Server 3.4 packages:&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
&lt;br /&gt;
The last command should report at least &amp;lt;code&amp;gt;3.4.2-1&amp;lt;/code&amp;gt; or newer.&lt;br /&gt;
&lt;br /&gt;
==== Update Debian Base Repositories to Trixie ====&lt;br /&gt;
&lt;br /&gt;
Update all repository entries to Trixie:&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/bookworm/trixie/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Ensure that there are no remaining Debian Bookworm specific repositories left. You can place a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; symbol at the start of the respective line to comment such a repository out, disabling it.&lt;br /&gt;
Check all files in the &amp;lt;/code&amp;gt;/etc/apt/sources.list.d/&amp;lt;/code&amp;gt; folder (like &amp;lt;code&amp;gt;pbs-enterprise.list&amp;lt;/code&amp;gt;) and also the top-level &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; file.&lt;br /&gt;
See [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] section in the reference docs for the correct Proxmox Backup Server 4 / Debian Trixie repositories.&lt;br /&gt;
&lt;br /&gt;
==== Add the Proxmox Backup Server 4 Package Repository ====&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to Trixie in the new deb822 format with the following command:&lt;br /&gt;
&lt;br /&gt;
 cat &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.sources &amp;lt;&amp;lt; EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://enterprise.proxmox.com/debian/pbs&lt;br /&gt;
 Suites: trixie&lt;br /&gt;
 Components: pbs-enterprise&lt;br /&gt;
 Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
After you added the new enterprise repository as above, check that &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; picks it up correctly. You can do so by first running &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;. Make sure that no errors are shown and that &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; only outputs the desired repositories. Then you can remove the old &amp;lt;code&amp;gt;/etc/apt/sources.list.d/pbs-enterprise.list&amp;lt;/code&amp;gt; file. Run &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; again to be certain that the old repo has been removed.&lt;br /&gt;
If using the no-subscription repository, see [[Package Repositories]]. You should be able to add the Proxmox Backup Server 4 no-subscription repository with this command:&lt;br /&gt;
 cat &amp;gt; /etc/apt/sources.list.d/proxmox.sources &amp;lt;&amp;lt; EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: http://download.proxmox.com/debian/pbs&lt;br /&gt;
 Suites: trixie&lt;br /&gt;
 Components: pbs-no-subscription&lt;br /&gt;
 Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
As with the enterprise repository, make sure that &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; picks it up correctly with &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;. Then remove the previous Proxmox Backup Server 3 no-subscription repository from either the &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/etc/apt/sources-list.d/pbs-install-repo.list&amp;lt;/code&amp;gt; or any other &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; file you may have added it to. Run &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; again to be certain that the old repo has been removed.&lt;br /&gt;
&lt;br /&gt;
Instead of removing older repositories, you can also disable them. In &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; simply comment them out by adding a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; to the beginning of the line. In &amp;lt;code&amp;gt;.sources&amp;lt;/code&amp;gt; files, you can add the line &amp;lt;code&amp;gt;Enabled: no&amp;lt;/code&amp;gt; to any stanza you want to disable.&lt;br /&gt;
&lt;br /&gt;
Make sure to check that all the &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files you added in /etc/apt/sources.list.d/ got switched over to Trixie correctly.&lt;br /&gt;
&lt;br /&gt;
After you checked that all repositories get picked up correctly with &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the System ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth.&lt;br /&gt;
A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in less than 5 minutes.&lt;br /&gt;
&lt;br /&gt;
{{Note|While the packages are being upgraded certain operations and requests to the API might fail (for example logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)|reminder}}&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you will be asked to approve changes to configuration files and some service restarts, where the default config has been updated by their respective package.&lt;br /&gt;
&lt;br /&gt;
You may also be shown the output of &amp;lt;code&amp;gt;apt-listchanges&amp;lt;/code&amp;gt;, you can simply exit there by pressing &amp;quot;q&amp;quot;. If you get prompted for your default keyboard selection, simply use the arrow keys to navigate to the one applicable in your case and hit enter.&lt;br /&gt;
&lt;br /&gt;
For questions about service restarts (like &amp;lt;code&amp;gt;Restart services during package upgrades without asking?&amp;lt;/code&amp;gt;) use the default if unsure, as the reboot after the upgrade will restart all services cleanly anyway.&lt;br /&gt;
&lt;br /&gt;
For questions about (default) configuration changes, it&#039;s suggested to check the difference for each file in question and choose the answer accordingly to what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
Common configuration files with changes, and the recommended choices are:                                                                              &lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/issue&amp;lt;/code&amp;gt; -&amp;gt; Proxmox Backup Server will auto-generate this file on boot, and it has only cosmetic effects on the login console.&lt;br /&gt;
*: Using the default &amp;quot;No&amp;quot; (keep your currently-installed version) is safe here.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; -&amp;gt; If you have not changed this file manually, the only differences should be a replacement of &amp;lt;code&amp;gt;ChallengeResponseAuthentication no&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;KbdInteractiveAuthentication no&amp;lt;/code&amp;gt; and some irrelevant changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;).&lt;br /&gt;
*: If this is the case, both options are safe, though we would recommend installing the package maintainer&#039;s version in order to move away from the deprecated &amp;lt;code&amp;gt;ChallengeResponseAuthentication&amp;lt;/code&amp;gt; option. If there are other changes, we suggest to inspect them closely and decide accordingly.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/default/grub&amp;lt;/code&amp;gt; -&amp;gt; Here you may want to take special care, as this is normally only asked for if you changed it manually, e.g., for adding some kernel command line option.&lt;br /&gt;
*: It&#039;s recommended to check the difference for any relevant change, note that changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are not relevant.&lt;br /&gt;
*: If unsure, we suggested to selected &amp;quot;No&amp;quot; (keep your currently-installed version)&lt;br /&gt;
&lt;br /&gt;
=== Check Result &amp;amp; Reboot Into Updated Kernel ===&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
Please note that you should reboot even if you already used the 6.2 kernel previously, through the opt-in package on Proxmox Backup Server 3.&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Empty the browser cache and/or force-reload (&amp;lt;kbd&amp;gt;CTRL&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;SHIFT&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;, or for MacOS &amp;lt;kbd&amp;gt;⌘&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;Alt&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;) the Web UI.&lt;br /&gt;
&lt;br /&gt;
=== Check Status of Services ===&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Optional: Disable Maintenance Mode Again ===&lt;br /&gt;
&lt;br /&gt;
If you enabled the maintenance mode before the upgrade, don&#039;t forget to disable it again.&lt;br /&gt;
You can do it via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI): &lt;br /&gt;
&lt;br /&gt;
 # disable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Optional: Modernize apt Repository Sources ===&lt;br /&gt;
&lt;br /&gt;
You can migrate existing repository sources to the recommended deb822 style format, by running:&lt;br /&gt;
&lt;br /&gt;
 apt modernize-sources&lt;br /&gt;
&lt;br /&gt;
By answering the following prompt with &amp;quot;n&amp;quot; you can check the changes the command would make before applying them. To apply them simply run the command again and respond to the prompt with &amp;quot;Y&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
The command will also keep the old &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files around by appending &amp;lt;code&amp;gt;.bak&amp;lt;/code&amp;gt; to them. So you will have the new &amp;lt;code&amp;gt;.sources&amp;lt;/code&amp;gt; files and the old repository configurations in the &amp;lt;code&amp;gt;.list.bak&amp;lt;/code&amp;gt; files. You can remove the leftover backup files once you verified that everything works smoothly with the new format.&lt;br /&gt;
&lt;br /&gt;
= Potential Issues =                                                                                                                                                                                                                                                                                                                                 &lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
As a Debian based distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, ensure that you read the [https://www.debian.org/releases/trixie/release-notes/issues.en.html upgrade specific issues for Debian Trixie].&lt;br /&gt;
&lt;br /&gt;
Please also check the known issue list from the Proxmox Backup Server 4.0 changelog: https://pbs.proxmox.com/wiki/index.php/Roadmap#4.0-known-issues&lt;br /&gt;
&lt;br /&gt;
== Older Hardware and New 6.14 Kernel ==&lt;br /&gt;
&lt;br /&gt;
Compatibility of old hardware (released &amp;gt;= 10 years ago) is not as thoroughly tested as more recent hardware.&lt;br /&gt;
For old hardware we highly recommend testing compatibility of Proxmox Backup Server 4 with identical (or at least similar) hardware before upgrading any production machines.&lt;br /&gt;
&lt;br /&gt;
We will expand this section with potential pitfalls and workarounds once they arise.&lt;br /&gt;
&lt;br /&gt;
== Network ==&lt;br /&gt;
&lt;br /&gt;
=== Network Interface Name Change ===&lt;br /&gt;
&lt;br /&gt;
Due to the new kernel recognizing more features of some hardware, like for example virtual functions, and interface naming often derives from the PCI(e) address, some NICs may change their name, in which case the network configuration needs to be adapted.&lt;br /&gt;
&lt;br /&gt;
In general, it&#039;s recommended to either have an independent remote connection to the Proxmox Backup Server&#039;s host console, for example, through IPMI or iKVM, or physical access for managing the server even when its own network doesn&#039;t come up after a major upgrade or network change.&lt;br /&gt;
&lt;br /&gt;
The latest version of Proxmox Backup Server 3.4 and 4.0 provide a package called &amp;lt;code&amp;gt;proxmox-network-interface-pinning&amp;lt;/code&amp;gt; that you can install.&lt;br /&gt;
This package offers a CLI tool that helps you pin all network interfaces to NIC-based names and update the network configuration simultaneously.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;sd-boot-warning&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Systemd-boot meta-package changes the bootloader configuration automatically and should be uninstalled ===&lt;br /&gt;
With Debian Trixie the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package got split up a bit further into &amp;lt;code&amp;gt;systemd-boot-efi&amp;lt;/code&amp;gt; (containing the EFI-binary used for booting), &lt;br /&gt;
&amp;lt;code&amp;gt;systemd-boot-tools&amp;lt;/code&amp;gt; (containing &amp;lt;code&amp;gt;bootctl&amp;lt;/code&amp;gt;) and the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; meta-package (containing hooks which run upon upgrades of itself and other packages&lt;br /&gt;
and install systemd-boot as bootloader).&lt;br /&gt;
As Proxmox Systems usually use &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; for booting only in some configurations (ZFS on root and UEFI booted without secure boot), which are managed by &amp;lt;code&amp;gt;proxmox-boot-tool&amp;lt;/code&amp;gt;, the meta-package &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; should be removed.&lt;br /&gt;
The package was automatically shipped for systems installed from the PBS 3.0 to PBS 3.4 ISOs, as it contained &amp;lt;code&amp;gt;bootctl&amp;lt;/code&amp;gt; in bookworm.&lt;br /&gt;
If the &amp;lt;code&amp;gt;pbs3to4&amp;lt;/code&amp;gt; checklist script suggests it, the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; meta-package is safe to remove unless you manually installed it and are using &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; as a bootloader. Should &amp;lt;code&amp;gt;systemd-boot-efi&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;systemd-boot-tools&amp;lt;/code&amp;gt; be required, &amp;lt;code&amp;gt;pbs3to4&amp;lt;/code&amp;gt; will warn you accordingly.&lt;br /&gt;
The &amp;lt;code&amp;gt;pbs3to4&amp;lt;/code&amp;gt; checklist script will change its output depending on the state of the upgrade, and should be [[Upgrade from 3 to 4#Continuously_use_the_pbs3to4_checklist_script|run continuously before and after the upgrade]].&lt;br /&gt;
It will print which packages should be removed or added at the appropriate time.&lt;br /&gt;
The only situation where you should keep the meta-package &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; installed is if you manually setup &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; for your system.&lt;br /&gt;
See also [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1110177 the filed bug for systemd-boot].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Upgrade]]&lt;/div&gt;</summary>
		<author><name>S.ivanov</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_3_to_4&amp;diff=152</id>
		<title>Upgrade from 3 to 4</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_3_to_4&amp;diff=152"/>
		<updated>2025-08-08T17:07:21Z</updated>

		<summary type="html">&lt;p&gt;S.ivanov: sync sd-boot changes from pve wiki /* Systemd-boot meta-package changes the bootloader configuration automatically and should be uninstalled */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 4 is based on Debian 13 Trixie, a new major release, and introduces several new major features and changes.&lt;br /&gt;
You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively.&lt;br /&gt;
Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process.&lt;br /&gt;
You can test the backup beforehand, for example, in a (virtualized) test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Trixie.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Perform these actions via SSH, a physical console or a remote management console like iKVM or IPMI.&lt;br /&gt;
** If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
** Do not carry out the upgrade via the web UI console directly, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgraded to the latest version of Proxmox Backup Server 3.4, see the [[Roadmap#Release History|roadmap]] for potential important changes in the stable release.&lt;br /&gt;
*: Use &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt dist-upgrade&amp;lt;/code&amp;gt; (still with Debian Bookworm repos setup) to upgrade to latest 3.4&lt;br /&gt;
** Verify version: The command &amp;lt;code&amp;gt;proxmox-backup-manager versions&amp;lt;/code&amp;gt; should print:&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-server 3.4.2-1 running version: 3.4.2&amp;lt;/code&amp;gt; (or higher)&lt;br /&gt;
** If you do not get updates check correct [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories package repository] configuration.&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs3-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 10 GB free disk space on the root mount point:&lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. Basic familiarity with APT is required to proceed with this upgrade mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Installed alongside Proxmox VE ===&lt;br /&gt;
&lt;br /&gt;
For systems with Proxmox VE and Proxmox Backup Server installed together, you should also read the [https://pve.proxmox.com/wiki/Upgrade_from_8_to_9 Proxmox VE upgrade from 8 to 9 how-to] carefully.&lt;br /&gt;
&lt;br /&gt;
You can upgrade both in one go, by syncing the steps in which the APT repositories are changed.&lt;br /&gt;
&lt;br /&gt;
== Actions Step-by-Step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 3.x host is up-to-date.&lt;br /&gt;
&lt;br /&gt;
=== Continuously use the pbs3to4 checklist script ===&lt;br /&gt;
&lt;br /&gt;
A small checklist program named pbs3to4 is included in the latest Proxmox Backup Server 3.4 packages. The program will provide hints and warnings about potential issues before, during and after the upgrade process. You can call it by executing:&lt;br /&gt;
&lt;br /&gt;
 pbs3to4&lt;br /&gt;
&lt;br /&gt;
To run it with all checks enabled, execute:&lt;br /&gt;
&lt;br /&gt;
 pbs3to4 --full&lt;br /&gt;
&lt;br /&gt;
Make sure to run the full checks at least once before the upgrade.&lt;br /&gt;
&lt;br /&gt;
This script only checks and reports things. By default, no changes to the system are made and thus, none of the issues will be automatically fixed. You should keep in mind that Proxmox Backup Server can be heavily customized, so the script may not recognize all the possible problems with a particular setup!&lt;br /&gt;
&lt;br /&gt;
It is recommended to re-run the script after each attempt to fix an issue. This ensures that the actions taken actually fixed the respective warning. &lt;br /&gt;
&lt;br /&gt;
=== Optional: Enable Maintenance Mode ===&lt;br /&gt;
&lt;br /&gt;
Enabling the read-only [https://pbs.proxmox.com/docs/maintenance.html#maintenance-mode maintenance mode] on all datastores ensures that no new backup can be started during the upgrade, while keeping existing ones available to read.&lt;br /&gt;
The read-only maintenance mode allows you to enforce a known and stable datastore state and reduces the I/O and general load of the Proxmox Backup Server during the upgrade, making that faster.&lt;br /&gt;
&lt;br /&gt;
You can enable and disable the maintenance mode either via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI):&lt;br /&gt;
 # enable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --maintenance-mode read-only&lt;br /&gt;
 # disable read-only mode&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Update the Configured APT Repositories ===&lt;br /&gt;
&lt;br /&gt;
First, make sure that the system is using the latest Proxmox Backup Server 3.4 packages:&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
&lt;br /&gt;
The last command should report at least &amp;lt;code&amp;gt;3.4.2-1&amp;lt;/code&amp;gt; or newer.&lt;br /&gt;
&lt;br /&gt;
==== Update Debian Base Repositories to Trixie ====&lt;br /&gt;
&lt;br /&gt;
Update all repository entries to Trixie:&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/bookworm/trixie/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Ensure that there are no remaining Debian Bookworm specific repositories left. You can place a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; symbol at the start of the respective line to comment such a repository out, disabling it.&lt;br /&gt;
Check all files in the &amp;lt;/code&amp;gt;/etc/apt/sources.list.d/&amp;lt;/code&amp;gt; folder (like &amp;lt;code&amp;gt;pbs-enterprise.list&amp;lt;/code&amp;gt;) and also the top-level &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; file.&lt;br /&gt;
See [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] section in the reference docs for the correct Proxmox Backup Server 4 / Debian Trixie repositories.&lt;br /&gt;
&lt;br /&gt;
==== Add the Proxmox Backup Server 4 Package Repository ====&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to Trixie in the new deb822 format with the following command:&lt;br /&gt;
&lt;br /&gt;
 cat &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.sources &amp;lt;&amp;lt; EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://enterprise.proxmox.com/debian/pbs&lt;br /&gt;
 Suites: trixie&lt;br /&gt;
 Components: pbs-enterprise&lt;br /&gt;
 Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
After you added the new enterprise repository as above, check that &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; picks it up correctly. You can do so by first running &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;. Make sure that no errors are shown and that &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; only outputs the desired repositories. Then you can remove the old &amp;lt;code&amp;gt;/etc/apt/sources.list.d/pbs-enterprise.list&amp;lt;/code&amp;gt; file. Run &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; again to be certain that the old repo has been removed.&lt;br /&gt;
If using the no-subscription repository, see [[Package Repositories]]. You should be able to add the Proxmox Backup Server 4 no-subscription repository with this command:&lt;br /&gt;
 cat &amp;gt; /etc/apt/sources.list.d/proxmox.sources &amp;lt;&amp;lt; EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: http://download.proxmox.com/debian/pbs&lt;br /&gt;
 Suites: trixie&lt;br /&gt;
 Components: pbs-no-subscription&lt;br /&gt;
 Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
As with the enterprise repository, make sure that &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; picks it up correctly with &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;. Then remove the previous Proxmox Backup Server 8 no-subscription repository from either the &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/etc/apt/sources-list.d/pbs-install-repo.list&amp;lt;/code&amp;gt; or any other &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; file you may have added it to. Run &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; again to be certain that the old repo has been removed.&lt;br /&gt;
&lt;br /&gt;
Make sure that &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; picks it up correctly with &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;. Then remove the previous Proxmox Backup Server 3 repository from either the &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/etc/apt/sources-list.d/pbs-install-repo.list&amp;lt;/code&amp;gt; or any other &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; file you may have added it to. You can use apt policy again to make sure the old repository is not being used anymore. &lt;br /&gt;
&lt;br /&gt;
Instead of removing older repositories, you can also disable them. In &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; simply comment them out by adding a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; to the beginning of the line. In &amp;lt;code&amp;gt;.sources&amp;lt;/code&amp;gt; files, you can add the line &amp;lt;code&amp;gt;Enabled: false&amp;lt;/code&amp;gt; to any stanza you want to disable.&lt;br /&gt;
&lt;br /&gt;
Make sure to check that all the &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files you added in /etc/apt/sources.list.d/ got switched over to Trixie correctly.&lt;br /&gt;
&lt;br /&gt;
After you checked that all repositories get picked up correctly with &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the System ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth.&lt;br /&gt;
A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in less than 5 minutes.&lt;br /&gt;
&lt;br /&gt;
{{Note|While the packages are being upgraded certain operations and requests to the API might fail (for example logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)|reminder}}&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you will be asked to approve changes to configuration files and some service restarts, where the default config has been updated by their respective package.&lt;br /&gt;
&lt;br /&gt;
You may also be shown the output of &amp;lt;code&amp;gt;apt-listchanges&amp;lt;/code&amp;gt;, you can simply exit there by pressing &amp;quot;q&amp;quot;. If you get prompted for your default keyboard selection, simply use the arrow keys to navigate to the one applicable in your case and hit enter.&lt;br /&gt;
&lt;br /&gt;
For questions about service restarts (like &amp;lt;code&amp;gt;Restart services during package upgrades without asking?&amp;lt;/code&amp;gt;) use the default if unsure, as the reboot after the upgrade will restart all services cleanly anyway.&lt;br /&gt;
&lt;br /&gt;
For questions about (default) configuration changes, it&#039;s suggested to check the difference for each file in question and choose the answer accordingly to what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
Common configuration files with changes, and the recommended choices are:                                                                              &lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/issue&amp;lt;/code&amp;gt; -&amp;gt; Proxmox Backup Server will auto-generate this file on boot, and it has only cosmetic effects on the login console.&lt;br /&gt;
*: Using the default &amp;quot;No&amp;quot; (keep your currently-installed version) is safe here.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; -&amp;gt; If you have not changed this file manually, the only differences should be a replacement of &amp;lt;code&amp;gt;ChallengeResponseAuthentication no&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;KbdInteractiveAuthentication no&amp;lt;/code&amp;gt; and some irrelevant changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;).&lt;br /&gt;
*: If this is the case, both options are safe, though we would recommend installing the package maintainer&#039;s version in order to move away from the deprecated &amp;lt;code&amp;gt;ChallengeResponseAuthentication&amp;lt;/code&amp;gt; option. If there are other changes, we suggest to inspect them closely and decide accordingly.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/default/grub&amp;lt;/code&amp;gt; -&amp;gt; Here you may want to take special care, as this is normally only asked for if you changed it manually, e.g., for adding some kernel command line option.&lt;br /&gt;
*: It&#039;s recommended to check the difference for any relevant change, note that changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are not relevant.&lt;br /&gt;
*: If unsure, we suggested to selected &amp;quot;No&amp;quot; (keep your currently-installed version)&lt;br /&gt;
&lt;br /&gt;
=== Check Result &amp;amp; Reboot Into Updated Kernel ===&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
Please note that you should reboot even if you already used the 6.2 kernel previously, through the opt-in package on Proxmox Backup Server 3.&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Empty the browser cache and/or force-reload (&amp;lt;kbd&amp;gt;CTRL&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;SHIFT&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;, or for MacOS &amp;lt;kbd&amp;gt;⌘&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;Alt&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;) the Web UI.&lt;br /&gt;
&lt;br /&gt;
=== Check Status of Services ===&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Optional: Disable Maintenance Mode Again ===&lt;br /&gt;
&lt;br /&gt;
If you enabled the maintenance mode before the upgrade, don&#039;t forget to disable it again.&lt;br /&gt;
You can do it via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI): &lt;br /&gt;
&lt;br /&gt;
 # disable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Optional: Modernize apt Repository Sources ===&lt;br /&gt;
&lt;br /&gt;
You can migrate existing repository sources to the recommended deb822 style format, by running:&lt;br /&gt;
&lt;br /&gt;
 apt modernize-sources&lt;br /&gt;
&lt;br /&gt;
By answering the following prompt with &amp;quot;n&amp;quot; you can check the changes the command would make before applying them. To apply them simply run the command again and respond to the prompt with &amp;quot;Y&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
The command will also keep the old &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files around by appending &amp;lt;code&amp;gt;.bak&amp;lt;/code&amp;gt; to them. So you will have the new &amp;lt;code&amp;gt;.sources&amp;lt;/code&amp;gt; files and the old repository configurations in the &amp;lt;code&amp;gt;.list.bak&amp;lt;/code&amp;gt; files. You can remove the leftover backup files once you verified that everything works smoothly with the new format.&lt;br /&gt;
&lt;br /&gt;
= Potential Issues =                                                                                                                                                                                                                                                                                                                                 &lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
As a Debian based distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, ensure that you read the [https://www.debian.org/releases/trixie/release-notes/issues.en.html upgrade specific issues for Debian Trixie].&lt;br /&gt;
&lt;br /&gt;
Please also check the known issue list from the Proxmox Backup Server 4.0 changelog: https://pbs.proxmox.com/wiki/index.php/Roadmap#4.0-known-issues&lt;br /&gt;
&lt;br /&gt;
== Older Hardware and New 6.14 Kernel ==&lt;br /&gt;
&lt;br /&gt;
Compatibility of old hardware (released &amp;gt;= 10 years ago) is not as thoroughly tested as more recent hardware.&lt;br /&gt;
For old hardware we highly recommend testing compatibility of Proxmox Backup Server 4 with identical (or at least similar) hardware before upgrading any production machines.&lt;br /&gt;
&lt;br /&gt;
We will expand this section with potential pitfalls and workarounds once they arise.&lt;br /&gt;
&lt;br /&gt;
== Network ==&lt;br /&gt;
&lt;br /&gt;
=== Network Interface Name Change ===&lt;br /&gt;
&lt;br /&gt;
Due to the new kernel recognizing more features of some hardware, like for example virtual functions, and interface naming often derives from the PCI(e) address, some NICs may change their name, in which case the network configuration needs to be adapted.&lt;br /&gt;
&lt;br /&gt;
In general, it&#039;s recommended to either have an independent remote connection to the Proxmox Backup Server&#039;s host console, for example, through IPMI or iKVM, or physical access for managing the server even when its own network doesn&#039;t come up after a major upgrade or network change.&lt;br /&gt;
&lt;br /&gt;
The latest version of Proxmox Backup Server 3.4 and 4.0 provide a package called &amp;lt;code&amp;gt;proxmox-network-interface-pinning&amp;lt;/code&amp;gt; that you can install.&lt;br /&gt;
This package offers a CLI tool that helps you pin all network interfaces to NIC-based names and update the network configuration simultaneously.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;sd-boot-warning&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Systemd-boot meta-package changes the bootloader configuration automatically and should be uninstalled ===&lt;br /&gt;
With Debian Trixie the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package got split up a bit further into &amp;lt;code&amp;gt;systemd-boot-efi&amp;lt;/code&amp;gt; (containing the EFI-binary used for booting), &lt;br /&gt;
&amp;lt;code&amp;gt;systemd-boot-tools&amp;lt;/code&amp;gt; (containing &amp;lt;code&amp;gt;bootctl&amp;lt;/code&amp;gt;) and the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; meta-package (containing hooks which run upon upgrades of itself and other packages&lt;br /&gt;
and install systemd-boot as bootloader).&lt;br /&gt;
As Proxmox Systems usually use &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; for booting only in some configurations (ZFS on root and UEFI booted without secure boot), which are managed by &amp;lt;code&amp;gt;proxmox-boot-tool&amp;lt;/code&amp;gt;, the meta-package &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; should be removed.&lt;br /&gt;
The package was automatically shipped for systems installed from the PBS 3.0 to PBS 3.4 ISOs, as it contained &amp;lt;code&amp;gt;bootctl&amp;lt;/code&amp;gt; in bookworm.&lt;br /&gt;
If the &amp;lt;code&amp;gt;pbs3to4&amp;lt;/code&amp;gt; checklist script suggests it, the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; meta-package is safe to remove unless you manually installed it and are using &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; as a bootloader. Should &amp;lt;code&amp;gt;systemd-boot-efi&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;systemd-boot-tools&amp;lt;/code&amp;gt; be required, &amp;lt;code&amp;gt;pbs8to9&amp;lt;/code&amp;gt; will warn you accordingly.&lt;br /&gt;
The &amp;lt;code&amp;gt;pbs3to4&amp;lt;/code&amp;gt; checklist script will change its output depending on the state of the upgrade, and should be [[Upgrade from 3 to 4#Continuously_use_the_pbs3to4_checklist_script|run continuously before and after the upgrade]].&lt;br /&gt;
It will print which packages should be removed or added at the appropriate time.&lt;br /&gt;
The only situation where you should keep the meta-package &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; installed is if you manually setup &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; for your system.&lt;br /&gt;
See also [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1110177 the filed bug for systemd-boot].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Upgrade]]&lt;/div&gt;</summary>
		<author><name>S.ivanov</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_3_to_4&amp;diff=150</id>
		<title>Upgrade from 3 to 4</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_3_to_4&amp;diff=150"/>
		<updated>2025-08-06T17:57:20Z</updated>

		<summary type="html">&lt;p&gt;S.ivanov: /* Update the Configured APT Repositories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 4 is based on Debian 13 Trixie, a new major release, and introduces several new major features and changes.&lt;br /&gt;
You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively.&lt;br /&gt;
Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process.&lt;br /&gt;
You can test the backup beforehand, for example, in a (virtualized) test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Trixie.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Perform these actions via SSH, a physical console or a remote management console like iKVM or IPMI.&lt;br /&gt;
** If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
** Do not carry out the upgrade via the web UI console directly, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgraded to the latest version of Proxmox Backup Server 3.4, see the [[Roadmap#Release History|roadmap]] for potential important changes in the stable release.&lt;br /&gt;
*: Use &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt dist-upgrade&amp;lt;/code&amp;gt; (still with Debian Bookworm repos setup) to upgrade to latest 3.4&lt;br /&gt;
** Verify version: The command &amp;lt;code&amp;gt;proxmox-backup-manager versions&amp;lt;/code&amp;gt; should print:&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-server 3.4.2-1 running version: 3.4.2&amp;lt;/code&amp;gt; (or higher)&lt;br /&gt;
** If you do not get updates check correct [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories package repository] configuration.&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs3-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 10 GB free disk space on the root mount point:&lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. Basic familiarity with APT is required to proceed with this upgrade mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Installed alongside Proxmox VE ===&lt;br /&gt;
&lt;br /&gt;
For systems with Proxmox VE and Proxmox Backup Server installed together, you should also read the [https://pve.proxmox.com/wiki/Upgrade_from_8_to_9 Proxmox VE upgrade from 8 to 9 how-to] carefully.&lt;br /&gt;
&lt;br /&gt;
You can upgrade both in one go, by syncing the steps in which the APT repositories are changed.&lt;br /&gt;
&lt;br /&gt;
== Actions Step-by-Step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 3.x host is up-to-date.&lt;br /&gt;
&lt;br /&gt;
=== Continuously use the pbs3to4 checklist script ===&lt;br /&gt;
&lt;br /&gt;
A small checklist program named pbs3to4 is included in the latest Proxmox Backup Server 3.4 packages. The program will provide hints and warnings about potential issues before, during and after the upgrade process. You can call it by executing:&lt;br /&gt;
&lt;br /&gt;
 pbs3to4&lt;br /&gt;
&lt;br /&gt;
To run it with all checks enabled, execute:&lt;br /&gt;
&lt;br /&gt;
 pbs3to4 --full&lt;br /&gt;
&lt;br /&gt;
Make sure to run the full checks at least once before the upgrade.&lt;br /&gt;
&lt;br /&gt;
This script only checks and reports things. By default, no changes to the system are made and thus, none of the issues will be automatically fixed. You should keep in mind that Proxmox Backup Server can be heavily customized, so the script may not recognize all the possible problems with a particular setup!&lt;br /&gt;
&lt;br /&gt;
It is recommended to re-run the script after each attempt to fix an issue. This ensures that the actions taken actually fixed the respective warning. &lt;br /&gt;
&lt;br /&gt;
=== Optional: Enable Maintenance Mode ===&lt;br /&gt;
&lt;br /&gt;
Enabling the read-only [https://pbs.proxmox.com/docs/maintenance.html#maintenance-mode maintenance mode] on all datastores ensures that no new backup can be started during the upgrade, while keeping existing ones available to read.&lt;br /&gt;
The read-only maintenance mode allows you to enforce a known and stable datastore state and reduces the I/O and general load of the Proxmox Backup Server during the upgrade, making that faster.&lt;br /&gt;
&lt;br /&gt;
You can enable and disable the maintenance mode either via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI):&lt;br /&gt;
 # enable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --maintenance-mode read-only&lt;br /&gt;
 # disable read-only mode&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Update the Configured APT Repositories ===&lt;br /&gt;
&lt;br /&gt;
First, make sure that the system is using the latest Proxmox Backup Server 3.4 packages:&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
&lt;br /&gt;
The last command should report at least &amp;lt;code&amp;gt;3.4.2-1&amp;lt;/code&amp;gt; or newer.&lt;br /&gt;
&lt;br /&gt;
==== Update Debian Base Repositories to Trixie ====&lt;br /&gt;
&lt;br /&gt;
Update all repository entries to Trixie:&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/bookworm/trixie/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Ensure that there are no remaining Debian Bookworm specific repositories left. You can place a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; symbol at the start of the respective line to comment such a repository out, disabling it.&lt;br /&gt;
Check all files in the &amp;lt;/code&amp;gt;/etc/apt/sources.list.d/&amp;lt;/code&amp;gt; folder (like &amp;lt;code&amp;gt;pbs-enterprise.list&amp;lt;/code&amp;gt;) and also the top-level &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; file.&lt;br /&gt;
See [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] section in the reference docs for the correct Proxmox Backup Server 4 / Debian Trixie repositories.&lt;br /&gt;
&lt;br /&gt;
==== Add the Proxmox Backup Server 4 Package Repository ====&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to Trixie in the new deb822 format with the following command:&lt;br /&gt;
&lt;br /&gt;
 cat &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.sources &amp;lt;&amp;lt; EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://enterprise.proxmox.com/debian/pbs&lt;br /&gt;
 Suites: trixie&lt;br /&gt;
 Components: pbs-enterprise&lt;br /&gt;
 Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
After you added the new enterprise repository as above, check that &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; picks it up correctly. You can do so by first running &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;. Make sure that no errors are shown and that &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; only outputs the desired repositories. Then you can remove the old &amp;lt;code&amp;gt;/etc/apt/sources.list.d/pbs-enterprise.list&amp;lt;/code&amp;gt; file. Run &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; again to be certain that the old repo has been removed.&lt;br /&gt;
If using the no-subscription repository, see [[Package Repositories]]. You should be able to add the Proxmox Backup Server 4 no-subscription repository with this command:&lt;br /&gt;
 cat &amp;gt; /etc/apt/sources.list.d/proxmox.sources &amp;lt;&amp;lt; EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: http://download.proxmox.com/debian/pbs&lt;br /&gt;
 Suites: trixie&lt;br /&gt;
 Components: pbs-no-subscription&lt;br /&gt;
 Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
As with the enterprise repository, make sure that &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; picks it up correctly with &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;. Then remove the previous Proxmox Backup Server 8 no-subscription repository from either the &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/etc/apt/sources-list.d/pbs-install-repo.list&amp;lt;/code&amp;gt; or any other &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; file you may have added it to. Run &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; again to be certain that the old repo has been removed.&lt;br /&gt;
&lt;br /&gt;
Make sure that &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; picks it up correctly with &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;. Then remove the previous Proxmox Backup Server 3 repository from either the &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/etc/apt/sources-list.d/pbs-install-repo.list&amp;lt;/code&amp;gt; or any other &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; file you may have added it to. You can use apt policy again to make sure the old repository is not being used anymore. &lt;br /&gt;
&lt;br /&gt;
Instead of removing older repositories, you can also disable them. In &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; simply comment them out by adding a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; to the beginning of the line. In &amp;lt;code&amp;gt;.sources&amp;lt;/code&amp;gt; files, you can add the line &amp;lt;code&amp;gt;Enabled: false&amp;lt;/code&amp;gt; to any stanza you want to disable.&lt;br /&gt;
&lt;br /&gt;
Make sure to check that all the &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files you added in /etc/apt/sources.list.d/ got switched over to Trixie correctly.&lt;br /&gt;
&lt;br /&gt;
After you checked that all repositories get picked up correctly with &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the System ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth.&lt;br /&gt;
A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in less than 5 minutes.&lt;br /&gt;
&lt;br /&gt;
{{Note|While the packages are being upgraded certain operations and requests to the API might fail (for example logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)|reminder}}&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you will be asked to approve changes to configuration files and some service restarts, where the default config has been updated by their respective package.&lt;br /&gt;
&lt;br /&gt;
You may also be shown the output of &amp;lt;code&amp;gt;apt-listchanges&amp;lt;/code&amp;gt;, you can simply exit there by pressing &amp;quot;q&amp;quot;. If you get prompted for your default keyboard selection, simply use the arrow keys to navigate to the one applicable in your case and hit enter.&lt;br /&gt;
&lt;br /&gt;
For questions about service restarts (like &amp;lt;code&amp;gt;Restart services during package upgrades without asking?&amp;lt;/code&amp;gt;) use the default if unsure, as the reboot after the upgrade will restart all services cleanly anyway.&lt;br /&gt;
&lt;br /&gt;
For questions about (default) configuration changes, it&#039;s suggested to check the difference for each file in question and choose the answer accordingly to what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
Common configuration files with changes, and the recommended choices are:                                                                              &lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/issue&amp;lt;/code&amp;gt; -&amp;gt; Proxmox Backup Server will auto-generate this file on boot, and it has only cosmetic effects on the login console.&lt;br /&gt;
*: Using the default &amp;quot;No&amp;quot; (keep your currently-installed version) is safe here.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; -&amp;gt; If you have not changed this file manually, the only differences should be a replacement of &amp;lt;code&amp;gt;ChallengeResponseAuthentication no&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;KbdInteractiveAuthentication no&amp;lt;/code&amp;gt; and some irrelevant changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;).&lt;br /&gt;
*: If this is the case, both options are safe, though we would recommend installing the package maintainer&#039;s version in order to move away from the deprecated &amp;lt;code&amp;gt;ChallengeResponseAuthentication&amp;lt;/code&amp;gt; option. If there are other changes, we suggest to inspect them closely and decide accordingly.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/default/grub&amp;lt;/code&amp;gt; -&amp;gt; Here you may want to take special care, as this is normally only asked for if you changed it manually, e.g., for adding some kernel command line option.&lt;br /&gt;
*: It&#039;s recommended to check the difference for any relevant change, note that changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are not relevant.&lt;br /&gt;
*: If unsure, we suggested to selected &amp;quot;No&amp;quot; (keep your currently-installed version)&lt;br /&gt;
&lt;br /&gt;
=== Check Result &amp;amp; Reboot Into Updated Kernel ===&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
Please note that you should reboot even if you already used the 6.2 kernel previously, through the opt-in package on Proxmox Backup Server 3.&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Empty the browser cache and/or force-reload (&amp;lt;kbd&amp;gt;CTRL&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;SHIFT&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;, or for MacOS &amp;lt;kbd&amp;gt;⌘&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;Alt&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;) the Web UI.&lt;br /&gt;
&lt;br /&gt;
=== Check Status of Services ===&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Optional: Disable Maintenance Mode Again ===&lt;br /&gt;
&lt;br /&gt;
If you enabled the maintenance mode before the upgrade, don&#039;t forget to disable it again.&lt;br /&gt;
You can do it via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI): &lt;br /&gt;
&lt;br /&gt;
 # disable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Optional: Modernize apt Repository Sources ===&lt;br /&gt;
&lt;br /&gt;
You can migrate existing repository sources to the recommended deb822 style format, by running:&lt;br /&gt;
&lt;br /&gt;
 apt modernize-sources&lt;br /&gt;
&lt;br /&gt;
By answering the following prompt with &amp;quot;n&amp;quot; you can check the changes the command would make before applying them. To apply them simply run the command again and respond to the prompt with &amp;quot;Y&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
The command will also keep the old &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files around by appending &amp;lt;code&amp;gt;.bak&amp;lt;/code&amp;gt; to them. So you will have the new &amp;lt;code&amp;gt;.sources&amp;lt;/code&amp;gt; files and the old repository configurations in the &amp;lt;code&amp;gt;.list.bak&amp;lt;/code&amp;gt; files. You can remove the leftover backup files once you verified that everything works smoothly with the new format.&lt;br /&gt;
&lt;br /&gt;
= Potential Issues =                                                                                                                                                                                                                                                                                                                                 &lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
As a Debian based distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, ensure that you read the [https://www.debian.org/releases/trixie/release-notes/issues.en.html upgrade specific issues for Debian Trixie].&lt;br /&gt;
&lt;br /&gt;
Please also check the known issue list from the Proxmox Backup Server 4.0 changelog: https://pbs.proxmox.com/wiki/index.php/Roadmap#4.0-known-issues&lt;br /&gt;
&lt;br /&gt;
== Older Hardware and New 6.14 Kernel ==&lt;br /&gt;
&lt;br /&gt;
Compatibility of old hardware (released &amp;gt;= 10 years ago) is not as thoroughly tested as more recent hardware.&lt;br /&gt;
For old hardware we highly recommend testing compatibility of Proxmox Backup Server 4 with identical (or at least similar) hardware before upgrading any production machines.&lt;br /&gt;
&lt;br /&gt;
We will expand this section with potential pitfalls and workarounds once they arise.&lt;br /&gt;
&lt;br /&gt;
== Network ==&lt;br /&gt;
&lt;br /&gt;
=== Network Interface Name Change ===&lt;br /&gt;
&lt;br /&gt;
Due to the new kernel recognizing more features of some hardware, like for example virtual functions, and interface naming often derives from the PCI(e) address, some NICs may change their name, in which case the network configuration needs to be adapted.&lt;br /&gt;
&lt;br /&gt;
In general, it&#039;s recommended to either have an independent remote connection to the Proxmox Backup Server&#039;s host console, for example, through IPMI or iKVM, or physical access for managing the server even when its own network doesn&#039;t come up after a major upgrade or network change.&lt;br /&gt;
&lt;br /&gt;
The latest version of Proxmox Backup Server 3.4 and 4.0 provide a package called &amp;lt;code&amp;gt;proxmox-network-interface-pinning&amp;lt;/code&amp;gt; that you can install.&lt;br /&gt;
This package offers a CLI tool that helps you pin all network interfaces to NIC-based names and update the network configuration simultaneously.&lt;br /&gt;
&lt;br /&gt;
=== Systemd-boot meta-package changes the bootloader configuration automatically and should be uninstalled ===&lt;br /&gt;
&lt;br /&gt;
With Debian Trixie the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package got split up a bit further into &amp;lt;code&amp;gt;systemd-boot-efi&amp;lt;/code&amp;gt; (containing the EFI-binary used for booting), &lt;br /&gt;
&amp;lt;code&amp;gt;systemd-boot-tools&amp;lt;/code&amp;gt; (containing &amp;lt;code&amp;gt;bootctl&amp;lt;/code&amp;gt;) and the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; meta-package (containing hooks which run upon upgrades of itself and other packages&lt;br /&gt;
and install systemd-boot as bootloader).&lt;br /&gt;
&lt;br /&gt;
As Proxmox Systems usually handle the installation of &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; as bootloader using &amp;lt;code&amp;gt;proxmox-boot-tool&amp;lt;/code&amp;gt; the meta-package should be removed.&lt;br /&gt;
The package was automatically shipped for systems installed from the Proxmox Backup Server 3.1 to Proxmox Backup Server 3.4 ISOs, as it contained &amp;lt;code&amp;gt;bootctl&amp;lt;/code&amp;gt; in bookworm.&lt;br /&gt;
&lt;br /&gt;
See also [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1110177 bug for systemd-boot]&lt;br /&gt;
&lt;br /&gt;
[[Category: Upgrade]]&lt;/div&gt;</summary>
		<author><name>S.ivanov</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_3_to_4&amp;diff=149</id>
		<title>Upgrade from 3 to 4</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_3_to_4&amp;diff=149"/>
		<updated>2025-08-06T14:19:09Z</updated>

		<summary type="html">&lt;p&gt;S.ivanov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 4 is based on Debian 13 Trixie, a new major release, and introduces several new major features and changes.&lt;br /&gt;
You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively.&lt;br /&gt;
Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process.&lt;br /&gt;
You can test the backup beforehand, for example, in a (virtualized) test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Trixie.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Perform these actions via SSH, a physical console or a remote management console like iKVM or IPMI.&lt;br /&gt;
** If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
** Do not carry out the upgrade via the web UI console directly, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgraded to the latest version of Proxmox Backup Server 3.4, see the [[Roadmap#Release History|roadmap]] for potential important changes in the stable release.&lt;br /&gt;
*: Use &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt dist-upgrade&amp;lt;/code&amp;gt; (still with Debian Bookworm repos setup) to upgrade to latest 3.4&lt;br /&gt;
** Verify version: The command &amp;lt;code&amp;gt;proxmox-backup-manager versions&amp;lt;/code&amp;gt; should print:&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-server 3.4.2-1 running version: 3.4.2&amp;lt;/code&amp;gt; (or higher)&lt;br /&gt;
** If you do not get updates check correct [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories package repository] configuration.&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs3-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 10 GB free disk space on the root mount point:&lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. Basic familiarity with APT is required to proceed with this upgrade mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Installed alongside Proxmox VE ===&lt;br /&gt;
&lt;br /&gt;
For systems with Proxmox VE and Proxmox Backup Server installed together, you should also read the [https://pve.proxmox.com/wiki/Upgrade_from_8_to_9 Proxmox VE upgrade from 8 to 9 how-to] carefully.&lt;br /&gt;
&lt;br /&gt;
You can upgrade both in one go, by syncing the steps in which the APT repositories are changed.&lt;br /&gt;
&lt;br /&gt;
== Actions Step-by-Step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 3.x host is up-to-date.&lt;br /&gt;
&lt;br /&gt;
=== Continuously use the pbs3to4 checklist script ===&lt;br /&gt;
&lt;br /&gt;
A small checklist program named pbs3to4 is included in the latest Proxmox Backup Server 3.4 packages. The program will provide hints and warnings about potential issues before, during and after the upgrade process. You can call it by executing:&lt;br /&gt;
&lt;br /&gt;
 pbs3to4&lt;br /&gt;
&lt;br /&gt;
To run it with all checks enabled, execute:&lt;br /&gt;
&lt;br /&gt;
 pbs3to4 --full&lt;br /&gt;
&lt;br /&gt;
Make sure to run the full checks at least once before the upgrade.&lt;br /&gt;
&lt;br /&gt;
This script only checks and reports things. By default, no changes to the system are made and thus, none of the issues will be automatically fixed. You should keep in mind that Proxmox Backup Server can be heavily customized, so the script may not recognize all the possible problems with a particular setup!&lt;br /&gt;
&lt;br /&gt;
It is recommended to re-run the script after each attempt to fix an issue. This ensures that the actions taken actually fixed the respective warning. &lt;br /&gt;
&lt;br /&gt;
=== Optional: Enable Maintenance Mode ===&lt;br /&gt;
&lt;br /&gt;
Enabling the read-only [https://pbs.proxmox.com/docs/maintenance.html#maintenance-mode maintenance mode] on all datastores ensures that no new backup can be started during the upgrade, while keeping existing ones available to read.&lt;br /&gt;
The read-only maintenance mode allows you to enforce a known and stable datastore state and reduces the I/O and general load of the Proxmox Backup Server during the upgrade, making that faster.&lt;br /&gt;
&lt;br /&gt;
You can enable and disable the maintenance mode either via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI):&lt;br /&gt;
 # enable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --maintenance-mode read-only&lt;br /&gt;
 # disable read-only mode&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Update the Configured APT Repositories ===&lt;br /&gt;
&lt;br /&gt;
First, make sure that the system is using the latest Proxmox Backup Server 3.4 packages:&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
&lt;br /&gt;
The last command should report at least &amp;lt;code&amp;gt;3.4.2-1&amp;lt;/code&amp;gt; or newer.&lt;br /&gt;
&lt;br /&gt;
==== Update Debian Base Repositories to Trixie ====&lt;br /&gt;
&lt;br /&gt;
Update all repository entries to Trixie:&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/bookworm/trixie/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Ensure that there are no remaining Debian Bookworm specific repositories left. You can place a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; symbol at the start of the respective line to comment such a repository out, disabling it.&lt;br /&gt;
Check all files in the &amp;lt;/code&amp;gt;/etc/apt/sources.list.d/&amp;lt;/code&amp;gt; folder (like &amp;lt;code&amp;gt;pbs-enterprise.list&amp;lt;/code&amp;gt;) and also the top-level &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; file.&lt;br /&gt;
See [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] section in the reference docs for the correct Proxmox Backup Server 4 / Debian Trixie repositories.&lt;br /&gt;
&lt;br /&gt;
==== Add the Proxmox Backup Server 4 Package Repository ====&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to Trixie in the new deb822 format with the following command:&lt;br /&gt;
&lt;br /&gt;
 cat &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.sources &amp;lt;&amp;lt; EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://enterprise.proxmox.com/debian/pbs&lt;br /&gt;
 Suites: trixie&lt;br /&gt;
 Components: pbs-enterprise&lt;br /&gt;
 Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
After you added the new enterprise repository as above, check that &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; picks it up correctly. You can do so by first running &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;. Make sure that no errors are shown and that &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; only outputs the desired repositories. Then you can remove the old &amp;lt;code&amp;gt;/etc/apt/sources.list.d/pve-enterprise.list&amp;lt;/code&amp;gt; file. Run &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; again to be certain that the old repo has been removed.&lt;br /&gt;
If using the no-subscription repository, see [[Package Repositories]]. You should be able to add the Proxmox Backup Server 4 no-subscription repository with this command:&lt;br /&gt;
 cat &amp;gt; /etc/apt/sources.list.d/proxmox.sources &amp;lt;&amp;lt; EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: http://download.proxmox.com/debian/pbs&lt;br /&gt;
 Suites: trixie&lt;br /&gt;
 Components: pbs-no-subscription&lt;br /&gt;
 Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
As with the enterprise repository, make sure that &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; picks it up correctly with &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;. Then remove the previous Proxmox Backup Server 8 no-subscription repository from either the &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/etc/apt/sources-list.d/pve-install-repo.list&amp;lt;/code&amp;gt; or any other &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; file you may have added it to. Run &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; again to be certain that the old repo has been removed.&lt;br /&gt;
&lt;br /&gt;
Make sure that &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; picks it up correctly with &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;. Then remove the previous Proxmox Backup Server 3 repository from either the &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/etc/apt/sources-list.d/pbs-install-repo.list&amp;lt;/code&amp;gt; or any other &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; file you may have added it to. You can use apt policy again to make sure the old repository is not being used anymore. &lt;br /&gt;
&lt;br /&gt;
Instead of removing older repositories, you can also disable them. In &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; simply comment them out by adding a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; to the beginning of the line. In &amp;lt;code&amp;gt;.sources&amp;lt;/code&amp;gt; files, you can add the line &amp;lt;code&amp;gt;Enabled: false&amp;lt;/code&amp;gt; to any stanza you want to disable.&lt;br /&gt;
&lt;br /&gt;
Make sure to check that all the &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files you added in /etc/apt/sources.list.d/ got switched over to Trixie correctly.&lt;br /&gt;
&lt;br /&gt;
After you checked that all repositories get picked up correctly with &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the System ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth.&lt;br /&gt;
A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in less than 5 minutes.&lt;br /&gt;
&lt;br /&gt;
{{Note|While the packages are being upgraded certain operations and requests to the API might fail (for example logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)|reminder}}&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you will be asked to approve changes to configuration files and some service restarts, where the default config has been updated by their respective package.&lt;br /&gt;
&lt;br /&gt;
You may also be shown the output of &amp;lt;code&amp;gt;apt-listchanges&amp;lt;/code&amp;gt;, you can simply exit there by pressing &amp;quot;q&amp;quot;. If you get prompted for your default keyboard selection, simply use the arrow keys to navigate to the one applicable in your case and hit enter.&lt;br /&gt;
&lt;br /&gt;
For questions about service restarts (like &amp;lt;code&amp;gt;Restart services during package upgrades without asking?&amp;lt;/code&amp;gt;) use the default if unsure, as the reboot after the upgrade will restart all services cleanly anyway.&lt;br /&gt;
&lt;br /&gt;
For questions about (default) configuration changes, it&#039;s suggested to check the difference for each file in question and choose the answer accordingly to what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
Common configuration files with changes, and the recommended choices are:                                                                              &lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/issue&amp;lt;/code&amp;gt; -&amp;gt; Proxmox Backup Server will auto-generate this file on boot, and it has only cosmetic effects on the login console.&lt;br /&gt;
*: Using the default &amp;quot;No&amp;quot; (keep your currently-installed version) is safe here.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; -&amp;gt; If you have not changed this file manually, the only differences should be a replacement of &amp;lt;code&amp;gt;ChallengeResponseAuthentication no&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;KbdInteractiveAuthentication no&amp;lt;/code&amp;gt; and some irrelevant changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;).&lt;br /&gt;
*: If this is the case, both options are safe, though we would recommend installing the package maintainer&#039;s version in order to move away from the deprecated &amp;lt;code&amp;gt;ChallengeResponseAuthentication&amp;lt;/code&amp;gt; option. If there are other changes, we suggest to inspect them closely and decide accordingly.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/default/grub&amp;lt;/code&amp;gt; -&amp;gt; Here you may want to take special care, as this is normally only asked for if you changed it manually, e.g., for adding some kernel command line option.&lt;br /&gt;
*: It&#039;s recommended to check the difference for any relevant change, note that changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are not relevant.&lt;br /&gt;
*: If unsure, we suggested to selected &amp;quot;No&amp;quot; (keep your currently-installed version)&lt;br /&gt;
&lt;br /&gt;
=== Check Result &amp;amp; Reboot Into Updated Kernel ===&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
Please note that you should reboot even if you already used the 6.2 kernel previously, through the opt-in package on Proxmox Backup Server 3.&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Empty the browser cache and/or force-reload (&amp;lt;kbd&amp;gt;CTRL&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;SHIFT&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;, or for MacOS &amp;lt;kbd&amp;gt;⌘&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;Alt&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;) the Web UI.&lt;br /&gt;
&lt;br /&gt;
=== Check Status of Services ===&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Optional: Disable Maintenance Mode Again ===&lt;br /&gt;
&lt;br /&gt;
If you enabled the maintenance mode before the upgrade, don&#039;t forget to disable it again.&lt;br /&gt;
You can do it via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI): &lt;br /&gt;
&lt;br /&gt;
 # disable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Optional: Modernize apt Repository Sources ===&lt;br /&gt;
&lt;br /&gt;
You can migrate existing repository sources to the recommended deb822 style format, by running:&lt;br /&gt;
&lt;br /&gt;
 apt modernize-sources&lt;br /&gt;
&lt;br /&gt;
By answering the following prompt with &amp;quot;n&amp;quot; you can check the changes the command would make before applying them. To apply them simply run the command again and respond to the prompt with &amp;quot;Y&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
The command will also keep the old &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files around by appending &amp;lt;code&amp;gt;.bak&amp;lt;/code&amp;gt; to them. So you will have the new &amp;lt;code&amp;gt;.sources&amp;lt;/code&amp;gt; files and the old repository configurations in the &amp;lt;code&amp;gt;.list.bak&amp;lt;/code&amp;gt; files. You can remove the leftover backup files once you verified that everything works smoothly with the new format.&lt;br /&gt;
&lt;br /&gt;
= Potential Issues =                                                                                                                                                                                                                                                                                                                                 &lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
As a Debian based distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, ensure that you read the [https://www.debian.org/releases/trixie/release-notes/issues.en.html upgrade specific issues for Debian Trixie].&lt;br /&gt;
&lt;br /&gt;
Please also check the known issue list from the Proxmox Backup Server 4.0 changelog: https://pbs.proxmox.com/wiki/index.php/Roadmap#4.0-known-issues&lt;br /&gt;
&lt;br /&gt;
== Older Hardware and New 6.14 Kernel ==&lt;br /&gt;
&lt;br /&gt;
Compatibility of old hardware (released &amp;gt;= 10 years ago) is not as thoroughly tested as more recent hardware.&lt;br /&gt;
For old hardware we highly recommend testing compatibility of Proxmox Backup Server 4 with identical (or at least similar) hardware before upgrading any production machines.&lt;br /&gt;
&lt;br /&gt;
We will expand this section with potential pitfalls and workarounds once they arise.&lt;br /&gt;
&lt;br /&gt;
== Network ==&lt;br /&gt;
&lt;br /&gt;
=== Network Interface Name Change ===&lt;br /&gt;
&lt;br /&gt;
Due to the new kernel recognizing more features of some hardware, like for example virtual functions, and interface naming often derives from the PCI(e) address, some NICs may change their name, in which case the network configuration needs to be adapted.&lt;br /&gt;
&lt;br /&gt;
In general, it&#039;s recommended to either have an independent remote connection to the Proxmox Backup Server&#039;s host console, for example, through IPMI or iKVM, or physical access for managing the server even when its own network doesn&#039;t come up after a major upgrade or network change.&lt;br /&gt;
&lt;br /&gt;
The latest version of Proxmox Backup Server 3.4 and 4.0 provide a package called &amp;lt;code&amp;gt;proxmox-network-interface-pinning&amp;lt;/code&amp;gt; that you can install.&lt;br /&gt;
This package offers a CLI tool that helps you pin all network interfaces to NIC-based names and update the network configuration simultaneously.&lt;br /&gt;
&lt;br /&gt;
=== Systemd-boot meta-package changes the bootloader configuration automatically and should be uninstalled ===&lt;br /&gt;
&lt;br /&gt;
With Debian Trixie the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package got split up a bit further into &amp;lt;code&amp;gt;systemd-boot-efi&amp;lt;/code&amp;gt; (containing the EFI-binary used for booting), &lt;br /&gt;
&amp;lt;code&amp;gt;systemd-boot-tools&amp;lt;/code&amp;gt; (containing &amp;lt;code&amp;gt;bootctl&amp;lt;/code&amp;gt;) and the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; meta-package (containing hooks which run upon upgrades of itself and other packages&lt;br /&gt;
and install systemd-boot as bootloader).&lt;br /&gt;
&lt;br /&gt;
As Proxmox Systems usually handle the installation of &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; as bootloader using &amp;lt;code&amp;gt;proxmox-boot-tool&amp;lt;/code&amp;gt; the meta-package should be removed.&lt;br /&gt;
The package was automatically shipped for systems installed from the Proxmox Backup Server 3.1 to Proxmox Backup Server 3.4 ISOs, as it contained &amp;lt;code&amp;gt;bootctl&amp;lt;/code&amp;gt; in bookworm.&lt;br /&gt;
&lt;br /&gt;
See also [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1110177 bug for systemd-boot]&lt;br /&gt;
&lt;br /&gt;
[[Category: Upgrade]]&lt;/div&gt;</summary>
		<author><name>S.ivanov</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Fail2ban&amp;diff=128</id>
		<title>Fail2ban</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Fail2ban&amp;diff=128"/>
		<updated>2024-05-27T16:19:02Z</updated>

		<summary type="html">&lt;p&gt;S.ivanov: Add initial page - adaptations contributed by Lukas Fülling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we describe in short how you can set up &amp;lt;code&amp;gt;fail2ban&amp;lt;/code&amp;gt; for the Proxmox Backup Server API to block IP addresses (temporarily) if there were too many wrong login attempts submitted through them.&lt;br /&gt;
The page is based upon the [https://pve.proxmox.com/wiki/Fail2ban HOWTO for Proxmox VE]&lt;br /&gt;
&lt;br /&gt;
== Install fail2ban ==&lt;br /&gt;
&lt;br /&gt;
Execute the following commands as root in a shell on the Proxmox Backup Server host, for example connected through SSH or via the web console in the Proxmox Backup Server web interface.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt install fail2ban&lt;br /&gt;
&lt;br /&gt;
== Setup Base Config ==&lt;br /&gt;
&lt;br /&gt;
We recommend to use the &amp;lt;code&amp;gt;/etc/fail2ban/jail.local&amp;lt;/code&amp;gt; file, as settings in this file take precedence over identical settings of &amp;lt;code&amp;gt;jail.conf&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;jail.conf&amp;lt;/code&amp;gt; as a template:&lt;br /&gt;
&lt;br /&gt;
 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local&lt;br /&gt;
&lt;br /&gt;
And adapt the settings to your needs in the copied over &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The main reason for using this separate file is that the original &amp;lt;code&amp;gt;jail.conf&amp;lt;/code&amp;gt; could be overwritten by fail2ban package updates, while the copied &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; will not, so you can better manage updates that way.&lt;br /&gt;
&lt;br /&gt;
== Setup Jail ==&lt;br /&gt;
&lt;br /&gt;
=== Base Config ===&lt;br /&gt;
Add the following to the end of the copied over file &amp;lt;code&amp;gt;/etc/fail2ban/jail.local&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[proxmox-backup-server]&lt;br /&gt;
enabled = true&lt;br /&gt;
port = https,http,8007&lt;br /&gt;
filter = proxmox-backup-server&lt;br /&gt;
logpath = /var/log/proxmox-backup/api/auth.log&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 2d&lt;br /&gt;
bantime = 1h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tip: Time properties like &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; also allow combinations like &amp;lt;code&amp;gt;2m 30s&amp;lt;/code&amp;gt;. You can test if a value is valid and what the actually resulting ban seconds are using the &amp;lt;code&amp;gt;fail2ban-client --str2sec &#039;1d 12h&#039;&amp;lt;/code&amp;gt; command.&lt;br /&gt;
See the &amp;lt;code&amp;gt;jail.conf&amp;lt;/code&amp;gt; manual page&amp;lt;ref&amp;gt;&amp;lt;code&amp;gt;jail.conf&amp;lt;/code&amp;gt; manual page https://manpages.debian.org/stable/fail2ban/jail.conf.5.en.html&amp;lt;/ref&amp;gt; for description of all options.&lt;br /&gt;
&lt;br /&gt;
=== Filter Config ===&lt;br /&gt;
Create the file &amp;lt;code&amp;gt;/etc/fail2ban/filter.d/proxmox-backup-server.conf&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = authentication failure; rhost=\[&amp;lt;HOST&amp;gt;\]:\d+ user=.* msg=.*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restart Service to Enable Config ===&lt;br /&gt;
Use:&lt;br /&gt;
 systemctl restart fail2ban&lt;br /&gt;
to activate the config addition and arm fail2ban for the Proxmox Backup Server API.&lt;br /&gt;
&lt;br /&gt;
== Test fail2ban Config ==&lt;br /&gt;
You can test your configuration by trying to log in through the web interface with a wrong password or a wrong user, and then issue the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fail2ban-regex /var/log/proxmox-backup/api/auth.log /etc/fail2ban/filter.d/proxmox-backup-server.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have *at least* a &amp;quot;Failregex: 1 total&amp;quot; at the top of the &amp;quot;Results&amp;quot; section (and &amp;quot;1 matched&amp;quot; at the bottom)&lt;br /&gt;
&lt;br /&gt;
Note, if you tried too often and got yourself banned (your IP is reported by &amp;lt;code&amp;gt;fail2ban-client get proxmox-backup-server banned&amp;lt;/code&amp;gt;) you can use &amp;lt;code&amp;gt;fail2ban-client unban &amp;lt;IP&amp;gt;&amp;lt;/code&amp;gt; (replace &amp;lt;code&amp;gt;&amp;lt;IP&amp;gt;&amp;lt;/code&amp;gt; with the IP address) to manually unblock yourself.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.fail2ban.org/wiki/index.php/Main_Page  Fail2Ban ]&lt;br /&gt;
&lt;br /&gt;
[[Category: HOW-TO]]&lt;/div&gt;</summary>
		<author><name>S.ivanov</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_1.1_to_2.x&amp;diff=64</id>
		<title>Upgrade from 1.1 to 2.x</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_1.1_to_2.x&amp;diff=64"/>
		<updated>2021-07-13T09:53:56Z</updated>

		<summary type="html">&lt;p&gt;S.ivanov: /* Upgrade the system */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
Proxmox Backup Server 2.x is based on a new major version of Debian. You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively. Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process. Test the backup beforehand in a test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Bullseye.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Preconditions ==&lt;br /&gt;
&lt;br /&gt;
Perform these actions via console or SSH. If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
&lt;br /&gt;
Do not carry out the upgrade via the web-interface (GUI) console, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgrade to the latest version of Proxmox Backup Server 1.1:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 # verify version:&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
 proxmox-backup-server 1.1.11-1 running version: 1.1.11 (or higher)&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs1-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 4 GiB free disk space on the root mount point: &lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. &#039;&#039;&#039;Familiarity with APT is required to proceed with this upgrade mechanism. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Actions step-by-step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 1.x host is up-to-date. If you use a Linux bridge setup on your server, please also refer to the [https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0#Check_Linux_Network_Bridge_MAC Proxmox VE Upgrade Guide&#039;s] section regarding possible issues.&lt;br /&gt;
&lt;br /&gt;
=== Update the configured APT repositories ===&lt;br /&gt;
&lt;br /&gt;
Change the apt sources to Bullseye - see [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories].&lt;br /&gt;
Update all Debian repository entries to Bullseye.&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/buster\/updates/bullseye-security/g;s/buster/bullseye/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Note that for bullseye, Debian changed its security update repository from &amp;lt;code&amp;gt;deb http://security.debian.org buster/updates main&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;deb http://security.debian.org bullseye-security main&amp;lt;/code&amp;gt; for more consistency.&lt;br /&gt;
The above command accounts for this change already.&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to bullseye: &lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb https://enterprise.proxmox.com/debian/pbs bullseye pbs-enterprise&amp;quot; &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.list&lt;br /&gt;
&lt;br /&gt;
If you have other PBS repositories configured, you can run the below command to update them:&lt;br /&gt;
 sed -i &#039;s/buster/bullseye/g&#039; /etc/apt/sources.list.d/pbs-repo.list&lt;br /&gt;
&lt;br /&gt;
Make sure to also edit all the extra files you added in /etc/apt/sources.list.d/ to Bullseye accordingly. &lt;br /&gt;
&lt;br /&gt;
Finally, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Stop services before upgrade ===&lt;br /&gt;
&lt;br /&gt;
This is only necessary if you use tape backup, as the lock file&#039;s path has been changed. Alternatively, you can also ensure that no tape-related backup or restore jobs are running during the upgrade.&lt;br /&gt;
&lt;br /&gt;
Note that stopping the services will abort all running tasks (backup, restore, garbage-collect, etc.), so make sure none is active.&lt;br /&gt;
&lt;br /&gt;
 systemctl stop proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the system ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth. A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in 5 minutes.  While the packages are being upgraded certain operations and requests to the API might fail (for example logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you may be asked to approve some new packages, that want to replace certain configuration files. These are not relevant to the Proxmox Backup Server upgrade, so you can choose what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Start services again, if you stopped them for the upgrade:&lt;br /&gt;
&lt;br /&gt;
 systemctl start proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
= Potential issues =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
As a Debian based Distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, make sure to read the [https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.en.html Upgrade specific issues for bullseye]&lt;/div&gt;</summary>
		<author><name>S.ivanov</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_1.1_to_2.x&amp;diff=63</id>
		<title>Upgrade from 1.1 to 2.x</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_1.1_to_2.x&amp;diff=63"/>
		<updated>2021-07-13T09:53:35Z</updated>

		<summary type="html">&lt;p&gt;S.ivanov: /* Upgrade the system */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
Proxmox Backup Server 2.x is based on a new major version of Debian. You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively. Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process. Test the backup beforehand in a test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Bullseye.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Preconditions ==&lt;br /&gt;
&lt;br /&gt;
Perform these actions via console or SSH. If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
&lt;br /&gt;
Do not carry out the upgrade via the web-interface (GUI) console, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgrade to the latest version of Proxmox Backup Server 1.1:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 # verify version:&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
 proxmox-backup-server 1.1.11-1 running version: 1.1.11 (or higher)&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs1-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 4 GiB free disk space on the root mount point: &lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. &#039;&#039;&#039;Familiarity with APT is required to proceed with this upgrade mechanism. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Actions step-by-step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 1.x host is up-to-date. If you use a Linux bridge setup on your server, please also refer to the [https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0#Check_Linux_Network_Bridge_MAC Proxmox VE Upgrade Guide&#039;s] section regarding possible issues.&lt;br /&gt;
&lt;br /&gt;
=== Update the configured APT repositories ===&lt;br /&gt;
&lt;br /&gt;
Change the apt sources to Bullseye - see [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories].&lt;br /&gt;
Update all Debian repository entries to Bullseye.&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/buster\/updates/bullseye-security/g;s/buster/bullseye/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Note that for bullseye, Debian changed its security update repository from &amp;lt;code&amp;gt;deb http://security.debian.org buster/updates main&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;deb http://security.debian.org bullseye-security main&amp;lt;/code&amp;gt; for more consistency.&lt;br /&gt;
The above command accounts for this change already.&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to bullseye: &lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb https://enterprise.proxmox.com/debian/pbs bullseye pbs-enterprise&amp;quot; &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.list&lt;br /&gt;
&lt;br /&gt;
If you have other PBS repositories configured, you can run the below command to update them:&lt;br /&gt;
 sed -i &#039;s/buster/bullseye/g&#039; /etc/apt/sources.list.d/pbs-repo.list&lt;br /&gt;
&lt;br /&gt;
Make sure to also edit all the extra files you added in /etc/apt/sources.list.d/ to Bullseye accordingly. &lt;br /&gt;
&lt;br /&gt;
Finally, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Stop services before upgrade ===&lt;br /&gt;
&lt;br /&gt;
This is only necessary if you use tape backup, as the lock file&#039;s path has been changed. Alternatively, you can also ensure that no tape-related backup or restore jobs are running during the upgrade.&lt;br /&gt;
&lt;br /&gt;
Note that stopping the services will abort all running tasks (backup, restore, garbage-collect, etc.), so make sure none is active.&lt;br /&gt;
&lt;br /&gt;
 systemctl stop proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the system ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth. A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in 5 minutes.  While the packages are being upgraded certain operations and requests to the API might fail (e.g. logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you may be asked to approve some new packages, that want to replace certain configuration files. These are not relevant to the Proxmox Backup Server upgrade, so you can choose what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Start services again, if you stopped them for the upgrade:&lt;br /&gt;
&lt;br /&gt;
 systemctl start proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
= Potential issues =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
As a Debian based Distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, make sure to read the [https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.en.html Upgrade specific issues for bullseye]&lt;/div&gt;</summary>
		<author><name>S.ivanov</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_1.1_to_2.x&amp;diff=62</id>
		<title>Upgrade from 1.1 to 2.x</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_1.1_to_2.x&amp;diff=62"/>
		<updated>2021-07-13T09:52:22Z</updated>

		<summary type="html">&lt;p&gt;S.ivanov: /* Stop services before upgrade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
Proxmox Backup Server 2.x is based on a new major version of Debian. You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively. Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process. Test the backup beforehand in a test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Bullseye.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Preconditions ==&lt;br /&gt;
&lt;br /&gt;
Perform these actions via console or SSH. If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
&lt;br /&gt;
Do not carry out the upgrade via the web-interface (GUI) console, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgrade to the latest version of Proxmox Backup Server 1.1:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 # verify version:&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
 proxmox-backup-server 1.1.11-1 running version: 1.1.11 (or higher)&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs1-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 4 GiB free disk space on the root mount point: &lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. &#039;&#039;&#039;Familiarity with APT is required to proceed with this upgrade mechanism. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Actions step-by-step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 1.x host is up-to-date. If you use a Linux bridge setup on your server, please also refer to the [https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0#Check_Linux_Network_Bridge_MAC Proxmox VE Upgrade Guide&#039;s] section regarding possible issues.&lt;br /&gt;
&lt;br /&gt;
=== Update the configured APT repositories ===&lt;br /&gt;
&lt;br /&gt;
Change the apt sources to Bullseye - see [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories].&lt;br /&gt;
Update all Debian repository entries to Bullseye.&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/buster\/updates/bullseye-security/g;s/buster/bullseye/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Note that for bullseye, Debian changed its security update repository from &amp;lt;code&amp;gt;deb http://security.debian.org buster/updates main&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;deb http://security.debian.org bullseye-security main&amp;lt;/code&amp;gt; for more consistency.&lt;br /&gt;
The above command accounts for this change already.&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to bullseye: &lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb https://enterprise.proxmox.com/debian/pbs bullseye pbs-enterprise&amp;quot; &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.list&lt;br /&gt;
&lt;br /&gt;
If you have other PBS repositories configured, you can run the below command to update them:&lt;br /&gt;
 sed -i &#039;s/buster/bullseye/g&#039; /etc/apt/sources.list.d/pbs-repo.list&lt;br /&gt;
&lt;br /&gt;
Make sure to also edit all the extra files you added in /etc/apt/sources.list.d/ to Bullseye accordingly. &lt;br /&gt;
&lt;br /&gt;
Finally, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Stop services before upgrade ===&lt;br /&gt;
&lt;br /&gt;
This is only necessary if you use tape backup, as the lock file&#039;s path has been changed. Alternatively, you can also ensure that no tape-related backup or restore jobs are running during the upgrade.&lt;br /&gt;
&lt;br /&gt;
Note that stopping the services will abort all running tasks (backup, restore, garbage-collect, etc.), so make sure none is active.&lt;br /&gt;
&lt;br /&gt;
 systemctl stop proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the system ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth. A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in 5 minutes. &lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you may be asked to approve some new packages, that want to replace certain configuration files. These are not relevant to the Proxmox Backup Server upgrade, so you can choose what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Start services again, if you stopped them for the upgrade:&lt;br /&gt;
&lt;br /&gt;
 systemctl start proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
= Potential issues =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
As a Debian based Distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, make sure to read the [https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.en.html Upgrade specific issues for bullseye]&lt;/div&gt;</summary>
		<author><name>S.ivanov</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=HTTPS_Certificate_Configuration&amp;diff=49</id>
		<title>HTTPS Certificate Configuration</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=HTTPS_Certificate_Configuration&amp;diff=49"/>
		<updated>2021-02-11T10:03:41Z</updated>

		<summary type="html">&lt;p&gt;S.ivanov: add section about parallel installations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This is a how-to for changing the web server certificate used by Proxmox Backup Server, in order to enable the usage of publicly trusted certificates issued by a CA of your choice (like Let&#039;s Encrypt or a commercial CA).&lt;br /&gt;
&lt;br /&gt;
== Important Note ==&lt;br /&gt;
&lt;br /&gt;
Creating a new certificate requires changes the fingerprint a client will see when connecting to the server.&lt;br /&gt;
You need to update it for all clients, else they will refuse connecting to the server!&lt;br /&gt;
&lt;br /&gt;
With a trusted certificate clients do not require a fingerprint to verify the server, if your certificate is trusted you should drop the fingerprint from all client configurations to avoid updating it.&lt;br /&gt;
&lt;br /&gt;
== Certificate and Key File ==&lt;br /&gt;
&lt;br /&gt;
The certificate and key, which are used for the TLS encryption by &amp;lt;code&amp;gt;proxmox-backup-proxy&amp;lt;/code&amp;gt; are:&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/proxmox-backup/proxy.pem&amp;lt;/code&amp;gt; (certificate)&lt;br /&gt;
: The pem file contains the certificate, potentially including one or more intermediate certificates&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/proxmox-backup/proxy.key&amp;lt;/code&amp;gt; (key)&lt;br /&gt;
: The key file contains the private key used for the certificate.&lt;br /&gt;
&lt;br /&gt;
=== File Owner and Permissions ===&lt;br /&gt;
&lt;br /&gt;
Both files need to be owned by the &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; user and the &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt; group and should not be readable by others (mode &amp;lt;code&amp;gt;o640&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 chown root:backup /etc/proxmox-backup/proxy.pem /etc/proxmox-backup/proxy.key&lt;br /&gt;
 chmod 640 /etc/proxmox-backup/proxy.pem /etc/proxmox-backup/proxy.key&lt;br /&gt;
&lt;br /&gt;
=== Activating Certificate Change ===&lt;br /&gt;
&lt;br /&gt;
Once the certificate and key files are changed you need to reload (avoid restart, they interrupt running (backup) jobs) the proxy daemon:&lt;br /&gt;
 systemctl reload proxmox-backup-proxy&lt;br /&gt;
&lt;br /&gt;
== Revert to Default Configuration ==&lt;br /&gt;
&lt;br /&gt;
You can always recreate a fresh self-signed certificate and start fresh by running:&lt;br /&gt;
 proxmox-backup-manager cert update --force&lt;br /&gt;
 systemctl reload proxmox-backup-proxy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039;: Creating a new certificate requires you to update the fingerprint for all clients, else they will refuse connecting to the server!&lt;br /&gt;
&lt;br /&gt;
== Let&#039;s Encrypt using acme.sh ==&lt;br /&gt;
&lt;br /&gt;
Until Proxmox Backup Server handles issuing certificates from Let&#039;s Encrypt itself you can configure getting and refreshing certificates with external tools.&lt;br /&gt;
&lt;br /&gt;
This how-to shows how to get a publicly trusted certificate from Let&#039;s Encrypt using [https://github.com/acmesh-official/acme.sh acme.sh]&lt;br /&gt;
&lt;br /&gt;
The how-to only provides minimal instructions - read up on other options, which might be more fitting in your environment, for example, using the DNS challenge.&lt;br /&gt;
&lt;br /&gt;
=== Download and Installation ===&lt;br /&gt;
&lt;br /&gt;
You can obtain acme.sh directly from GitHub and install it to &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; account:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/acmesh-official/acme.sh.git&lt;br /&gt;
 cd acme.sh &amp;amp;&amp;amp; ./acme.sh --install --accountemail &amp;lt;your-email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Issuing and Configuration ===&lt;br /&gt;
&lt;br /&gt;
To write the files to the appropriate location, with fitting owner and mode for &amp;lt;code&amp;gt;domain.example&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 acme.sh --issue -d domain.example --standalone \&lt;br /&gt;
 --cert-file /etc/proxmox-backup/proxy.pem \&lt;br /&gt;
 --key-file /etc/proxmox-backup/proxy.key \&lt;br /&gt;
 --fullchain-file /etc/proxmox-backup/proxy.pem \&lt;br /&gt;
 --reloadcmd &amp;quot;chown root:backup /etc/proxmox-backup/proxy.pem /etc/proxmox-backup/proxy.key; chmod 640 /etc/proxmox-backup/proxy.pem /etc/proxmox-backup/proxy.key ; systemctl reload proxmox-backup-proxy&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TIP&#039;&#039;&#039;: With a trusted certificate clients do not require a fingerprint to verify the server. You can drop the fingerprint from all client configurations to avoid the need to update it every two-three months, after a new Let&#039;s Encrypt certificate is required.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Renewal ===&lt;br /&gt;
&lt;br /&gt;
In order to automatically refresh the certificates and to reload the proxy service you also need to append the reload command as &amp;lt;code&amp;gt;renew-hook&amp;lt;/code&amp;gt; in the generated cronjob (by running &amp;lt;code&amp;gt;crontab -e&amp;lt;/code&amp;gt;)&lt;br /&gt;
and editing so that the line looks like:&lt;br /&gt;
&lt;br /&gt;
 20 0 * * * &amp;quot;/root/.acme.sh&amp;quot;/acme.sh --cron --home &amp;quot;/root/.acme.sh&amp;quot;  --renew-hook &amp;quot;chown root:backup /etc/proxmox-backup/proxy.pem /etc/proxmox-backup/proxy.key; chmod 640 /etc/proxmox-backup/proxy.pem /etc/proxmox-backup/proxy.key ; systemctl reload proxmox-backup-proxy&amp;quot; &amp;gt; /dev/null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using Certificates from Proxmox VE ==&lt;br /&gt;
&lt;br /&gt;
If you have installed Proxmox Backup Server in parallel a system which also runs Proxmox VE, you can use the certificates you created with Proxmox VE&#039;s ACME integration also for the Proxmox Backup Server proxy.&lt;br /&gt;
&lt;br /&gt;
You only need to schedule the copying of the certificate and key after each renewal (e.g. by creating an appropriate cronjob or systemd-timer)&lt;br /&gt;
&lt;br /&gt;
The necessary commands for copying are:&lt;br /&gt;
 NODE=$(hostname)&lt;br /&gt;
 cp /etc/pve/nodes/${NODE}/pveproxy-ssl.pem /etc/proxmox-backup/proxy.pem&lt;br /&gt;
 cp /etc/pve/nodes/${NODE}/pveproxy-ssl.key /etc/proxmox-backup/proxy.key&lt;br /&gt;
 chmod 640 /etc/proxmox-backup/proxy.key /etc/proxmox-backup/proxy.pem&lt;br /&gt;
 chgrp backup /etc/proxmox-backup/proxy.key /etc/proxmox-backup/proxy.pem&lt;br /&gt;
 systemctl restart proxmox-backup-proxy.service&lt;br /&gt;
&lt;br /&gt;
[[Category:HOW-TO]]&lt;/div&gt;</summary>
		<author><name>S.ivanov</name></author>
	</entry>
</feed>