Upgrading Proxmox Debian from 6.4 to 7

I was running upgrades one day and noticed in Proxmox that there was an error about being on an unsupported version. I hadn’t upgraded major versions since I setup the system, so now was the time to upgrade.

The first stop was of course to the Proxmox wiki which has a good article on the upgrade path and how to traverse it. This starts with getting the system fully upgraded on the currently installed version.

root@pve:/# apt-get update
Get:1 http://security.debian.org buster/updates InRelease [65.4 kB]
Get:2 http://ftp.us.debian.org/debian buster InRelease [122 kB]
Hit:3 http://download.proxmox.com/debian/corosync-3 stretch InRelease
Hit:4 http://download.proxmox.com/debian/pve buster InRelease
Reading package lists… Done
E: Repository 'http://security.debian.org buster/updates InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
N: Repository 'http://ftp.us.debian.org/debian buster InRelease' changed its 'Version' value from '10.10' to '10.11'
E: Repository 'http://ftp.us.debian.org/debian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
root@pve:/# apt-get update --fix-missing
Get:1 http://security.debian.org buster/updates InRelease [65.4 kB]
Get:2 http://ftp.us.debian.org/debian buster InRelease [122 kB]
Hit:3 http://download.proxmox.com/debian/corosync-3 stretch InRelease
Hit:4 http://download.proxmox.com/debian/pve buster InRelease
Reading package lists… Done
E: Repository 'http://security.debian.org buster/updates InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
N: Repository 'http://ftp.us.debian.org/debian buster InRelease' changed its 'Version' value from '10.10' to '10.11'
E: Repository 'http://ftp.us.debian.org/debian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
root@pve:/# ^C

This was a surprising start to my upgrade adventure, but luckily has an easy fix.

apt-get --allow-releaseinfo-change update

With that out of the way, we can continue working to updatjng our system to the latest packages before upgrading versions.

root@pve:/# apt-get --allow-releaseinfo-change update
Get:1 http://security.debian.org buster/updates InRelease [65.4 kB]
Get:2 http://ftp.us.debian.org/debian buster InRelease [122 kB]
Get:3 http://security.debian.org buster/updates/main amd64 Packages [308 kB]
Get:4 http://security.debian.org buster/updates/main Translation-en [163 kB]
Get:5 http://ftp.us.debian.org/debian buster/main amd64 Packages [7906 kB]
Hit:6 http://download.proxmox.com/debian/corosync-3 stretch InRelease
Hit:7 http://download.proxmox.com/debian/pve buster InRelease
Get:8 http://ftp.us.debian.org/debian buster/main Translation-en [5968 kB]
Get:9 http://ftp.us.debian.org/debian buster/contrib amd64 Packages [50.1 kB]
Fetched 14.5 MB in 6s (2319 kB/s)
Reading package lists… Done
N: Repository 'http://security.debian.org buster/updates InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: Repository 'http://ftp.us.debian.org/debian buster InRelease' changed its 'Version' value from '10.10' to '10.11'
N: Repository 'http://ftp.us.debian.org/debian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'

Now I was able to then apt-get dist-upgrade. Onto the bigger upgrade effort.

root@pve:~# pve6to7 --full
= CHECKING VERSION INFORMATION FOR PVE PACKAGES =

Checking for package updates..
WARN: updates for the following packages are available:
pve-kernel-5.4, pve-kernel-5.4.157-1-pve, corosync, libcmap4, libwbclient0, libquorum5, libicu63, samba-libs, libvotequorum8, samba-common, libcfg7, libknet1, libsmbclient, smbclient, pve-kernel-helper, libnss3, libcpg4, libcorosync-common4

Checking proxmox-ve package version..
PASS: proxmox-ve package has version >= 6.4-1

Checking running kernel version..
PASS: expected running kernel '5.4.143-1-pve'.

= CHECKING CLUSTER HEALTH/SETTINGS =

SKIP: standalone node.

= CHECKING HYPER-CONVERGED CEPH STATUS =

SKIP: no hyper-converged ceph setup detected!

= CHECKING CONFIGURED STORAGES =

PASS: storage 'Backup-Share2' enabled and active.
PASS: storage 'local' enabled and active.
PASS: storage 'local-lvm' enabled and active.
PASS: storage 'local-prime' enabled and active.

= MISCELLANEOUS CHECKS =

INFO: Checking common daemon services..
PASS: systemd unit 'pveproxy.service' is in state 'active'
PASS: systemd unit 'pvedaemon.service' is in state 'active'
PASS: systemd unit 'pvestatd.service' is in state 'active'
INFO: Checking for running guests..
WARN: 14 running guest(s) detected - consider migrating or stopping them.
INFO: Checking if the local node's hostname 'pve' is resolvable..
INFO: Checking if resolved IP is configured on local node..
PASS: Resolved node IP '192.168.1.41' configured and active on single interface.
INFO: Checking backup retention settings..
WARN: storage 'local' - parameter 'maxfiles' is deprecated with PVE 7.x and will be removed in a future version, use 'prune-backups' instead.
WARN: storage 'local-prime' - parameter 'maxfiles' is deprecated with PVE 7.x and will be removed in a future version, use 'prune-backups' instead.
INFO: checking CIFS credential location..
PASS: no CIFS credentials at outdated location found.
INFO: Checking custom roles for pool permissions..
INFO: Checking node and guest description/note legnth..
PASS: All node config descriptions fit in the new limit of 64 KiB
PASS: All guest config descriptions fit in the new limit of 8 KiB
INFO: Checking container configs for deprecated lxc.cgroup entries
PASS: No legacy 'lxc.cgroup' keys found.
INFO: Checking storage content type configuration..
PASS: no problems found
INFO: Checking if the suite for the Debian security repository is correct..
INFO: Make sure to change the suite of the Debian security repository from 'buster/updates' to 'bullseye-security' - in /etc/apt/sources.list:4
SKIP: No containers on node detected.

= SUMMARY =

TOTAL: 22
PASSED: 15
SKIPPED: 3
WARNINGS: 4
FAILURES: 0

ATTENTION: Please check the output for detailed information!
root@pve:~#

Following everything from the wiki after that and things went smoothly. I was able to get my upgrade drive and this got me to version 7.1-8.

Conclusion

The upgrade went smoother than I expected. My system was fully upgraded and up to date afterwards and everything was running nominally. I may not have a very complex configuration but I was very happy to have it upgrade cleanly.