How to Upgrade Proxmox 7 to 8
Proxmox 8.0 has been released (June, 22, 2023) and includes several new features and a Debian version upgrade. Among the changes are:
- Debian 12 âBookwormâ, but using a newer Linux kernel 6.2
- QEMU 8.0.2, LXC 5.0.2, ZFS 2.1.12
- Optional Text mode installer (TUI)
- New default CPU type x86-64-v2-AES for VMs
- Ceph Quincy 17.2.6 and a new, stable Ceph Enterprise repository
- Authentication realm sync jobs
- ACL for network resources
- Resource mappings between PCI(e) or USB devices and nodes in a cluster
- and moreâŠ.
Many have been asking how to upgrade, so I decided to put together an easy-to-follow post to get your Proxmox server upgraded to 8!
Preparing the Upgrade to Proxmox 8
This might go without saying, but youâll want to be sure you back up your Proxmox serverâs configs as well as any virtual machines running on thi server. After youâve done that, youâll need to check to be sure you are running at least 7.4.15 or newer (If you need to upgrade from 6 to 7, see my post on how to do this). If you arenât sure which version you are running, you can run this to check:
1
pveversion
This should output something similar to:
1
pve-manager/7.4-15/a5d2a31e (running kernel: 5.15.108-1-pve)
Next weâll want to run an upgrade script to check to if there are any potential issues during the upgrade process. Donât worry, this does not execute anything other than checks and is safe to run multiple times.
You can run it by executing:
1
pve7to8
You can also run it with all checks enabled by executing:
1
pve7to8 --full
You should see something similar to the following in the output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
â ~ pve7to8 --full
= CHECKING VERSION INFORMATION FOR PVE PACKAGES =
Checking for package updates..
PASS: all packages up-to-date
Checking proxmox-ve package version..
PASS: proxmox-ve package has version >= 7.4-1
Checking running kernel version..
PASS: running kernel '5.15.108-1-pve' is considered suitable for upgrade.
= CHECKING CLUSTER HEALTH/SETTINGS =
PASS: systemd unit 'pve-cluster.service' is in state 'active'
PASS: systemd unit 'corosync.service' is in state 'active'
PASS: Cluster Filesystem is quorate.
Analzying quorum settings and state..
INFO: configured votes - nodes: 3
INFO: configured votes - qdevice: 0
INFO: current expected votes: 3
INFO: current total votes: 3
Checking nodelist entries..
PASS: nodelist settings OK
Checking totem settings..
PASS: totem settings OK
INFO: run 'pvecm status' to get detailed cluster status..
= CHECKING HYPER-CONVERGED CEPH STATUS =
SKIP: no hyper-converged ceph setup detected!
= CHECKING CONFIGURED STORAGES =
PASS: storage 'backups' enabled and active.
PASS: storage 'fast10' enabled and active.
PASS: storage 'local' enabled and active.
INFO: Checking storage content type configuration..
PASS: no storage content problems found
PASS: no storage re-uses a directory for multiple content types.
= 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 'pvescheduler.service' is in state 'active'
PASS: systemd unit 'pvestatd.service' is in state 'active'
INFO: Checking for supported & active NTP service..
WARN: systemd-timesyncd is not the best choice for time-keeping on servers, due to only applying updates on boot.
While not necessary for the upgrade it's recommended to use one of:
* chrony (Default in new Proxmox VE installations)
* ntpsec
* openntpd
INFO: Checking for running guests..
WARN: 6 running guest(s) detected - consider migrating or stopping them.
INFO: Checking if the local node's hostname 'draco' is resolvable..
INFO: Checking if resolved IP is configured on local node..
PASS: Resolved node IP '192.168.0.11' configured and active on single interface.
INFO: Check node certificate's RSA key size
PASS: Certificate 'pve-root-ca.pem' passed Debian Busters (and newer) security level for TLS connections (4096 >= 2048)
PASS: Certificate 'pve-ssl.pem' passed Debian Busters (and newer) security level for TLS connections (2048 >= 2048)
INFO: Checking backup retention settings..
PASS: no backup retention problems found.
INFO: checking CIFS credential location..
PASS: no CIFS credentials at outdated location found.
INFO: Checking permission system changes..
INFO: Checking custom role IDs for clashes with new 'PVE' namespace..
PASS: no custom roles defined, so no clash with 'PVE' role ID namespace enforced in Proxmox VE 8
INFO: Checking if LXCFS is running with FUSE3 library, if already upgraded..
SKIP: not yet upgraded, no need to check the FUSE library version LXCFS uses
INFO: Checking node and guest description/note length..
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 if the suite for the Debian security repository is correct..
INFO: Checking for existence of NVIDIA vGPU Manager..
PASS: No NVIDIA vGPU Service found.
INFO: Checking bootloader configuration...
SKIP: not yet upgraded, no need to check the presence of systemd-boot
SKIP: No containers on node detected.
= SUMMARY =
TOTAL: 33
PASSED: 27
SKIPPED: 4
WARNINGS: 2
FAILURES: 0
ATTENTION: Please check the output for detailed information!
As you can see there are a few warnings but nothing failing. The warnings I have listed are ones related to time packages (which I am going to ignore) and one related to machines still running. To resolve the second warning I will shutdown all the machines before I upgrade.
Upgrade APT Packages
Weâll want to be sure that weâve applied all updates to our current installation before upgrading to 8. You can do this by running:
1
2
apt update
apt dist-upgrade
If there are updates, I recommend applying them all, rebooting, and upgrading again if needed. Repeat this until there arenât any up updates to apply.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
â ~ apt update
Hit:1 http://security.debian.org bullseye-security InRelease
Hit:2 http://download.proxmox.com/debian/pve bullseye InRelease
Hit:3 http://ftp.us.debian.org/debian bullseye InRelease
Hit:4 http://ftp.us.debian.org/debian bullseye-updates InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
â ~ apt dist-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Updating APT Repositories
Well need to update our Debian and Proxmox apt repositories to Bookworm:
1
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
If youâre also using the âno-subscriptionâ repository, youâll also want to update those too:
1
sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list.d/pve-install-repo.list
Mine is actually at /etc/apt/sources.list.d/pve-no-enterprise.list
so I will run instead:
1
sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list.d/pve-no-enterprise.list
You can verify these files by checking to be sure they were updated with bookworm
:
1
cat /etc/apt/sources.list
1
cat /etc/apt/sources.list.d/pve-install-repo.list
or for me personally:
1
cat /etc/apt/sources.list.d/pve-no-enterprise.list
You should see something like this:
1
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
Remember, you are just verifying the sed
replaced bullseye
with bookworm
in each file.
Upgrading Ceph
If youâre running ceph
youâll want to check the Proxmox 7 to 8 Upgrade Wiki for a few additional steps. I am not running ceph
so I will skip this part.
Upgrade the system to Debian Bookworm and Proxmox VE 8.0
Now all thatâs left is updating the system! If youâve made it this far itâs now time to upgrade! I would recommend stopping or migrating any virtual machines and LXC containers before proceeding.
1
2
apt update
apt dist-upgrade
This step may take some time depending on your internet speed and server resources.
The upgrade might ask you to approve changes to configurations files. I am going to defer to the Proxmox documentation for this step, which is shown below:
Itâs suggested to check the difference for each file in question and choose the answer accordingly to whatâs most appropriate for your setup. Common configuration files with changes, and the recommended choices are:
- /etc/issue -> Proxmox VE will auto-generate this file on boot, and it has only cosmetic effects on the login console.
- Using the default âNoâ (keep your currently-installed version) is safe here.
- /etc/lvm/lvm.conf -> Changes relevant for Proxmox VE will be updated, and a newer config version might be useful.
- If you did not make extra changes yourself and are unsure itâs suggested to choose âYesâ (install the package maintainerâs version) here.
- /etc/default/grub -> 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.
- Itâs recommended to check the difference for any relevant change, note that changes in comments (lines starting with #) are not relevant.
- If unsure, we suggested to selected âNoâ (keep your currently-installed version)
Verifying the Upgrade
After upgrading all packages you can verify the upgrade by running:
1
pve7to8
If all went well, you should see everything pass (or with minimal warnings).
You can now reboot your system.
After rebooting and logging into the system for the first time, youâll want to clear your browserâs cache for pve web, or just hard reload:
- Windows (CTRL + SHIFT + R)
- macOS (â + Alt + R)
If you have more servers in your cluster, repeat this for each server!
Enjoy Proxmox 8!
Check to be sure you see Proxmox 8 here!
Join the conversation
If you were looking to upgrade to Proxmox 8 today, I wrote a quick guide to help! I've already tested it on my production cluster and it works great!https://t.co/NFqv0XXyWB
— Techno Tim (@TechnoTimLive) June 25, 2023
Links
âïž See all the hardware I recommend at https://l.technotim.live/gear
đ Donât forget to check out the đLaunchpad repo with all of the quick start source files